Dave,
Interesting comments indeed.
What I am mostly thinking about is the API and UI for manipulating this stuff, but the back-end is most certainly worth discussing too. If you or anyone else have compared the implementations and chosen one over the other, I'd be interested to know your reasoning behind the decision.
For my own purposes (curriculum's, even), I'm using acs objects and a flat (non branched) representation of the "object order" via a sort_order column (in some packages referred to as "sort_key") ...
What about the value that goes into the sort_order column, should it be generated from a sequence or a "max(sort_order) + 1" hack?
I thought I'd toss this question on the forum so if folks had a preference for one or another solution (using objects), I could at least narrow down on the amount of code I'd have to study. 😉
Thanks Dave!