[Framework-Team] PLIP145 Locking - Review

Martin Aspeli optilude at gmx.net
Tue Sep 26 13:17:56 UTC 2006


Hi guys,

> I'm +0 for now because of my reservations about adding so much usecase
> specific code directly into the Archetypes framework.  I think its
> very important that we begin to consider the potential importance of
> non-AT content, and not hinder plone by tying more core functionality,
> which should be available to all types if possible, to that framework.
>  However, I'd be surprised if the team that created this code wouldn't
> be willing and capable of decoupling it from AT.

Regarding iterate and the locking bundle:

 There is obviously some overlap, but they are not exactly the same
thing. Iterate is about in-place staging aka check-out/check-in
versioning. The locking bundle is about automatic locks that warn you
when two people are editing the same object. It's quite light-weight
and I think the solution is quite elegant.

The iterate bundle is about more explict actions - check out the
object, work on a copy, check it in again.

So, in terms of integration:

 - If we can make AT fire generic events then maybe the locking can
live outside AT? The hard part is obviously the UI, since base_edit
would probably have to be aware of it.

 - We can probably use marker interfaces to tell base_edit & co when
an object is locked, though. We may have two such interfaces: ILocked
and IAutoLocked, with the auto-lock being more easily stealable.

 - AJAX is good, but we also need to ensure this stuff can work with
AJAX/JS turned off.

I'm really hoping Alec, Kapil, Jean-Francois and Raphael will be able
to work that bit out. As Helge points out, there's not so much code
here, the challenge is in making it as transparent and elegant as
possible, so we can afford to move things around a bit.

In my mind, Plone 3.0 will be a smash hit if we have all three of
Helge's bundles - versioning, in-place staging and automatic locking
of simultaenous edits. How cool would that be?  :)




More information about the Framework-Team mailing list