Products.SilvaMetadata 2.3
Metadata engine for Silva CMS
License: BSD
Keywords: silva zope2 metadata

==============
Silva Metadata
==============

Silva Metadata provides a tool to define generic metadata set for
Silva content types. Metadata are defined in a service,
``service_metadata``, and metadata values edited on the content type.

Metadata can be optionaly indexed into the Zope catalog, and imported
and exported as XML. Metadata definitions can be too imported and
exported as XML files.

You can find more information on how to use the metadata system in the
`Silva developer documentation`_.

Code repository
===============

You can find the code of this extension in Git:
https://github.com/silvacms/Products.SilvaMetadata

.. _Silva developer documentation: http://docs.silvacms.org/


Changes
=======

2.3 (2010/07/16)
----------------

- Update code to be compatible with Zope 2.12, replace ZCTextIndex
  with TextIndex.

2.2b1 (2010/01/25)
------------------

- Clean CMF compatibility code.

- Remove the usage of Products.Annotations. We now use regular
  zope.annotations.

- Service Metadata is registered as an utility, and is a service
  inheriting from silva.core.services.

- Catalog service from silva.core.services is now used. It used
  adapters instead of Products.ProxyIndex. This make possible to copy
  a metadata value in the catalog, to access it from the brain object
  without waking up the object itself.


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.