Upgrade Guide

1. General Information

Never install a new version of eXist-db into the same directory as an older version.

  1. Always create a backup of your data. In rare cases the new version is binary compatible with the old version, then and only then you can copy the old data directory (by default in $EXIST_HOME/webapp/WEB-INF/data) of the old version. Note: eXist-db needs to be stopped before copying files from the data dir.

  2. Install the new version into a different location.

  3. Check your configuration and adapt to your needs before starting the newly installed eXist-db instance.

  4. Do a full restore of the data you backed up in the first step.

2. Upgrading to 1.4.1

The 1.4 release is not binary compatible with the 1.2.x series. You need to backup/restore.

2.1. Special Notes

Indexing

eXist 1.2.x used to create a default full text index on all elements in the db. This has been disabled. The main reasons for this are:

  1. maintaining the default index costs performance and memory, which could be better used for other indexes. The index may grow very fast, which can be a destabilizing factor.
  2. the index is unspecific. The query engine cannot use it as efficiently as a dedicated index on a set of named elements or attributes. Carefully creating your indexes by hand will result in much better performance.

Please consider using the new Lucene-based full text index. However, if you need to switch back to the old behaviour to ensure backwards compatibility, just edit the system-wide defaults in conf.xml:

<index>
    <fulltext attributes="false" default="none">
        <exclude path="/auth"/>
    </fulltext>
</index>

Document Validation

Validation of XML documents during storage is now turned off by default in conf.xml:

<validation mode="no">

The previous auto setting was apparently too confusing for new users who did not know what to do if eXist refused to store a document due to failing validation. If you are familiar with validation, the use of catalog files and the like, feel free to set the default back to auto or yes.

Cocoon

eXist does no longer require Cocoon for viewing documentation and samples. Cocoon has been largely replaced by eXist-db's own URL rewriting and MVC framework.

Consequently, we now limit Cocoon to one directory of the web application (by default $EXIST_HOME/webapp/cocoon) and moved all the Cocoon samples in there. For the 1.5 version, we will completely remove Cocoon from the standard distribution, though we continue to provide a separate eXist-as-Cocoon-block distribution.

July 2011
Wolfgang M. Meier
wolfgang at exist-db.org
Leif-Jöran Olsson
ljo at exist-db.org