Australian technical writer Jan Smith highlights the features and functionality within Silva, an open-source content management system.

Silva is a web-based content management system that originally began as a publishing solution for Erasmus University in Rotterdam and is now used by many organisations around the world. Erasmus had a problem that was familiar to most institutions--webmaster bottleneck. Using Microsoft FrontPage for Web and content development, Erasmus had the ability to make regular changes and updates, but it was difficult to maintain a consistent style across the site. The same Web content also needed to be published in faculty handbooks and in printed brochures and initially the conversion between mediums was done both manually and with scripts. To convert online content, a Perl script would iterate through the site and created RTF (Rich Text Format) files which were then edited in Word to create the required content. This made reusing this web content messy and time consuming.

Erasmus wanted an online system with tools to support editorial teams in separate areas of the site. They wanted workflow, built-in user roles assigned per section and versioning with separation of content from presentation and from the underlying code, a friendly interface and easy to use authoring tools. Above all they wanted to be able to export the content as high quality XML so they could reuse the content in different mediums. Erasmus chose Zope as the web platform for their solution and then asked the Dutch company Infrae to build it. Zope was a logical choice, as it is written in Python which is a modern, concise language that enables rapid development. It can be configured to work with an Apache web server and Squid cache and, being cross platform, Zope runs on Windows, Unix and Mac OSX.


Figure A
Silva Architecture

The crucial part of the brief for Infrae was that they build a product to input and output quality XML so Erasmus could reuse their content in other formats. Erasmus now converts XML exported from Silva to Word – both web and print designers have full access to every element of the content. In Infrae’s solution, presentation is kept completely separate from content and from the underlying code. Navigation and design can vary across a site as needed with the use of Cascading Style Sheets and Zope Page Templates. And Silva content can be reused in different media because the content can be imported and exported as XML.

The hierarchical nature of Zope allows management of content to be securely delegated across an organization, without compromising the ability of the webmaster to control the design and overall functionality of the site. In Silva one version of the content can be published or online whilst an author updates another version. When finished updating content, the content author notifies the Editor via Silva’s email system. The Editor or Chief Editor checks the content and decides when the new version should go live, then the previous online version gets archived.

The use of Silva’s Ghost feature enables content to be repurposed in different parts of a site. For instance, the same technical detail can be in several user manuals via the use of ghost documents, but when that technical detail needs upgrading it only has to be done in one place and all the manuals reflect the change. The use of ghost documents is also a time and cost saver when content is translated into other languages. Another feature is that all text is stored as Unicode which means content in multiple languages can be mixed in single documents freely. Silva provides full text search and has an advanced metadata system that allows users to create custom metadata sets and map them to specific types of content.

A criticism made of some open source projects is that they are very “geeky”, that is there is not a lot of effort put into documentation or usability for end users. Silva has substantial documentation and the user interface is based on feedback from many users including inexperienced users. Silva also now includes a WYSIWYG editor with Word like characteristics. The editor is called Kupu (which is Maori for word, statement or remark) and uses JavaScript, Cascading Style Sheets and has asynchronous saving to avoid pop-up windows.

Kupu works with modern versions of Internet Explorer, Netscape and Mozilla browsers. All an author needs to create content is a modern browser and appropriate access. Authors do not need to know HTML or XML, nor do they have to learn how to use Dreamweaver, Macromedia Contribute or FTP. They simply log into the area of the site they have been given permission for, create their content and then submit the content to their editor.


Figure B
Editor Toolbar

ETH Zurich (Eidgenössische Technische Hochschule Zürich – the Swiss Federal Institute of Technology) decided to use Silva after attending a EuroPython conference and seeing Silva demonstrated. ETH contracted Infrae to develop additional features for their site. ETH now has over 120 Silva instances running and is planning to double that number. A major advantage for ETH is the use of Silva's External Sources component to incorporate several different data sources into Silva. This enables them to query a number of different databases and display live data within Silva. Soon to be released is an Open Archives Initiative component which can access a public OAI database, like the one at MIT, and harvest all of the metadata. The data is stored locally in Silva and is full text searchable--if a visitor finds an interesting paper, a link to the PDF at MIT is presented.

Another extension being developed is called Railroad. Users at one ETH institute need to upload 50 GB videos. Under these circumstances Zope slows down to a crawl. Railroad bypasses Zope using WebDAV and Apache, going directly to the file system for both the upload and playing of the videos. From a solution developed for the typical needs of a large university Silva is now approaching maturity as an open source product that suits a wide variety of users who want to publish material from a range of contributors. Unlike many open source projects Silva has customer support with a growing network of developers around the world.

Jan Smith, is a freelance Project Manager and Documentation writer, Infrae is one of her clients. Jan is also Coordinator of OzZope.org, the Australian Zope Interest Group.

Advertisement

 Do you need help with Web Technologies? Gain advice from Builder AU forums

  • Leave A Comment

(if you need to share some code)

You must read and type the 6 chars within 0..9 and A..F

* mandatory fields.

Log in


Sign up | Forgot your password?

  • Blogs

StaffXO to run XP
When Bill Gates says that everything in the world should be a computer, what he means is that everything in the world should be running Windows. Read more »

-- posted by Staff

StaffDrop in on Builder AU at Open CeBiT 2008
Got a question on open source you need answered? Need a way to help convince your boss that open source is the way to go? Or just curious to learn what all the fuss is about? Then drop in to the Builder AU Open Source Afternoon on Wednesday May 21. Read more »

-- posted by Staff

Chris DuckettAssumption-based Hacking 101
High-level thinking leads to assumptions, and assumptions are the mother of all mistakes -- consequently the best place to find a security hole is in a place where the programmer has made an incorrect assumption. Read more »

-- posted by Chris Duckett

  • What's On?

Club Builder: Vapour-where? Club Builder: Vapour-where?
Applets are back from the dead, but do we want them? This week's Club Builder also looks at which pieces of software are utter vapour.

Understanding task and data parallelism
The difference between task and data parallelism, and how there is a way around the limits imposed by Amdahl's Law.