EuroPython 2007Silva 2.0: Progressive enhancement9 July 2007, Vilnius, LithuaniaKit BlakeHistoryWork on Silva began in late 2001 Announced at EuroPython 2002 (version 0.7) ZODB based, used DTML, no version control! The basics, such as versioning and access, were in place Followed by many 0.9.x enhancements and releases Silva 1.0Released in July 2004 Defining architectural feature was the Kupu editor (thanks to ETH Zürich) Included advanced, user configurable metadata system All text – and metadata – was stored as unicode Image manipulation: scaling, cropping, file system storage XML import/export, Zip file asset import Silva 2.0Released on 23 May 2007 No new features Fundamental architectural changes triggered by Zope 2.10 Extensions / content types are Five-based Much easier for extension developers Use all the Z3 techniques, override views, etc. Enhanced Version ManagementHistory of all old versions stored Side by side comparision of versions Rollback (actually roll forward) Silva export with or without old versions Periodic batch deletion by a Manager Custom content elementsExternal Source elements can be inserted in documents All textual content types can insert source elements Code Source: can be anything possible in Zope Manager/Author friendly: developer does the code / Author sees only a form for filling in parameters Easy to create and customizable, many available Code Source examples
Sophisticated Access ControlAccess is determined in a TTW interface Chief Editors have complete control Users/groups defined in Zope, LDAP, PAS, etc. are given Silva roles (Reader, Author, Editor, Chief Editor) Silva has Virtual Groups, and supports role requests for collaboration sites Define public access restrictions for an intranet section Multi-site ManagementSilva is virtual host aware, supports ‘deep virtual hosting’ Nested subsites can be accessed via main site content hierarchy or a subsite url (e.g. institute.example.com) References are automatically adjusted, for both public pages and management screens Can be configured so Authors see only their domain, or the entire site hierarchy for linking Scales well: largest installation has 350 sites Skins and TemplatingSilva 1.0 had a ZODB-based layout system Flexible and customizable per site/section/page/element Silva 2.0 has a Silva Layout extension for skins Uses Five/Zope3 technology, code on the file system Permits skin switching TTW via Silva UI Extensions can override specific parts of a skin/navigation Import / ExportAll actions via the Silva UI, no file system access needed Handles all items, including Zope level objects Import across sites, even with different metadata configurations Import / Export works between different Silva versions (with some caveats) Uses XML format, easy to bridge to other systems Silva ExtensionsBoth content types and tools, from the community High quality code, maintained by developers and Infrae support Latest extensions are Five-based, with vastly reduced boilerplate Come to the Grok.Silva sprint after EuroPython Extension Examples
Near FutureAjax in the interface will accelerate production Direct export to OpenOffice (silva2odt) to be released shortly, import is possible Hook up document conversion from Document Library product RSS/Atom feed Forum/Blog improvements More fine-grained caching architecture Long Term FutureWhat do you need? Questions?Thank youAnd thanks to all the Silva contributors / investors |