See also LICENSE.txt
Meta::
Valid for: Silva 0.9.1.x
Author: Martijn Faassen
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":
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":.
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":
* "FileSystemSite-1.2.tgz":
The latter is a temporary location, it should be downloadable here
soon:
* "FileSystemSite-1.2.tgz":
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":
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": for an example
of upgrading a custom content type.