Copyright (c) 2002, 2003 Infrae. All rights reserved. See also LICENSE.txt Meta:: Valid for: Silva 0.9.1.x Author: Martijn Faassen Email: faassen@infrae.com CVS: $Revision: 1.26.2.17 $ Upgrading from 0.8.6 and below Please upgrade your Silva to 0.9 first. Be careful to read its upgrade instructions! You can find Silva 0.9 here: "Silva 0.9.0.4":http://www.zope.org/Members/faassen/Silva/Silva-0.9.0.4.tgz Please read the UPGRADE.txt included with that release. Upgrading from 0.9.1 to 0.9.1.x There shouldn't be any problems (also not for upgrading from the beta directly). Just do a 'refresh all' and all things should work. If you are using Groups, please upgrade to Groups 0.3.2 as it contains a bugfix. Groups can be found here: "Groups 0.3.2":http://www.zope.org/Members/faassen/Groups/Groups-0.3.2.tgz. The Silva Indexer object have slightly change to make them work better in virtualhost environment. If you point you browser to: http://[path/to/your/silvaroot/]/service_utils/find_indexers you will get a list of all Indexer object currently in use on your site. Pressing the "update index" button in the edit screen of this Indexer object should bring it up to date with the new implementation. Upgrading Silva 0.9.0.x to 0.9.1.x This document applies to upgrading Silva only; if you are newly installing Silva please look at 'INSTALL.txt'. NOTE: It makes of course sense to make a backup of Silva before trying to upgrade! Silva used to make a backup copy automatically but in effect this copying action takes place *after* updating some Silva code. This causes the upgrade to fail in some cases (notably with Silva News which uses the catalog, and backup copying triggers a re-cataloging). In order to evade these problems we have disabled the creation of the backup copy from the upgrade code. Instead you need to do a backup copy *before* you upgrade the product code and restart Zope. The simplest way to make sure you have a functional backup is to backup the whole ZODB; make a copy of 'var/Data.fs'. NOTE: The Groups functionality is changing. With this release existing Group definitions are still working but not directly accessible. To get access to a Group definition (you can list existing groups by clicking the service_groups object in the Silva root in the ZMI) place - in the ZMI - a Silva Group object. If you specify an existing name AND check the "only create asset" checkbox, you are again able to edit this Group definition. Silva Filesystem Products In order to upgrade to 0.9.1.x you need a new version of Silva (0.9.1.10) and FileSystemSite (1.2). Download them here: * "Silva-0.9.1.10.tgz":http://www.zope.org/Members/faassen/Silva/Silva-0.9.1.10.tgz * "FileSystemSite-1.2.tgz":http://www.zope.org/Members/faassen/Silva/FileSystemSite-1.2.tgz The latter is a temporary location, it should be downloadable here soon: * "FileSystemSite-1.2.tgz":http://www.zope.org/Members/k_vertigo/Products/FileSystemSite If you are using Groups, you also need to download and install the new Groups 0.3.1. Find it here: * "Groups-0.3.1.tgz":http://www.zope.org/Members/faassen/Groups/Groups-0.3.1.tgz To upgrade, remove the Silva, FileSystemSite and (if you have it) Groups directories from your 'Products' directory first. Then unpack the new files you downloaded. Formulator, XMLWidgets and ParsedXML do not require an upgrade in this release. Note that LDAP integration of Silva has changed with the new membership system. If you are using LDAP integration with your Silva, you will notice that the old system has disappeared. In its stead we have a new member extension mechanism that takes it place. If you need help enabling membership please contact Infrae. We will place a demo membership extension that uses LDAP online soon. If you are using Silva's ExtFile support (turned off by default), you should consult the section in 'INSTALL.txt' to see how to configure the newly installed Silva product to use this again. Restart Zope to make the new product code take effect. Now go on to the next step. Refreshing and upgrading the Silva product If you are upgrading from 0.9 to 0.9.1.x, you need to upgrade the content of Silva, as some of the structures have changed. After the restart, go to 'service_extensions' in the Silva Root as Zope manager and click the 'upgrade content' button. This will automatically refresh all installed Silva extensions as well as upgrade the Silva content that needs upgrading. Note that this will take a while if your site is large. Upgrading the content from 0.9 to 0.9.1.x will change the following things: * List titles are changed to headings. The list title option is gone, as it was too hard to integrate with external systems, and not really useful when the heading option is available. * In the image element, 'image_id' and 'image_path' are transformed to 'path' for consistency with other elements which reference assets. * Last author information is stored in a new way after the membership changes; the upgrade script updates this information. If you are upgrading a minor version (bugfix release) it should be enough to just press the 'refresh all' button to upgrade. This lets Silva update various configurations in the Zope object database. You should be done upgrading now! Page templates for presentation of public views The upgrade will likely carry new default versions of the page templates and style sheets used for presentation of the public website. You can install these examples in your Silva root by going to 'service_extensions' in the Silva Root and pressing the 'install default layout' button. Doing this won't overwrite your public layout code; the only thing overwritten will be whatever in the current 'default_' objects, if any exist. You can then look at this code for examples. If you're satisfied with their contents you can also rename them to versions without the 'default_' prefix and start using them. Upgrading Custom Content Types. If you have custom content types in a separate Zope Product, and these content types use same the XML as the Silva Document, you should include the objects of your content types in the upgrade process. For this you need to register an upgrade function associated with the meta type of your content type class at the 'upgrade_registry', before you upgrade. to achieve this place something along the lines of the following code in the '__init__.py' of your product:: from Products.Silva.upgrade import upgrade_registry, upgrade_list_titles_in_parsed_xml def upgrade_sampledoc(obj): for o in obj.objectValues(): upgrade_list_titles_in_parsed_xml(o.documentElement) upgrade_registry.register('Silva Sample Document', upgrade_sampledoc) The helper function 'upgrade_list_titles_in_parsed_xml' actually does all the XML upgrades mentioned in the section above. If you only need to update the "last author" information, you do not need to take any action; the upgrade process will do this automatically for you. You also may want to take a look at the most current version of the "SilvaDemoExtension Product":http://cvs.infrae.com/SilvaDemoExtension/ for an example of upgrading a custom content type.