Metadata-Version: 1.0
Name: Products.SilvaMetadata
Version: 1.2
Summary: Metadata support for Silva.
Home-page: http://infrae.com/products/silva
Author: Infrae
Author-email: info@infrae.com
License: BSD
Description: Silva Metadata
        ==============
        
        Implemented Use Cases
        ---------------------
        
        - Define Metadata
        
        - Map Metadata to a Content Type
        
        - Import Metadata Definition
        
        - Export Metadata Definition
        
        - Export Metadata for a Content Object
        
        - Import Metadata for a Content Object
        
        - Display a Form for Metadata
        
        - Validate Values for Metadata
        
        - Restrict Displayable/Editable Metadata based on
        permissions, roles, or state.
        
        - Containment Based Metadata Acquisition
        
        - Invoke Triggers upon Metadata Changes
        
        - Index/Search Metadata
        
        - Integrated Actions for Content Types (CMF Only)
        
        Todo Use Cases
        --------------
        
        - Delegate Metadata Element to a different Definition.
        
        - Customize an Element of Metadata Set mapped onto a particular
        Content Type.
        
        - Upgrade/ChangeSet Engine for updating metadata sets.
        
        - Canonical/Standards Based XML Generation and Import for
        Metadata Sets.
        
        Design
        ------
        
        Storage/Annotations
        ```````````````````
        
        Metadata storage is based on annotating content objects. Metadata
        storage itself is partioned by set namespaces, and also includes a
        partition for metadata configuration on a per object basis.
        
        Definitions
        ```````````
        
        Definitions of the metadata are conducted with the metadata tool zmi
        interface. These definitions are managed as sets composed of elements,
        with guards and fields attached to elements. These definitions can
        be exported and imported to xml and are used for validation and display
        of the metadata. These definitions are then mapped onto content types
        that they will be available for.
        
        Tool API
        ````````
        
        The metadata tool api is fairly simple, the core of it is simply
        one method. ``getMetadata`` which returns a binding object, below.
        
        The additional methods are present to conform to the metadata tool
        api defined by the cmf interfaces.
        
        Binding/Adapter
        ```````````````
        
        Bindings functions as an adapter between the content object,
        the metadata definition, and the stored metdata values. It offers
        a unified api to the programmer to operate on an object's metadata,
        and unlike a service or tool, allows for security checks to be
        automatically performed in the context of the content object.
        
        Additionally the binding adapter makes use of the metadata storage
        to store configuration options that can be set per object, that
        affect the runtime behavior of the binding. this capability is used
        to implement some of the advanced features of the metadata system
        such as metadata acquisition and mutation triggers, and can be
        extended as need arises.
        
        Indexing and Searching
        ``````````````````````
        
        Because metadata is stored in an object annotation, and accessed
        through a binding object, direct indexing of an object's metadata
        using the normal zcatalog indexes is not possible. The
        ProxyIndex product was developed to address the issue, and
        allows for the use of a tales expression to retrieve values for
        indexing. the metadata system automatically constructs indexes
        for a metadata set upon set initialization, using tales
        expressions to retrieve a binding and an element's value for
        a content object.
        
        Hook Points
        ```````````
        
        To allow for flexibility and customization based on a
        requirements the metadata system offers two major hook points
        exposed at by its python api.
        
        Access
        The Access hook is used by the metadata tool to construct
        a binding for a content object. access hooks can be registered
        on a per content type basis or as a default hook.
        
        Runtime Data Initializer
        When a metadata binding is constructed for an object with no
        metadata annotation data, a runtime data initializer is
        invoked to construct the binding's runtime data. initializers
        can be defined on a per content type basis or as a default
        initializer.
        
        
        
        Changes
        =======
        
        1.2 (2008/09/30)
        -----------------
        
        Features added:
        
        - Add support in Bindings for rendering the edit views of elements
        with values from the request.
        
        - Rewrite documentation as a clean ReST.
        
        1.1
        ---
        
        Features added:
        
        - Add id suggestion for set naming convention to add ui.
        
        Bugs fixed:
        
        - Binding.setValuesFromRequest more cleanly 'fakes' a real HTTPRequest
        when calling ``form.validate_all``, so that referencelookupwindows
        can be used as metadata fields.
        
        1.0.1
        -----
        
        Bugs fixed:
        
        - The Zope 2.10 event system was causing importing .zexp which
        contained the metadata service to fail. Fixed this.
        
        1.0
        ---
        
        Features added:
        
        - Made SilvaMetadata Zope-2.10 compliant, so that it works with Silva
        2.0.
        
        0.17
        ----
        
        Features added :
        
        - 2007-03-15: The default access handler and the
        ``MetadataBindingAdapter`` now have a ``read_only`` parameter, False
        by default, that if set to true will cause all write actions to the
        binding to be silently ignored.
        
        0.16
        ----
        
        Bugs fixed:
        
        - 2007-01-25: Added missing imports in MetadataTool.py.
        
        0.15
        ----
        
        Bugs fixed:
        
        - MetadataTool.getMetadataValue did not work correctly for Ghosts and
        GhostFolders, it does now.
        
        0.14
        ----
        
        Features added:
        
        - Added 'Export Metadata Set as XML' button to set overview screen.
        
        - Changed the button value in Content Type Mappings from 'edit
        mappings' to 'save mappings'.
        
        Bugs fixed:
        
        - Bugfix for empty strings in aqcuirable metadata fields blocking
        acquisition. Many thanks to Nico Grubert for the bug report and
        proposed fix!
        
        0.13
        ----
        
        Features added:
        
        - MetadataTool.getMetadataValue can now get just this objects
        metadata, not acquiring parent metadata
        
        0.11
        ----
        
        Features added:
        
        - If an extension to Silva provides IAcquiredUpdater adapters for
        content objects, these will used. An IAcquiredUpdater adapter for
        an IContainer could for instance reindex any sub-objects.
        
        - Use Zope 3 style interfaces. This means that Zope 2.8 is now
        required.
        
        Bugs fixed:
        
        - Stop using deprecated ``CMFCore.CMFCorePermissions`` module
        
        - Even more fixes to the unit tests (issue 1381).
        
        0.10
        ----
        
        Bugs fixed:
        
        - Fixed unit tests (issue 1380).
        
        0.9
        ---
        
        Features added:
        
        - Metadata sets can have a 'category' property. This property can
        be used to define special purpose metadata sets.
        
        - The ``minimal_role`` and category properties are exported and
        imported to/from the XML metadata set definitions.
        
        Bugs fixed:
        
        - setValuesFromRequest now uses Formulator to validate user input.
        This solves the infamous 'checkbox' problem.
        
        - ``MetadataTool.setMetadataValues()`` has been removed.
        
        - XML export/import now works with latest Formulator release
        (fixing issues with Formulator's i18n support).
        
        - unit test have been updated to run with Silva.
        
        - ``MetadataTool.getMetadataValue`` now supports object delegation.
        
        0.8
        ---
        
        Features added
        
        - Metadata Sets now have a Minimal Role property, that can be used
        by Silva to restrict access to a Set.
        
        0.7.6
        -----
        
        Bugs fixed
        
        - Make getMetadataValue shortcut a bit more robust. Also some
        performance tweaks.
        
        0.7.5
        -----
        
        Bugs fixed:
        
        - XML import with unrecognized metadata sets now skips these sets
        silently.
        
        - XML export for integers and floats should now work properly when
        Python 2.1 is used.
        
        - Make SilvaMetadata field editing work with Formulator 1.6.0.
        
        0.7.4
        -----
        
        Bugs fixed:
        
        - XML import would fail with a NameError if a metadata set is imported
        that is not registered. Now it fails with a more informative
        error... What *should* be happening is that this unrecognized
        metadata is skipped, instead.
        
        0.7.3
        -----
        
        Features added:
        
        - icon for ``service_metadata``.
        
        Bugs fixed:
        
        - XML import of complex lists for items now works.
        
        - Indexing with XML import now works.
        
        0.7.2
        -----
        
        Bugs fixed:
        
        - getMetadataValue was buggy and didn't really work. Fixed.
        
        0.7.1
        -----
        
        Features added:
        
        - Added Infrae standard release documentation.
        
        Bugs fixed:
        
        - Avoid quadratic behavior while indexing. Previously, for n
        elements that are indexed, for each element indexing the data for
        the n indexes was accessed, resulting in quadratic behavior while
        indexing (n * n values were accessed per object).
        
        0.5
        ---
        
        -  Initial public release of SilvaMetadata.
        
Keywords: silva zope2 metadata
Platform: UNKNOWN
Classifier: Framework :: Zope2
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
