I really wanted to see this functionality but I all saw was talk so I  
scratched my own itch.  Code wise it is pretty clean but the UI is  
functional but ugly.  All the movements are via the page index page  
with a little ajax for #3 and #4.  It works on the "styled blog" test  
site.

http://dev.radiantcms.org:9007/radiant/ticket/179

This adds five movements to pages:
Sorts
#1 Sort up in container
#2 Sort down in container
Reparenting
#3 Become a child of one of my parents siblings
#4 Become a child of one of my siblings
#5 Become a sibling of my parent

Sorting is via a sort attribute. On creation each page is assigned a  
sort_id from a bottomless pool. Changes in the sort are via swaping  
sort_id's with the next page in the proper direction.  The original  
order of the sort presently used is maintained to some degree as the  
sort attribute is assigned sequentially over time with has the same  
effect of the ASC timestamp sort.

Reparenting is constrained to those movements that make sense. The  
root node can not be preparented. moves that there is no where to  
move to are also blocked at the UI level

Steps needed to use this:
# run migrate to add column and add sort table
# set sort id's for existing pages " update pages set sort_id = id;"  
wroks on postgresql and maintains the orginal sorting order
# set the sequence used by the sort table to the id after the last  
assigned one in the pages table. OR for other DB file the sort table  
to the same point as pages table # put the icons inplace.

Issues/future work
The icons I used are ugly.
Does not stop reparenting to virtual pages.
Moves could be made to display via AJAX without refreshing page.

_______________________________________________
Radiant mailing list
[email protected]
http://lists.radiantcms.org/mailman/listinfo/radiant

Reply via email to