You are not logged in Log in Join
You are here: Home » Download Zope Products » Content Management Framework (ne "PTK") » ZWiki » PortalMetadataToolProposal » wikipage_view

Log in
Name

Password

 
 
PTKDashboard » PTKProposals »

PortalMetadataToolProposal

Overview

This proposal advocates creation of a new standard portal_metadata tool, whose purpose would be to provide a PluggablePolicy? for portal-wide metadata.

Interface

The tool would have the following interface:

  def validateMetadata( self, content ):
      """
          Enforce portal-wide policies about DCI, e.g., requiring
          non-empty title/description, etc.  This method would be
          called by the framework immediately before adding a
          piece of content to a folder;  it could also perform
          some other housekeeping (setting unsupplied values to
          defaults, etc.)
      """

  def getFullName( self, userid ):
      """
          Convert an internal userid to a "formal" name, if
          possible, perhaps using the 'portal_membership' tool.
      """

  def listAllowedSubjects( self, meta_type=None ):
      """
          List allowed keywords for a given meta_type, or all
          possible keywords if none supplied.
      """

  def getPublisher( self ):
      """
          Return the "formal" name of the publisher of the
          portal.
      """

  def getType( self, meta_type ):
      """
          Map the Zope 'meta_type' to a DCI-appropriate one (the
          default implementation could just return meta_type.)
      """

  def listFormats( self, meta_type=None ):
      """
          List the allowed 'Content-type' values for a particular
          meta_type, or all possible formats if none supplied.
      """

  def listLanguages( self, meta_type=None ):
      """
          List the allowed language values.
      """

  def listCopyrightTypes( self, meta_type=None ):
      """
          List the allowed values for a "Copyright type:"
          selection list;  this gets especially important where
          syndication is involved.
      """