1.0.0 TO 1.1.0 UPGRADE

Changes (compared to Daisy 1.0.0)

Features

  • Introduced separate ACL permission for changing the version state (publish/draft).
  • Added permanent deletion of documents.
  • Added deletion of part, field and document types (only possible when no longer in use).
  • Notification mails: instead of receiving mails for changes to all pages, it is now possible to subscribe to individual documents and to collections.
  • Out-of-line links in PDF are now clickeable.
  • Switching roles is now easier then before, doesn't require anymore to go to the login screen (includes redesigned general navigation menu).
  • For non-required fields with a selection list, an empty value is now inserted as the first value of the selection list so that it is possible to select no value.
  • When selecting parts in queries, the part label is now shown in the header instead of the %<name>.
  • When you have no access to a document, the error screen now includes a link to the login screen, after login you go to the requested document.
  • Owner of a document can now be changed.
  • Height of the editor can now be changed (see button in the lower-right corner of the edit screen). The height-preference is stored in a cookie, so that it is bound to the browser.
  • Query specific styling, allows to customise how the output of queries is rendered.
  • Group and link nodes in the navigation tree can now have an explicit id attribute (previously the id was always automatically generated).
  • A 'guestbook' sample shows how to extend the Daisy Wiki with a custom form screen, and inserting documents programatically in the repository from within Cocoon's flowscript. See also these notes on the extension provisions.
  • Specifying a class attribute for a table. There's a new toolbar button for this in the editor.
  • For fields with a selection list, the corresponding selection list label is now shown instead of the raw field value, if any.
  • User role name is now passed on to document-styling stylesheets. Allows to have a differt layout depending on the role.
  • i18n: most of the user-displayed strings are now fetched from language-specific resource bundles. See the page on internationalisation on how to add new languages. Thanks to contributions from various people, Daisy now has translations for English, Dutch, French, German, Russian and Polish.
  • On the site overview page, only show sites for which the user has access to their home page.

Fixed bugs

  • Problems with bold/italic styling in lists.
  • Fixed problem with non-ascii characters in queries.
  • Fixed problem with disappearing styles when logging in from the site index page
  • Fixed problem entering @ character in editor in IE
  • Impossible to change note, warning, fixme to normal paragraph.
  • Fixed problem making it impossible to change default JMS RMI port through configuration overrides.
  • Fixed some places in the DaisyWiki where the HTTP GET method was used for triggering processes that make permanent changes.

Upgrading

In most cases upgrading from Daisy 1.0 to 1.1 should be a matter of minutes (excluding upgrading custom-developed skins).

Before starting

Shutdown Daisy (the repository server, the daisy wiki, and the openjms server)

Make backups! More specifically:

  • make a copy of the daisy data directory
  • do a dump of the database:
    mysqldump daisyrepository -uuser -ppassword > daisyrepo.sql

Update database schema

If you have previously updated to Daisy 1.1-pre1, then skip this step.

There have been some changes to the database schema (mostly related to the email subscription model, and the addition of some foreign key constraints to support the new document and type deletion features). The database schema can be upgraded by executing the SQL script which is found in misc/daisy-1_0-to-1_1_update.sql. So practically speeking:

cd DAISY_HOME/misc
mysql -Ddaisyrepository -udaisy -p<password>
[then on the mysql prompt]
\. daisy-1_0-to-1_1_update.sql

Copying over old configuration

Some of the configuration changes done during the initial setup of Daisy included changes to files within the Daisy distribution directory. These now need to be copied over:

  • OLD_DAISY_HOME/openjms/config/openjms.xml to DAISY_HOME/openjms/config/openjms.xml
  • OLD_DAISY_HOME/daisywiki/webapp/daisy/sites/* to DAISY_HOME/daisywiki/webapp/daisy/sites
  • In DAISY_HOME/daisywiki/webapp/WEB-INF/cocoon.xconf:
    • Adjust password for openjms user (if not left to default): <credentials password="openjms" username="admin"/>
    • Adjust password for "internal' user: <cacheUser login="internal" password="defaultpwd"/>
  • If you created any document type-specific stylesheets, you can copy them over also
  • If you developed a custom skin, then you'll have to update it to work with the new version. There's no easy or quick way to do this.

Edit DAISY_HOME/openjms/bin/setenv.(sh|bat), uncomment the line defining the CLASSPATH and put the MySQL driver in the CLASSPATH, which can be found at (substitute DAISY_HOME by its actual location):

DAISY_HOME/lib/mysql/jars/mysql-connector-java-3.0.15-ga-bin.jar

The daisy data directory does not need any updates.

Starting Daisy

Now you can start Daisy again. If you have the new Daisy installed in a different directory, be sure your DAISY_HOME environment variable points to the new location (same for OPENJMS_HOME).

(Optional) Updating wiki schema types

If you're interested in i18n, the Daisy Wiki Initialisation program can update your repository schema to include document and part type labels and descriptions in some new languages. This can be done simply by executing the daisy-wiki-init program again (this requires that the repository server is running).

If you made any changes to the provided wiki types (SimpleDocument, Image, etc) such as adding new fields or parts to them, these associations will be lost. In that case you probably won't want to execute the following.

Open a command prompt, make sure DAISY_HOME is set, go to DAISY_HOME/install, and execute:

daisy-wiki-init

(Optional) Upgrading to MySQL 4.1

After the previous Daisy release, MySQL 4.1 had its first "GA" (General Availability) release, so you could consider upgrading to it. The notable advantage for Daisy is that MySQL 4.1 supports UTF-8 encoding. If you do the upgrade and want to switch to UTF-8, be sure to first dump your repository, then change the MySQL server encoding to UTF-8 (see MySQL docs), and then restore it.