[Zope-CMF] [dev] Dublin Core Creator(s): revised proposal
Yuppie
schubbe at web.de
Wed Dec 17 06:27:44 EST 2003
Hi!
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
self.creators.
- 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 '; '.
Cheers,
Yuppie
More information about the Zope-CMF
mailing list