Hi Hanno, Thanks for your hints. I missed plone.folder, I'll have a careful look at it before redoing something that has already been done.
On Sat, Feb 26, 2011 at 8:28 PM, Hanno Schlichting <ha...@hannosch.eu> wrote: > On Fri, Feb 25, 2011 at 3:41 PM, Danny Navarro <j...@dannynavarro.net> wrote: >> I also suspect that for folders with lots of items a list for order >> may not be the most efficient. What would be the persistent equivalent >> to an efficient list with ZODB? An IOBTree? > > We use a IOBTree in plone.folder for storing the ordering. It maps > object position (0, 1, ...) to the id of the object. > > Making it all insert/move/reordering operations efficient is a bit of > work. If you have a tree of 1000 items and move item 40 up 10 > positions, you only want to change items 30 - 40 and not reorder the > entire tree. Maybe you don't have those kinds of use-cases at first. > In Plone we often have folders containing 10.000 or more items. > >> I think I can to modify repoze.folder to support this behavior. Would >> a patch for repoze.folder be welcomed? I know for complex sortings it >> would be better to use repoze.catalog but I see it as the default >> order folder. > > If you have one default ordering for a folder, it's actually better to > store it on the folder. Keeping it all local to the folder is less > overhead than doing a full-blown catalog search. If you want to sort > the folder items in different ways, then the catalog approach makes > more sense. In Plone we have fake index to sort by objection position, > which doesn't store extra data, but uses the ordering information of > each folder instead. That way you can still use the catalog, without > the extra data overhead. > > Hanno > -- Danny Navarro | http://dannynavarro.net _______________________________________________ Repoze-dev mailing list Repoze-dev@lists.repoze.org http://lists.repoze.org/listinfo/repoze-dev