[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