Skip to main content

Metadata support for Silva

Project description

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:


3.0.1 (2013/08/26)

  • Ensure that calls to getMetadataValue with existing metadata set, metadata key or invalid content doesn’t fail and return None instead.

3.0 (2013/05/23)

  • Translate metadata set title and description.

3.0c1 (2012/09/25)

  • Update to Silva 3.0c1 API.
  • Fix bugs, binding validation while using setValues.
  • Cleanup and optimize code: remove useless features.

3.0b1 (2011/11/10)

  • Update for Zope 2.13 and Python 2.7.
  • Declare dependencies correctly.
  • Simplify getMetadataValue when a custom handler is installed.
  • Improve getMetadataSets not to fail with buggy values.
  • Add a Zope event when metadata are changed.
  • If a metadata is read-only, when you should not be able to edit it.
  • Simplify binding creation by using an adapter.

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
  • Catalog service from 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.


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.


Bugs fixed:

  • The Zope 2.10 event system was causing importing .zexp which contained the metadata service to fail. Fixed this.


Features added:

  • Made SilvaMetadata Zope-2.10 compliant, so that it works with Silva 2.0.


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.


Bugs fixed:

  • 2007-01-25: Added missing imports in


Bugs fixed:

  • MetadataTool.getMetadataValue did not work correctly for Ghosts and GhostFolders, it does now.


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!


Features added:

  • MetadataTool.getMetadataValue can now get just this objects metadata, not acquiring parent metadata


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).


Bugs fixed:

  • Fixed unit tests (issue 1380).


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.


Features added

  • Metadata Sets now have a Minimal Role property, that can be used by Silva to restrict access to a Set.


Bugs fixed

  • Make getMetadataValue shortcut a bit more robust. Also some performance tweaks.


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.


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.


Features added:

  • icon for service_metadata.

Bugs fixed:

  • XML import of complex lists for items now works.
  • Indexing with XML import now works.


Bugs fixed:

  • getMetadataValue was buggy and didn’t really work. Fixed.


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).


  • Initial public release of SilvaMetadata.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for Products.SilvaMetadata, version 3.0.1
Filename, size File type Python version Upload date Hashes
Filename, size Products.SilvaMetadata-3.0.1.tar.gz (43.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page