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?

Aren Cambre - June 19, 2009 - 02:54

Looks like none of these sort nodes by taxonomy vocabulary's natural ordering or weight? Am I reading correctly?

No

NancyDru - June 19, 2009 - 13:53

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]

Oops, did you mean to stop

Aren Cambre - June 19, 2009 - 14:35

Oops, did you mean to stop typing at "maybe"? :-)

Oops

NancyDru - June 19, 2009 - 15:46

*cough*views*cough* :D

naught101 - August 6, 2009 - 08:10

*cough*views*cough*

:D

Views cannot natively do what

Aren Cambre - August 6, 2009 - 14:02

Views cannot natively do what I asked about above.

Well, I wasn't answering your

naught101 - August 7, 2009 - 01:18

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,

Aren Cambre - August 7, 2009 - 01:37

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,

naught101 - August 7, 2009 - 04:11

That order is Date, Descending (newest first), exactly the same as views. Look: http://drupal.org/taxonomy/term/1766

If you visit

Aren Cambre - August 7, 2009 - 13:47

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

NancyDru - August 7, 2009 - 15:37

Taxonomy List can do that.

Reopened #283558: Views

Aren Cambre - August 7, 2009 - 16:10

Reopened #283558: Views integration to get more info.

Confusing!

naught101 - August 8, 2009 - 00:57

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

NancyDru - August 8, 2009 - 02:57

He wants the nodes listed in the order of the terms.

* Term 1
* Node 101
* Node 102
* Term 2
* Node 203
* Node 204
etc.

Practical example for its main page

DanielTheViking - August 29, 2009 - 22:17

Suggestion: That is a practical example to place on the Taxonomy_list main page.

Book module?

BenStallings - October 22, 2009 - 21:09

Thank you for this page. However, I'm not clear on why the core Book module is not included in this comparison.

Because

NancyDru - October 27, 2009 - 19:09

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.

Thanks, Nancy, but if I knew

BenStallings - October 27, 2009 - 20:04

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

NancyDru - October 28, 2009 - 14:18

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.

nodeorder sent my site offline

nerkn - November 8, 2009 - 01:29

If you add any query you have a join no server can stand!

 
 

Drupal is a registered trademark of Dries Buytaert.