Skip to content.

OpenAdvantage - Freedom, Choice, Control

Sections
Home Articles Silva review

Silva review

This review follows on from my previous article, which outlined the criteria I applied to many of the main open source CMSs to determine their suitability for a developer. Silva is built on top of the Zope platform and takes advantage of its advanced features, making Silva a powerful, flexible solution. Its particular strength is managing hierarchical, traditional websites, simplifying construction of navigation and asset management.

Homepage: http://www.infrae.com/products/silva

Version evaluated: 1.1

License: BSD; Zope is released under the Zope Public License, which is GPL-compatible

Platform: Zope

Commercial support: Pilot Systems (France), Infrae (Netherlands), Ad.WRIGHT (Singapore)

Example sites:

Overview

Silva was originally developed for Erasmus University. It is built on top of the Zope platform (as is Plone), a powerful, generic framework for building content management systems.

Silva's content is more flexible than some of the other systems evaluated here: as it is stored as XML, it can easily be repurposed into different formats. For example, Erasmus use it to produce both their website and their printed publications from the same base of XML content.

Although Silva contains few "bells and whistles" in its default installation (e.g. there are no forums, polls, blogs, image galleries or the like), it would make a good base for a developer looking to produce a highly-customised content managed site for a client. In comparison with Plone, which has a "community site" feel to it, Silva is more focused around maintenance of an organisation's website, with multiple levels of permissions, workflow, easy content editing for inexperienced users, and easily-reusable content.

Default capabilities

Silva is straightforward to install, as it is supplied as a set of Zope Products which can be dropped into a standard Zope installation. Alternatively, you can get hold of a standalone distribution which includes the Zope distribution and all of the required Silva products.

Below are some feature highlights included in a standard installation:

  • Content is stored as XML, making it highly reusable
  • Content is editable through a web browser using a WYSIWYG interface
  • While editing, a user can automatically create links to existing pages by picking them out of the content hierarchy
  • As content is added, it is automatically added to the menu system, so it is not necessary to edit menus manually
  • A standard set of roles enforces content workflow, so a user can be prevented from publishing directly to the live site; also enforces versioning, so content can be rolled back to a previous, good version
  • Content can be scheduled to go live at a set date/time, and be taken off the site at a subsequent date/time
  • "Ghost" documents allow the same content to be used in several places across a site, while being updateable from a single location
  • Many metadata fields can be added to each page of content

As Silva is based on Zope, you can also incorporate any Zope Products into your Silva site as you see fit (though you will need to do some customisation work).

Additional modules

Additional modules/extensions are available from Infrae. Some of the more useful extensions are summarised below.

  • Docma: content can be exported to Word, using the Docma server (also available from Infrae as open source, but must run in a Windows environment)
  • Railroad: extension which optimises Silva for media streaming, using Apache and WebDAV to bypass Silva's file delivery mechanism for large files
  • SilvaExternalSources: provides a facility to include results from external sources (e.g. SQL database) inside a Silva document
  • SilvaOAI: adds Open Archives Initiative support to a Silva site, which allows metadata from the site to be harvested and indexed by an OAI harvester

Template extensibility

As Silva is based around Zope, it uses Zope's TAL to define its templates. The syntax for these files is not trivial, and would require some work to generate a new look and feel for the site. Having said this, the default template layout is held in a handful of files, so you don't have to hunt through the system to work out which files need to be modified.

Within the default Silva installation, there are few tools for editing the menus and templates through the web interface. Typically, you would edit the Silva templates through the Zope management interface using a web browser.

Elegance

Silva was developed by a commercial software company, and the code is well organised. But because it is a large product, customisation of the code would be relatively difficult. It may be better to customise the interface of the standard installation, which would be more straightforward, as Silva is explicitly designed to allow the interface to change while the underlying content engine remains untouched.

However, as Silva is built on top of Zope, there is nothing to prevent you from incorporating any Zope product into a Silva site. For example, it would be possible to use LDAP authentication for Silva by using the LDAPUserFolder product in the underlying Zope installation.

Related articles: