[Zope-CMF] 'portal_metadata' tool in CVS

marc lindahl marc@bowery.com
Mon, 07 May 2001 11:20:04 -0400


> From: Tres Seaver <tseaver@digicool.com>
> 
> First, you want to be invoking it as 'portal_metadata';  I don't
> know how the other spelling is working at all for you.

Correct, I was typing it into the email, it was late...



> think the form needs to call them.  It does need to be able to
> ask whether the vocabulary is enforced, though:  imagine a site
> which provides "suggested" vocabulary, but allows members to
> enter other values (which might then eventually become part of
> the "suggested" vocabulary).

I was thinking then, you could in the form test for 'enforce' and if not,
then have both the select list and a text input, both set to, e.g.
subject:list - wouldn't that concatenate them?  Adding to suggested would
mean changing MetadataTool.validateMetadata() I would guess.


> I think the spelling here would be, as you suggest, to remove the
> "hardcoded" methods from the interface ('listAllowedSubjects',
> 'listAllowedFormats', etc.) and instead expose 'getElementSpec',
> protecting the spec's query methods with the 'View' permission.

That would make it easier to implement a non-default DublinCore also.


> Right, I would probably add another "snippet" skin method which
> generates the selection widget and text field, given the DC
> element name;  call it 'vocabulary_widgets' or some such

Makes sense, keeps it skinnable and changeable.

>  (note
> as well that only the Subject metadata is "multi-valued" by
> default).

Another thing that could/should be checked... though I don't see that option
exposed in the portal_metadata tool, it seems to be hard coded when
everything is set up, though it could easily be added.

Still, I think there's alot to be said to enforcing a strict core for this,
to make things eventually easily searchable web-wide.  For example, I was
looking around for a definitive list of languages, and found bits and
pieces, but not an official-looking list -- if there is one, it would be
good to have that included in the default DublinCore, since it's supposedly
a standard, and would facilitate (external) searches... no?