Daisy documentation
 PreviousHomeNext 
2.13 2.0-RC to 2.0 upgradeBook Index2.14 2.0 to 2.0.1 upgrade

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:

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&amp;useServerPrepStmts=false&amp;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}}&amp;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 normal scripts or the wrapper scripts.

2.13.2.9 Build the fulltext index

Follow the instructions in the documentation.

 PreviousHomeNext 
2.13 2.0-RC to 2.0 upgrade2.14 2.0 to 2.0.1 upgrade