Copyright (c) 2002, 2003 Infrae. All rights reserved.
See also LICENSE.txt

Meta::

  Valid for:  Silva 0.9.2.6
  Author:     Martijn Faassen
  Email:      faassen@infrae.com
  CVS:        $Revision: 1.31.2.7 $

Introduction

  This document applies to upgrading Silva only; if you are newly
  installing Silva please look at 'INSTALL.txt'. If you encounter
  problems you may wish to consult 'TROUBLESHOOTING.txt'.

  NOTE: It makes of course sense to make a backup of Silva before
  trying to upgrade! 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 that for convenience we now release versions of Silva
  containing all Product dependencies, as the 'Silva-all'
  releases. You can find them in the Silva download area:

    http://www.zope.org/Members/infrae/Silva

Upgrading Silva 0.9.2.5 to 0.9.2.6

  No special actions are required.

Upgrading Silva 0.9.2.4 to 0.9.2.5

  The only thing to do for an upgrade is to install a new version of
  Silva, SilvaMetadata, ProxyIndex and Annotations, and a Zope
  restart.
  
Upgrading Silva 0.9.2.3 to 0.9.2.4

  There was a problem with SilvaMetadata. The only thing to do for an
  upgrade is in fact to update SilvaMetadata to 0.7.2. For convenience
  however we've also done a new Silva release which contains a
  silva-all version with all product dependencies.

  There should be nothing necessary but a Zope restart to make this
  work.

Upgrading Silva 0.9.2.2 to 0.9.2.3

  There was a problem with permission settings that has been fixed in
  Silva 0.9.2.3. To activate this for an existing Silva root, please
  press 'refresh' for the Silva core product in service_extensions.

  Upgrading to 0.9.2.3 from 0.9.2.2 means you need a new version of
  Silva, SilvaMetadata, Formulator and XMLWidgets. You don't need to
  upgrade Annotations and ProxyIndex, but it can't hurt.

Upgrading Silva 0.9.1.x to 0.9.2.2

  NOTE: The Groups functionality is changing with Silva 0.9.2. 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.2.5 you need a new versions of Silva,
    Formulator and XMLWidgets. In addition to this you now need
    ProxyIndex, Annotations and SilvaMetadata too.

    Silva (0.9.2.5):
    
        http://www.zope.org/Members/infrae/Silva

    Formulator (1.5.0):

        http://www.zope.org/Members/infrae/Formulator

    XMLWidgets (0.10.1):

        http://www.zope.org/Members/infrae/XMLWidgets

    ProxyIndex (1.1.1):

        http://www.zope.org/Members/infrae/ProxyIndex

    Annotations (0.4.2):

        http://www.zope.org/Members/infrae/Annotations

    SilvaMetadata (0.7.3):

        http://www.zope.org/Members/infrae/SilvaMetadata

  Refreshing and upgrading the Silva product

    If you are upgrading from 0.9.1 to 0.9.2.2, 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.

    In Silva 0.9.2.2, several reserved ids are added. When the upgrade
    script encounters an object with a reserved id, the object is renamed
    and the id is added to a list, which is shown after the upgrade has
    finished. Copy this list somewhere and make sure all the links and
    references to those objects are manually modified, since the upgrade
    script doesn't update those!
    
    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.

    The most important change in the Page templates for for presentation 
    of public views is the deprecation of the get_[something]_html methods.
    E.g. where "get_title_html" has been used, you now should use
    "get_title". See for more info on this and other methods the API.txt
    document in the doc subdirectory of the Silva Product directory.
 
  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.


Upgrading Silva 0.9.0.x to 0.9.1.x

  Please upgrade your Silva to 0.9.1.x first. Be careful to read its
  upgrade instructions! You can find Silva 0.9.1.x here:

  "Silva 0.9.0.x":http://www.zope.org/Members/faassen/Silva/

  Please read the UPGRADE.txt included with that release.

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.
