[Grok-dev] Re: Performance of OrderedContainer
Martin Aspeli
optilude at gmx.net
Thu Jun 19 16:44:39 EDT 2008
Gary Poster wrote:
> On Jun 18, 2008, at 4:11 AM, Martijn Faassen wrote:
>> For inspiration, we need to study
>> http://svn.plone.org/svn/plone/plone.folder/
>>
>> We also need to investigate whether blist could be made to make
>> sense i this role after all.
>
> I just glanced at it. The API they have (with deltas and such) would
> work well with blist. The adapter/annotation approach would also
> allow plug-in replacement with a blist approach, should such be desired.
>
> The default implementation of the ordering adapter in this file uses
> PersistentList (see _order near the bottom), so without a different
> adapter, I disagree that this implementation would be appropriate for
> very large collections.
I don't think we knew of anything better than a PersistentList when we
wrote it. If you're saying a blist would be better, then I'm all for it.
> With a different adapter, the API looks good to me, and I like the
> adapter idea for providing ordering. Unfortunately, the license is
> GPL (http://svn.plone.org/svn/plone/plone.folder/trunk/docs/
> LICENSE.GPL), so the API itself may be tainted (or not, no idea, but
> my lack of ability to know is part of the point). I thought code in
> the "plone" namespace was supposed to be ZPL, and "plone.app" was
> GPL? If it were ZPL, it could potentially just be snarfed up directly
> by grok, IMO.
It probably shouldn't be GPL. We tend to prefer LGPL or BSD for things
in plone.* rather than ZPL, which Plone for various historical reasons
rarely uses. I think both LGPL and BSD should be compatible with your
needs, though, and I'm sure we can relicense it easily enough.
It may, however, be that plone.folder does too much Zope 2-like stuff so
you wouldn't want to use it directly. Feel free to borrow from it as
much as you'd like, though.
Cheers,
Martin
--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book
More information about the Grok-dev
mailing list