[Zope3-dev] DC Contributors

Garrett Smith garrett at mojave-corp.com
Tue Dec 2 11:58:19 EST 2003


I'd like to start capturing the principal who last modified an object. 
My thinking is to use the pattern in

    zope/app/dublincore/creatorannotator.py

and apply it to the DC 'contributors' element. I.e. when an object is 
modified (signalled by a published ObjectModifiedEvent) the principal 
returned by getSecurityManager().getPrincipal() would be added to the 
object's dublin core annotations as a contributor.

I see a few problems with this:

- The number of contributors over time could become very large.

- The value of DC contrtributors would not really be the list of 
contributors -- only the set of principals who modified the object at 
some point. E.g. there could be contributors who haven't edited the 
object yet, expired contributors, etc.

Another approach might be to only store the principal who *last* 
modified the object -- contributors would only contain one principal 
under nornmal circumstances.

I'm not perfectly happy with using the Contributors element this way, 
but I think it's essential that we capture 'modified by' info in 
addition to capturing 'created by' info. Since it looks like DC is the 
model for this sort of thing in Zope 3, Contributors is the right choice.

Thoughts?

  -- Garrett





More information about the Zope3-dev mailing list