Ah ha.  Good point about the workflow issues.  I haven't tackled that
part yet, but indeed, a workflow state/transition would be the best
place to validate metadata based on policies ...

I'll have a look at what you suggest re: import/export, thanks!

As for the vocabularies, it wouldn't be one per type, but just many
possible vocabularies, for any given type.  The problem is they need to
be identified separately within the tool, because at output, the
scheme="" of the meta tag needs to be set.  So "Subject" can have 3
vocabularies valid for all types, and each needs to know the scheme it
belongs to.

In the output, it would be:

<meta name="dc.subject" scheme="coporatevocabulary1" content="blah,
blah, blah" />
<meta name="dc.subject" scheme="coporatevocabulary2" content="bloh,
bloh, bloh" />

(With vocabulary enforced).

As for the remote vocabularies, they're remote, but internal to our
organisation, I would be too worried about performance, and can always
cache with _v_ attributes or something like that if need be.

Thanks Tres, very helpful.


-----Original Message-----
[mailto:[EMAIL PROTECTED] On Behalf Of Tres Seaver
Sent: October 31, 2006 4:04 PM
Subject: [Zope-CMF] Re: Metadata & Tool Questions

Hash: SHA1

Doyon, Jean-Francois wrote:
> Hello,
> The organization I work for has stringent metadata requirements, and 
> as such I am now focusing my attention on metadata support in Zope and

> the CMF.
> (Zope 2.10, CMF 2.0.0)
> A few questions:
> 1) Are there GenericSetup import/export scripts out there for the 
> metadata tool? I need to add elements and controlled vocabularies.
> 2) Some DC elements support the idea of schemes for specifying 
> controlled vocabularies (notably the Subject), has anyone implemented 
> functionality supporting this in their CMF?  Has there been discussion

> on the topic?

Actually, almost any of the elements could do this:  Rights, Format, and
Language are also prime candidates.

> 3) The policies defined in the metadata tool don't seem to be enforced

> in the Dublin Core implementation.  Any great reason?
> Otherwise, I'm going to try tying specific schema implementations 
> (Such as DCMI, though I have others) into the tool, for actual policy 
> enforcement.

The reason enforcement isn't "wired in" is because the choice of when to
do the enforcement is a business policy:  some sites may require that
the constraints be enforced whenever posting from the metadata form;
others may require it only at a given workflow transition.  The choice
is therefore in the implementor's hands.

> Right now it's looking like my end goal is:
> 1) GenericSetup-driven tool configuration, for per site metadata 
> policy definitions.

The GS representation might be:

  - Tool writes one XML file per schema into a 'metadata' subdirectory
    of the profile.  'DCMI' (which is always present) will be treated
    the same way.

  - The schema XML file should be a container for elements, each of
    which contains per-type policies.  E.g.:

     <schema id="DCMI">
      <element id="Subject">
        <vocabulary>Press Release</vocabulary>
        <vocabulary>Product Announcement</vocabulary>

    Having the 'content_type' attribute blank for a policy would
    mark it as the default.

> 2) Extension beyond DCMI

The tool already supports additional schemas as subobjects.  There are
generic APIs which take a schema ID as their first argument.

> 3) Support many possible vocabularies through scheme support for a 
> given element policy.

Already there, if I understand you (vocabulary for an element can be
sete on a per-content-type basis).

> 3) Support remote vocabularies through web services/xml files.

*Not* there.  This would need essentially a replacement of the tool, at
the moment (there are big-time performance implications of
out-of-process vocabularies).

> 4) Tie schema implementation such as DublinCoreImpl into the policy 
> tool for enforcement.

Policy driven.  Should be tied in to "modified" or "workflow transition"
events, rather than hard-wired in.

> This is a fair amount of work, so before I embark upon it, I figured 
> I'd see who's done/thought what out there along those lines ...

- --
Tres Seaver          +1 202-558-7113          [EMAIL PROTECTED]
Palladion Software   "Excellence by Design"    http://palladion.com
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org


Zope-CMF maillist  -  Zope-CMF@lists.zope.org

See http://collector.zope.org/CMF for bug reports and feature requests
Zope-CMF maillist  -  Zope-CMF@lists.zope.org

See http://collector.zope.org/CMF for bug reports and feature requests

Reply via email to