[Zope-CMF] [dev] Dublin Core Creator(s): revised proposal

Yuppie schubbe at web.de
Wed Dec 17 06:27:44 EST 2003


Based on the feedback and on my first attempts implementing it I have 
revised my proposal.

I believe (hope) these things are not controversial:

- DefaultDublinCoreImpl should allow more than one Dublin Core Creator 
element. These creators are stored as a tuple of ids in self.creators.

- We need a method to get this tuple. It'll be called 'listCreators'. To 
be consistent there'll also be a 'listContributors' method that returns 
the self.contributors.

- We need a way to keep self.creators up to date. For existing content 
objects the Owner will become the first member of self.creators, in the 
case of DiscussionItems self.creator. For new and updated content 
objects the id of the Authenticated Member will be appended to 

- We need a way to catalog self.creators. Whatever we decide Creator() 
will return in future: a listCreators KeywordIndex is superior to the 
existing Creator FieldIndex. It doesn't make sense to use them both so 
the Creator FieldIndex should be deprecated.

Now to the more controversial part:

- There were some votes for a method that returns "; ".join( 
self.listCreators() ). I can't see any important use case for a method 
like that, but I can live with its existence. Creators() would be the 
name and a re-definition of Contributors() would be necessary to keep it 
in sync.

- There were some votes for Creator and Contributor methods that return 
a string representation of the stored Dublin Core elements. It was 
proposed to make them aliases of Creators() and Contributors().

I don't believe it's a good idea to do that:

1.) Creator() and Contributor() would just return a (more or less) valid 
Dublin Core element in the case of exactly one creator / contributor.

2.) Existing code expects exactly one creator returned by Creator(). The 
Creator FieldIndex becomes un-searchable with multiple creators, skin 
methods like content_byline.pt will no longer work as expected.

That leads me to this change in my proposal:

Creator() and Contributor() should return only the *first* element.

Any feedback is welcome, especially of those who voted for returning 
*all* elements joined with '; '.


More information about the Zope-CMF mailing list