ZopeMag's mascot the ZOPE fish


Article Finder
People
Issue 8 - Revision 8  /   September 26, 2004 


 
  ZopeMag Links:
Latest Issue
About the Fish
Issue 10
Issue 09
Issue 08
Issue 07
Issue 06
Issue 05
Issue 04
Issue 03
Issue 02
Issue 01
 
 
Downloads
     
  Letter from the Editor:
   Issue 8

Interviews:
Each issue we interview important people in the Zope world.

  Stéfane Fermigier

Articles:
Throughout the quarter we cover topics of interest to Zope developers, designers, and users.

  Fine Grained Permissions

  Archetypes Part III

  Intro to Silva

  Profiling Zope

  Intro to CPS

Product Review:
Too many Products, too little time? ZopeMag keeps you up-to-date which Zope Products are worthwhile checking out.

  DocFinderTab
  mxODBC DA


Guides:
This quarter we bring you a new SuperGuide. Our miniGuides and SuperGuides give you the background knowledge you need to mastering Zope.

  miniGuide to Zope Hosting
  SuperGuide - Zope for Newbies (Part II)
 
 
Downloads
     
  URLs / Download
Products we talk about in this issues Articles and Reviews

     

Illustration by Lia Avant
Silva Cover
Intro to Silva

Silva
- An Introduction
- - - - - - - - - - - -

By Jan Smith  | July 27, 2004 (version 2)

print

What is Silva?

Silva 1.0 was finally released on July 20th so it's a good time to look at the functionality the product offers. Silva is both a Web-based content management system and an XML authoring and publication system suitable for small, medium and large organizations. Silva is one of the products developed for the Zope platform by Infrae.

Key features
  • Easy editing of content via the Web with the Kupu editor.
  • Easy to use interfaces for authors, editors and chief editors
  • Versioning and timing of content
  • Sophisticated searching and indexing
  • Multiple languages can be mixed in one document – the text is stored as Unicode
  • Separation of content from layout and from the underlying code
  • Export and import XML, enabling the reuse of content for a publication or a brochure.
  • Secure delegation of Website responsibilities
  • Open Source license

“A good CMS should be able to reuse content, re-purpose content and use the same content (with conditional variations) for technical documents and marketing documents, etc.”, says Melbourne-based Content Architect Melanie Kendell. Silva content can be reused in different media because it can be imported and exported as XML. This has enabled one of the universities using Silva to streamline updating their annual course publications. Content is updated online, then exported as XML and published in print format. The authors only have to update the content in one place. The use of Silva’s Ghost folders enables content to be repurposed to different parts of a site. Silva ghost documents enable the same technical data to be in several on-line user manuals at the same time. When changes are required, they only have to be done in one place: all the manuals will then reflect the changes.

Updating Content

The need to frequently update Web content is a cause of major delays and bottlenecks in many companies. In a Silva site the author doesn't need to know html to add content or to be on-site. An author simply has to have been granted login access and have a modern version of IE, Netscape or the Mozilla browser. The Kupu (Maori for "word") editor that comes with Silva is for people who are used to creating documents in Word. In addition to creating tables, adding images and links and sizing text, an author can create a content index for a text in Kupu and upload data from external databases. Design elements such as layout, colours, font faces and styles are set by the Site Manager, which maintaining a consistency of appearance. The author is freed up to concentrate on adding new content. Kupu uses JavaScript and CSS and employs asynchronous saving to avoid pop-up windows. (Fig. 1)

Figure 1: Kupu wysiwyg editor in Silva

When a document is finished, an author submits the document to the editor via the publish tab. The editor can comment on the document or decide when the document will be published. Silva can be configured to automatically send emails to authors and editors for pending work.

Authors can only access areas available to Authors while Editors and Chief Editors are granted greater access via extra screens.

Versioning of Content

One version of a document can be online while a new version is being updated. In the Publish screen Editors and Chief Editors can also export the content in a variety of formats. (Fig. 2.)

Figure 2: Publish and Export options in Silva

Organizing Content

Silva allows an infinite nested hierarchy of publications and folders to structure and organize content. For instance, in a Silva site the writings of Shakespeare, Tolstoy and Voltaire could be held in separate publications. (See Fig. 3)

Figure 3 Silva Publications in the Silva Management Area

Clicking on the Shakespeare publication reveals the organization of content within the publication. See Fig. 4

Figure 4 Folders within the Shakespeare Publication

Finely Grained Access to Content

The Chief Editors and Editors can delegate roles throughout their allocated access. For instance, a Chief Editor of a department might delegate Editor rights to several people. These Editors in turn can delegate Author access to people within their area of access. Content can be submitted to the site by Authors. Editors and Chief Editors can review and publish this material online without needing any technical skills. (Fig. 5) Chief Editors also have the ability to organise roles for groups of users.

