Dublin Core Metadata

. . ). . . . .
Title
  the standard Zope 'title' attribute; we should look at making it mandatory for all PortalContent derivatives.
Creator
  where possible, this should be one or more full names, of either persons or organizations. The current implementation finds the first user in the list returned by 'get_local_roles' who has the 'Owner' role; userids are not considered appropriate for this field by the DCI.
Subject
  this is supposed to be drawn from a controlled list of keywords (e.g., selected from a multi-select list used across the whole site)
Description
  a short summary, an abstract, or a table-of-contents are all considered acceptable. We might look at making this required, as well, at least for some kinds of content.
Publisher
  a site-wide property, should be done through acquisition (do I smell a 'portal_metadata' tool about to appear?) Again, this is supposed to be a formal name.
Contributor
  used to convey others besides the Creator who have contributed to the document (the current implementation aliases 'Creator', which is not what DCI intends)
Date
  this one has modifiers, of which the approved set is: 'Created', 'Valid', 'Available', 'Issued', and 'Modified'. I propose extending the interface to include CreationDate(), EffectiveDate(), ExpirationDate(), and ModificationDate(). The current Date() could just return the CreationDate(), while the DCI 'Valid' and 'Available' would be ranges derived from EffectiveDate() and ExpirationDate(
Type
  like the Zope 'meta_type', this is the main conceptual classification; 'meta_type' is often spelled identically to the class, which makes it less appropriate for the DCI usage.
Format
  the kind of physical representation, e.g., 'text/html'
Identifier
  should be the fully-qualified URL of the document (the current implementation returns the object's id, which is only required to be unique within its container)
Language
  'en-us', 'pt-br', 'de', etc. Should be set at creation, with an appropriate default (and a picklist of values)
Source
  the original from which a piece of content is derived. I'd like to ignore this one.
Relation
  more relationships to other documents. Again, I'd like to ignore it (ZopeStudio and other such tools need this, however, to build site maps)
Coverage
  geographic/chronological/jurisdictional scope. Again, ignore.
Rights
  copyright and other IP information related to the document. Most portals should care about this: witness the brouhaha on Slashdot over the compilation of the Hellmouth postings into a book.