## 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.