[Framework-Team] Re: [Collective-checkins] r93885 - in Products.PlonePAS/branches/plip9305-fullname/Products/PlonePAS: tests tools

Alec Mitchell apm13 at columbia.edu
Fri Aug 7 14:00:09 UTC 2009


On Fri, Aug 7, 2009 at 3:28 AM, Wichert Akkerman<wichert at wiggy.net> wrote:
> On 8/7/09 12:20 , Ralph Jacobs wrote:
>>
>> Wichert Akkerman wrote:
>>>
>>> On 8/7/09 12:13 , Wichert Akkerman wrote:
>>>>
>>>> I'm afraid I also don't buy the lookup mechanism mentioned in the PDF:
>>>> you are essentialy creating a persistent cache system, which means that
>>>> suddenly page views can trigger ZODB writes, which is very bad for high
>>>> performance sites. It also will miss all user changes created directly
>>>> in external user sources such as LDAP, AD and SQL databases, leading to
>>>> incorrect and possibly correct behaviour.
>>>
>>> That should be 'possibly confusing'
>>>
>>> Wichert.
>>>
>> Hi Wichert,
>>
>> This all has been discussed in the PLIP proposal, so please contact the
>> framework team for that.
>
> I just checked the history of the trac ticket since I was surprised the
> framework missed this. The framework team has only voted on the idea of
> using a users full name instead of the userid in the Plone user interface.
> The implementation proposal was added three weeks, and will be taken into
> account in the next review round when the PLIP implementations will be
> reviewed. So please consider this a very early (and very unofficial since I
> am not a framework team member) review comment: I do like the idea to use a
> users full name, but I do see some problems with the current implementation
> strategy that should be addressed.

Please listen to Wichert's advice here, a persistent cache of user
data will not be considered acceptable.  Make an uncached
implementation and benchmark some listings vs. stock Plone.  Include
those benchmarks as part of the PLIP documentation.  If there is a
performance issue, then it can be addressed during review or in
discussions with the framework team.

Using the existing cacheability of the PAS calls could be advantageous
(though it is likely to lead to out-of-sync ZEO client caches).
Alternatively, plone.memoize could be used to provide a single request
cache or a ramcache with a short, configrable expiration time.  In any
case, it's too early in the implementation to be adding caches without
benchmarks.

Alec




More information about the Framework-Team mailing list