2.13.2 Update instructions
These are the upgrade instructions for when you have currently Daisy 2.0-RC installed.
2.13.2.1 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.

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.
2.13.2.2 Stop your existing Daisy
Stop your existing Daisy, both the repository server and the Daisy Wiki.
2.13.2.3 Download and extract Daisy 2.0
If not done already, download Daisy 2.0 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.
2.13.2.4 Update environment variables
Make sure the DAISY_HOME environment variable points to the just-extracted Daisy 2.0 directory.
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 [important: no backslash on the end!] [Linux] export DAISY_HOME=/path/to/daisy-2.0
- in Windows, it might be set globally via the System properties
- it could also be that you renamed the Daisy 2.0-RC 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.
2.13.2.4.1 Tanuki wrapper scripts
Open the following two files in a text editor:
<daisydata dir>/service/daisy-repository-server-service.conf <wikidata dir>/service/daisy-wiki-service.conf
Near the top of both files you'll see a line like the following. Make sure the path points to the new Daisy directory.
set.default.DAISY_HOME=/some/path/to/daisy-2.0-RC
2.13.2.5 ActiveMQ configuration updates
Open the following file in a text editor:
<daisydata dir>/conf/activemq-conf.xml
Two changes need to be made. First, add the element memoryManager as child of the broker element, as shown here:
<beans>
<broker useJmx="true" brokerName="DaisyJMS" useShutdownHook="false" xmlns="http://activemq.org/config/1.0"
dataDirectory="/home/bruno/tmp/activemq-data">
<memoryManager>
<usageManager id="memory-manager" limit="0 MB"/>
</memoryManager>
...
Remove the poolPreparedStatements property from the datasource config:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="url" value="jdbc:mysql://localhost/activemq?relaxAutoCommit=true&useServerPrepStmts=false&sessionVariables=storage_engine=InnoDB"/>
<property name="username" value="activemq"/>
<property name="password" value="activemq"/>
<property name="defaultTransactionIsolation" value="2"/> <!-- 2 = TRANSACTION_READ_COMMITTED -->
<property name="poolPreparedStatements" value="true"/>
</bean>
Open the myconfig.xml file, located at:
<daisydata dir>/conf/myconfig.xml
Add the jms.dispatchAsync parameter to the JMS provider URL (the whole URL should be on one line, it is split in multiple lines here for readability):
<target path="/daisy/jmsclient/jmsclient">
<configuration>
<jmsConnection>
<clientId>daisy-repository</clientId>
<credentials password="..." username="admin"/>
<initialContext>
<property name="java.naming.provider.url"
value="vm://DaisyJMS?brokerConfig=${double-url-encode:xbean:${file-to-uri:${daisy.datadir}
/conf/activemq-conf.xml}}&jms.dispatchAsync=true"/>
<property name="java.naming.factory.initial"
value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
<property name="queue.fullTextIndexerJobs" value="fullTextIndexerJobs"/>
<property name="topic.daisy" value="daisy"/>
</initialContext>
<connectionFactoryName>ConnectionFactory</connectionFactoryName>
</jmsConnection>
</configuration>
</target>
2.13.2.6 Daisy Wiki tmp dir
Create an empty directory called tmp in the wikidata directory:
[Windows] cd <wikidata dir> md tmp [Linux] cd <wikidata dir> mkdir tmp
Open the file
<wikidata dir>/service/daisy-wiki-service.conf
and add the following parameters after the existing entries (thus after wrapper.java.additional.10):
wrapper.java.additional.11="-Djava.io.tmpdir=%DAISYWIKI_DATADIR%/tmp" wrapper.java.additional.11.stripquotes=TRUE
2.13.2.7 Delete the fulltext index
The fulltext index changed once more, so it needs to be rebuild. For now, just delete the old index:
[Windows] cd <daisydata dir>\indexstore delete *.* [Linux] cd <daisydata dir>/indexstore rm *
2.13.2.8 Start Daisy
Start Daisy using the
2.13.2.9 Build the fulltext index
Follow the
Previous