Comparison of Node Ordering Modules
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 | Weight | Nodeorder | Nodequeue | DraggableViews | Flag Weights | ||||
|---|---|---|---|---|---|---|---|---|---|
| Drupal-related | |||||||||
| Drupal 6.x | ![]() |
![]() |
![]() |
![]() |
![]() |
||||
| Drupal 5.x | ![]() |
![]() |
![]() |
![]() |
![]() |
||||
| Drupal 4.7.x | ![]() |
![]() |
![]() |
![]() |
![]() |
||||
| Last official release | 2009-Apr-27 | 2009-Mar-04 | 2009-Aug-27 | 2009-Aug-29 | 2008-Oct-10 | ||||
| Documentation | Handbook README.txt |
README.txt | Handbook README.txt |
Handbook README.txt |
Handbook README.txt |
||||
| Demonstration | No | No | No | Demo | No | ||||
| Architecture | Sticky-encoding | Adds a field to term_node table | Views style plugin | Add-on to Flags module | |||||
| Additional database tables | 0 - uses node table's sticky column | 0 - adds a field to term_node table | Yes | 2 by default | 0 - adds to flag module table | ||||
| Services provided | |||||||||
| Reordering page | 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 | ||||
| Feature blocks | N/A | None | Inherited from views | 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, 'assign node weight', 'administer nodes', 'administer site configuration' | Drupal core | Separates permissions for ordering nodes from editing them | Views permission, plus 'Allow Reordering' | |||||
| Settings | Yes | Yes | Yes | Yes | N/A | ||||
| Views support | ![]() |
![]() |
![]() |
![]() |
![]() |
||||
| Translation template supplied | ![]() |
![]() |
![]() |
![]() |
N/A | ||||
Weight Design
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.
Nodeorder Design
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.
Nodequeue Design
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 Design
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.
Flag Weights Design
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.



Sort by taxonomy vocabulary?
Looks like none of these sort nodes by taxonomy vocabulary's natural ordering or weight? Am I reading correctly?
No
You may be missing the point here. These modules are to allow you to control the order in which nodes are presented rather than an arbitrary Drupal way. But actually, I know of no module that presents nodes according to Taxonomy except maybe Taxonomy List.
[Edited by kiamlaluno to fix the tag IMG]
NancyDru
Oops, did you mean to stop
Oops, did you mean to stop typing at "maybe"? :-)
Oops
Taxonomy List
NancyDru
*cough*views*cough* :D
*cough*views*cough*
:D
Views cannot natively do what
Views cannot natively do what I asked about above.
Well, I wasn't answering your
Well, I wasn't answering your question, but now I will: the default sort for taxonomy (and the front page) is just by date/time. Views also sorts this way by default. If that's not what you mean, you need to make your question clearer.
If you visit a taxonomy,
If you visit a taxonomy, you'll see the terms in a particular order. I'd like to have nodes display in that same order.
That order is Date,
That order is Date, Descending (newest first), exactly the same as views. Look: http://drupal.org/taxonomy/term/1766
If you visit
admin/content/taxonomy/taxonomyId shows terms sorted by weight. That's what I'm talking about--how to display nodes but using their respective taxonomy items' weight for primary sort.
Yes
Taxonomy List can do that.
NancyDru
Reopened #283558: Views
Reopened #283558: Views integration to get more info.
Confusing!
Ahh, confusing. Your first question was about NODES (what this page is about), then it morphed into TERMS. They are two very different things. You CAN sort taxonomy terms by weight.
Go to admin/build/views/add and select "term", then in the new view, add the field "Taxonomy: Term" and any other fields. The default sort is "weight", and you can change it in "Sort" by adding the "Taxonomy: Weight" field. You can also sort nodes by "Taxonomy: Weight" in much the same way.
No
He wants the nodes listed in the order of the terms.
* Term 1
* Node 101
* Node 102
* Term 2
* Node 203
* Node 204
etc.
NancyDru
Practical example for its main page
Suggestion: That is a practical example to place on the Taxonomy_list main page.
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
nodeorder sent my site offline
If you add any query you have a join no server can stand!
şarkı sözleri