Last updated April 20, 2013. Created by NancyDru on March 11, 2009.
Edited by netol, joetsuihk, technicalknockout, hansfn. Log in to edit this page.
Comparison of Node Ordering Modules
The standard ordering for lists of nodes in Drupal is first by the "sticky" attribute and then by the created date. Many content modules have some facility to change this ordering, but only for their content type. The modules described here attempt to provide a more controllable ordering in a variety of ways.
| Feature | Outline Designer | Weight | Nodeorder | Nodequeue | DraggableViews | Flag Weights | Sortable Grid Views Plugin | JQGRID | ||
|---|---|---|---|---|---|---|---|---|---|---|
| Drupal-related | ||||||||||
| Drupal 7.x | Beta released | ![]() |
![]() |
Beta released | ![]() |
![]() |
dev | ![]() |
||
| Drupal 6.x | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
dev | ![]() |
||
| Drupal 5.x | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||
| Last official release | 2013-Feb-04 | 2013-Feb-05 | 2012-Dec-13 | 2011-Sep-20 | 2012-May-29 | 2012-Oct-10 | 2012-Oct-19 | 2012-Aug-21 | ||
| Usage (as of October 2012) | ~700 | ~12000 | ~1700 | ~30000 | ~15000 | ~700 | ~250 | ~50 | ||
| Documentation | Handbook | Handbook README.txt |
README.txt | Handbook README.txt |
Handbook README.txt |
Handbook README.txt |
README.txt | |||
| Demonstration | Demo | No | No | No | Demo | No | No | No | ||
| Architecture | Upgrades Book outline interface | Sticky-encoding | Adds a field to term_node table | Views style plugin | Add-on to Flags module | Views style plugin | Views style plugin | |||
| Additional database tables | 0 - purely usability / functionality upgrade | 2 - weight_settings & weight_weights | 0 - adds a field to term_node table | Yes | 2 by default | 0 - adds to flag module table | Yes | Yes | ||
| Services provided | ||||||||||
| Reordering page | Drag and drop, duplication of book outlines, AJAX version of book module, context menu | Uses core node admin page | Drag and drop | Drag and Drop interface for D6, Custom Javascript interface for D5 | Any view | API only, or see integrating with draggable views | Drag and drop | Drag and drop | ||
| Feature blocks | Inherited from book module | N/A | None | Inherited from views | None | None | None | |||
| Supports Managing Translated Nodes | Yes, either by tying translations to the original or by ignoring translations and letting admins manage them as separate nodes | |||||||||
| Security | Drupal core-optional books module | Drupal core, 'assign node weight', 'administer nodes', 'administer site configuration' | Drupal core | Separates permissions for ordering nodes from editing them | Views permission, plus 'Allow Reordering' | Views permission | Views permission | |||
| Settings | Yes | Yes | Yes | Yes | Yes | N/A | Yes | Yes | ||
| Views support | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||
| Translation template supplied | ![]() |
![]() |
![]() |
![]() |
![]() |
N/A | N/A | |||
Outline Designer
The Outline Designer is an enhancement to the core-optional books module packaged with Drupal. It provides a drastically improved UI as well as additional functionality that can help books be a more attractive, simple option then fully configuring other projects. This in use with projects like Menu Block can help you structure site outlines and node hierarchies rapidly. This project has been created as part of the ELMS initiative.
For more info please see the Outline Designer project page.
Weight
The Weight module uses the "sticky" attribute by altering its value to include the node's weight. This has the advantage of making the standard node ordering automatic with no further changes. The disadvantage is that modules that check the sticky attribute for 0 or 1 (FALSE or TRUE) may not work properly, although the module will decode the two values upon a full node load.
For more info please see the Weight project page.
Nodeorder
Using taxonomy, individual nodes can be classified multiple ways. See
Taxonomy: A way to organize content for a comprehensive description. To continue the analogy from there, Nodeorder allows you to say that "this node should appear towards the top of the list of composers but towards the bottom of the list of seventeenth century."
Upon installation, Nodeorder adds a column called weight_in_tid to the term_node table. On each Vocabulary's edit page, Nodeorder adds an "Orderable" checkbox. If this is checked, users with the correct permissions will be able to order nodes within any of the terms in that vocabulary.
For more info please see the Nodeorder project page.
Nodequeue
Provides a simple UI to manually order any queue. Additionally, it allows nodes to be added and removed from queues without needing edit permissions to the node. Nodes can be added to queues either from a queue management tab or by links on the node teaser. Nodequeue provides a robust Smartqueue API so module developers can create customized queues that are specific to particular users, or to Organic Groups.
For more info please see the Nodequeue project page
DraggableViews
Rows of a view can be moved via drag-and-drop to build hierarchical structures. Child nodes of parents can be hidden via javascript. Paging is fully supported since rows can be dragged from one page to another.
The default implementation uses a database table to save the information. Additional handlers can be implemented to save the information elsewhere. Currently there are two additional implementations: CCK-Handler and Flag-Weights-Handler.
For more info please see the DraggableViews project page.
Flag Weights
Flag Weights module is an add-on to the excellent Flag module, that adds the ability to set a weight against each flagged item. The module does not provide any UI as such, other than integrating with Draggable Views module to allow drag'n'drop reordering or flagged content. This might be used for prioritising a wishlist, etc.
For more info please see the Flag Weights project page.
Sortable Grid Views Plugin
Provides a simple UI to manually order any grid styled view where items can be moved via drag-and-drop. Sortable Grid Views Plugin is very similar in its goals to Draggable views, yet a lot simpler as there is no hierarchy management. It doesn't depend on Draggable Views though.
For more info please see the Sortable Grid Views Plugin project page
JQGRID - View integration
This module provides views integration for the jqGRid jQuery plugin, which provides advanced interaction controls to HTML tables such as dynamic pagination, on-the-fly filtering, and column sorting and inline editing
This module also support AJAX to handle very large table.
For more info please see the JQGRID - View integration


