Re: datatree_order and datatree_parents questions
"Heath S. Hendrickson" <[email protected]>
| Newsgroups | gmane.comp.horde.ansel |
|---|---|
| Message-ID | <[email protected]> |
Chuck Hagenbuch wrote: > Quoting "Heath S. Hendrickson" <[email protected]>: > >> 1) Add the image to the start of the gallery >> Actually, this like the easiest to implement as the datatree >> function reorder() will take care of the incrementing of all the >> existing images order value automatically. I'll just have to make some >> tweaks to the delete function to make sure that we don't leave any gaps >> when an image is deleted (and this may not be necessary, but I haven't >> looked yet). > > > reorder() actually will now refuse to work on objects without parents, > so this > won't work. > And I kept looking at that trying to figure out what that bit of code was doing... I read the comment about top-level and didn't think about it again. >> 2) Add the image to the end of the gallery > > > I'd prefer this one. You have the number of images in the gallery - > any reason > you can't set the new order to numImages + 1? > Doh! I was sitting here trying to think up some cleaver way of doing this and didn't even think of the obvious. >> Can someone provide a little background on why the full lineage is >> stored and not just the direct ascendant? If it were only the direct >> parent, then it would make a number of things simpler, not the least of >> which are the image ordering issue I'm working on as well as the gallery >> and image move functions. > > > It'd also necessitate a lot of recursion to traverse the tree. Right > now you can > get a full tree, no matter the depth, with a constant number of > queries. This > won't be changing. > Fair enough. Coming into this late in the game, I'm just trying to understand as much as I can about why things are done the way they are. So to move a gallery, you'd just have to get the lineage of where you want it to go and make that the datatree_parent of the gallery, right? I know that there is move() function in the datatree driver, does that move the object and any children? h -- ansel mailing list - Join the hunt: http://horde.org/bounties/#ansel Frequently Asked Questions: http://horde.org/faq/ To unsubscribe, mail: [email protected]