It is possible for someone to be the Chief Editor of one part of the site and have no access privileges to another part of the site.

Figure 5 Allocating roles in Silva via the Access Screen

If needed, a part of a Silva site can be used as an extranet where viewing access to certain content is restricted to authorised individuals or groups. (Fig. 6)

Figure 6 Restricting access

Other Silva Features:
  • Content is completely separate from the layout and code. The Site Manager working in the Zope Management Area can add multiple designs within one site via the use of CSS and Zope Page Templates or there can be just one CSS and Zope Page Template for the whole site.
  • LDAP connection of users is possible over the Zope Management Interface.
  • Silva can work together with another Infrae application, Docma. Docma is a standalone application that integrates with Silva to generate and read structured MS Word documents. It converts Silva XML documents to Word documents and back. Docma allows users to export entire trees of Silva content (a whole branch of the site, including folders and documents), edit the content in Word and then import it back into Silva, retaining all the site and information structure. Docma is not a Zope product. It is a Python application accessed by Silva using XML-RPC.
  • Each content type, such as Silva Document, Silva Folder and Silva Publication, can have metadata sets attached to them. It is possible for a site administrator to define and add new metadata sets for content types, in addition to the standard sets that ship with Silva.
    Imagine that an organization is interested in attaching information about a specific set of document categories to each Silva Document. It can create a metadata set defining these categories and attach it to Silva Document. When this is done, all Silva Documents gain a new field in their metadata screen, which is accessed by the Properties tab, allowing the user to select a document category. Metadata fields can be configured to be automatically indexed in a ZCatalog maintained by Silva. This way, a programmer can easily create screens that list all objects in Silva which have certain metadata, i.e. all documents with a certain document category.
  • All text in Silva is stored as Unicode, which means content in multiple languages can be freely mixed in single documents.
  • Images and Files can be imported via a zip file.

Silva Development

Martijn Faassen, Chief Technical Officer and co-founder of Infrae, says: “By the time we started developing Silva in late 2001 for Erasmus University we had already built a number of Zope applications. The Zope platform offers a lot of facilities that we could build on. This includes the whole webserver and publishing machinery, with all the complexities involved. The object database makes it easy to store content. Zope also produces a security mechanism so that it is easy to restrict who may use various functions in Silva. Zope Page Templates can be used for templating purposes. And there are a lot of extensions to Zope available that help with, for instance, relational database integration or LDAP integration. Zope is built on top of Python, this is to my mind a major advantage.”

Kupu, the wysiwyg editor within Silva, was inspired by Maik Jablonski's Epoz for Zope. Kupu is now an OSCOM project in its own right. It was written by Paul Everitt, Infrae's Guido Wesdorp, and Philipp von Weitershausen, amongst others. Kupu is an ongoing development and is being extended and adapted to fit into a variety of other CMS's.

What are the future development plans for Silva? Martijn Faassen says: “We plan to export more of Silva’s content as XML, for instance local role assignment. We are redesigning the Silva view system to be more in line with Zope 3’s. It will be a lot easier to override particular screens (or tabs) in the Silva user interface. Adding a new screen to an object in the Silva core from an extension will also be possible. This system will also be perfectly usable outside Silva for other Zope products. In fact, the current SilvaViews system is already that way, but what we're creating will be that much more powerful.”

Soon to be released by Infrae is Railroad. Railroad is designed to manage large files from within Silva, for example a 45GB video. The Railroad Server provides facilities to manage large files from within a CMS, but handles the upload and viewing of the files ‘around’ it. Railroad runs independently of Zope and can be used with any CMS.

Unlike a lot of Open Source software, Silva has extensive documentation for end users and for developers. Silva has a BSD licence and is available for download from http://www.zope.org/Members/infrae/Silva. The current version runs on Zope 2.6.4 with Python 2.1. If you want to use Zope 2.7 with Python 2.3 this will likely work but it is not yet officially supported by Infrae.

Resources:

Download Silva - http://www.zope.org/Members/infrae/Silva
Background on Silva and Infrae's other products - http://www.infrae.com/products
Kupu - http://kupu.oscom.org


Jan Smith

Jan Smith is a freelance technical writer; Infrae is one of her clients. Jan is also Coordinator of OzZope.org, the Australian Zope Interest Group.


shim
shim  ZopeMag is committed to bringing you the best in Zope Documentation. shim
shim


Home   Subscribe   FAQ   Contact   Write for us   Privacy Policy   Weekly News   PyZine   opensourcexperts.com  

Reproduction of material from any of ZopeMag's pages without prior written permission is strictly prohibited. Copyright 2003 - 2005 ZopeMag Zope/Plone hosting by Nidelven IT