Comments
Book module?
Thank you for this page. However, I'm not clear on why the core Book module is not included in this comparison.
Because
A) it is not a contrib.
B) it is not a more general purpose node ordering feature.
However, if you feel strongly about it, join the Doc team and add it to the page.
NancyDru
Thanks, Nancy, but if I knew
Thanks, Nancy, but if I knew enough about this issue to be on the doc team, I wouldn't be looking for an answer to this question, because I'd already know the answer. :-) I'm asking the question, not because I want to contribute the answer, but rather because I came here looking for the answer.
I came to this page to find out how various node-ordering modules compare to the Book module, which I'm already using and understand. I am not using and do not understand the other modules you're describing in this page. The page helps me to understand how they differ from each other, but not how they differ from the Book module. The page also doesn't say it is limited to contrib modules, nor what is meant by a "more general purpose node ordering feature." More general purpose than what? The Book module? Or something else? I'm confused.
Thanks again.
Yes
Yes, more general purpose than Book. Right now, RealLife™ is screaming at me, so I don't have the time to devote to adding Book here (frankly, it was an oversight when this was started because not that many people use Book).
The only one here that I personally am responsible for is Weight, which I took over some time ago. It is a relatively simple module that adds weighting (similar to Book) to any node. It does so by encoding the weight into the Sticky field so that standard Drupal queries should work without any "fiddling." It's not perfect because some modules don't do "standard" queries, and some actually look at the sticky field and get confused. But those are few, and easily fixed when identified.
NancyDru
Mention Views?
Maybe it's worth while to mention Views in the introduction? You can use Views to order nodes (by any parameter). I could have added something myself, but I haven't used any of the node ordering modules so I can't really compare them with Views ...
Also
Also one-to-many relationships. Anything relying on book can only be in a hierarchy once. Nodequeue, for instance, allows nodes to be in multiple hierarchies.
entities?
It would be interesting to know which of these modules support entities.
For what i have learned, draggable views, flags, nodequeue and flags (they adjust to my needs) dont support them yet.
thanks for the documentation :)
//trying to answer one question for each one that i make.
//this way, drupal will be more friendly and strong