Currently, Node relativity implements a directed graph, where the children of a node form a set. It would be nice if each content-type had the option of having an order among the children. So I could say that my content type Document does not just have Chapters {A,B,C} as children but the tree chapters (A,B,C) in this order.

The easiest solution would be to assign weights to the edges of the graph, without the condition that all weights of a node's children are distinct (not necessarily an order, but a preorder, see http://en.wikipedia.org/wiki/Preorder). In this way the user is responsible for maintaining the real order (if she cares). (However, I'd prefer a strict ordering.)

Comments

JohnG-1’s picture

+1 ... I had thought about this in connection with building a pager feature for Relativity (I abandoned the project when Cloudy found a way to get Custom Pager module working with Relativity - http://drupal.org/node/125025 :). My plan was to create a new field in the Relativity Table containing an integer representing each child's sort-weight in that relationship. By default - as you say - this value can be anything because if all sort-weights are equal, the list will be returned in the order that they are found in the relativity table. Because each Parent-Child relationship is a distinct entry in the table, setting a child's sort-weight under one parent will not affect it's sort-weight in other relationships. I wanted to call the parent-node's UI for editing the sort-weight the 'Sibling Rivalry' widget ;)

a_c_m’s picture

I'm putting a bounty on this here : http://drupal.org/node/206236
If you've got a few $'s to spare and want this functionality chime in on the thread and pledge some cash :)