2.0 TO 2.0.1 UPGRADE

Changes since 2.0

This is a list of all changes which happened since the 2.0 release.

  • Navigation tree: in the query node, referencing values from outer queries using ${..} fails for some data types. See DSY-440.
  • In the siteconf allow specification of the default collection using the collection name.
  • XML text extractor (full text indexer): avoid loading external DTD subset (only when Xerces is used as parser).
  • daisy-docid-convertor tool: disable document type validation when saving documents.
  • Fix for when servlet container doesn't strip ";jsessionid" from the URL.
  • HTML editor: fix a javascript error which can sometimes occur when creating a link (mainly a problem in Firefox 2.0).
  • Fix broken confirmation pages of user registration, login reminder and password reminder.
  • When browsing for includes, don't show the fragment ID selection as it serves no purpose and is hence confusing.
  • When entering a query in a document, and using the 'open' button in the editor to test the query, newlines were incorrectly stripped from the query, causing the query to be invalid due to missing whitespace.
  • Fixed an error with the editor heartbeat signal on Internet Explorer (server response was erroneously serialized as HTML instead of XML)
  • Service wrapper:
    • Added a txt file to the wrapper/bin directory to explain how the scripts should (not) be used.
    • Created separate scripts for installing the tanuki service wrapper scripts and configuration. Service scripts are not installed at install time but at any time the users pleases.
    • The scripts assumed the java executable is in the path, now it is instead taken from the JAVA_HOME directory.
  • Image hook: the work is now redone if any of the target data is missing (this also provides a way to trigger the image-hook to redo its work, which was not possible in 2.0)
  • Fixed merlin startup script to work on Solaris.
  • Fix bug in InCollection query language construct: when used with multiple arguments in ACL, the 'applies to' checking (for the new document page) was failing.
  • daisy-wiki-add-site utility: don't fail if the specified collection already exists.
  • daisy-wikidata-init: if registrar user already exists, but there is no wikidata directory around anymore, propose to re-assign a new password.
  • document summary creation and XML text extractor (for fulltext indexing): exclude the content of include, query, and query-and-include instructions.
  • The service wrapper scripts are now configured/installed by a separate utility (daisy-service-install), making it easy to perform this also after an upgrade (or after a relocation of the datadirs, or in case they're lost, ...).

Update instructions

These are the upgrade instructions for when you have currently Daisy 2.0 installed.

This release requires no special upgrade steps, besides putting the new Daisy distribution in place.

In case you have problems during the upgrade or notice errors or shortcomings in the instructions below, please let us know on the Daisy mailing list.

Daisy installation review

In case you're not very familiar with Daisy, it is helpful to identify the main parts involved. The following picture illustrates these.

upgrade_from_2_0_dirschema

There is the application directory, which is simply the extracted Daisy download, and doesn't contain any data (to be safe don't remove it yet though).

Next to this, there are 3 locations where data (and configuration) is stored: the relational database (MySQL), the repository data directory, and the wiki data directory. The Daisy repository and the Daisy Wiki are two independent applications, therefore each has its own data directory.

The text between the angle brackets (< and >) is the way we will refer to these directories further on in this document. Note that <DAISY_HOME> is the new extracted download (see later on), not the old one.

Stop your existing Daisy

Stop your existing Daisy, both the repository server and the Daisy Wiki.

Download and extract Daisy 2.0.1

If not done already, download Daisy 2.0.1 from the distribution area (Sourceforge). For Windows, download the zip or autoextract.exe (not the installer!). For Unix-based systems, the .tar.gz is recommended. The difference is that the .zip contains text files with DOS line endings, while the .tar.gz contains text files with unix line endings. When using non-Linux unixes such as Solaris, be sure to use GNU tar to extract the archive.

Extract the download at a location of your choice. Extract it next to your existing Daisy installation, do not copy it over your existing installation.

Update environment variables

Make sure the DAISY_HOME environment variable points to the just-extracted Daisy 2.0.1 directory.

Note that when you start/stop Daisy using the wrapper scripts, you don't need to set DAISY_HOME, though you do need to update or re-generate the service wrapper configuration (see next section).

How this is done depends a bit on your system and personal preferences:

  • it might be that you set the DAISY_HOME variable each time at the command prompt, in which case you simply continue to do this but let it now point to the new location:
    [Windows]
    set DAISY_HOME=c:\path\to\daisy-2.0.1  [important: no backslash on the end!]
    
    [Linux]
    export DAISY_HOME=/path/to/daisy-2.0.1
  • in Windows, it might be set globally via the System properties
  • it could also be that you renamed the Daisy 2.0 directory to something that doesn't contain the version number (such as simply "daisy"), in which case you can leave the DAISY_HOME setting alone and just rename the daisy directories.

Tanuki wrapper scripts

Please see the wrapper documentation on how to (re-)install the service wrapper scripts.

Start Daisy

Start Daisy using the normal scripts or the wrapper scripts.

Note on the fulltext index

The XML text extractor has been improved to ignore the content of the special Daisy include, query and query-and-include sections. If you want this to take effect, you need to rebuild the fulltext index, as described in the full text indexer docs.