Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Stop Tomcat - it is vital that Tomcat, and any other applications that may access the triple stores, are not running during this process.

  2. Run mvn clean install -s <your-settings.xml>  in your VIVO 1.10.0 area to update your web application and home directory
    This will install the required tools into your <vivo_home>/bin directory.

  3. To export your triple stores, use the jena2tools utility provided with VIVO 1.10.0, in <vivo home dir>/bin, specifying the export command, as shown below.

    Code Block
    java -jar jena2tools.jar -e -d <vivo_home>

    Arguments:

    -d - the location of the Vitro/VIVO home directory

    -e - run in export mode

    On execution, the program will read your configuration files, find your VIVO configuration within the vivo home directory, and get the necessary information to connect to your configuration triple store, and your content triple store. If your triple store(s) are not SDB or TDB backed, they will be skipped.

    jena2tools will then extract the contents of the triple stores, and write them to <vivo_home>/dumps

    Warning

    In rare cases jena2tools will fail with a java.lang.NullPointerException. This can occur if VIVO was not properly shut down before upgrading.

    The preferred fix for this is to restore VIVO 1.9.x and see that it is properly started and shut down before upgrading. If this is not practical, another workaround is to delete the file named tdbModels/journal.jrnl in the Vitro/VIVO home directory. This may result in the loss of the most recent login information.


  4. Check that the export has completed - you should have a <vivo_home>/dumps directory, that contains the files configuration.trig and content.trig.

  5. Empty your triple stores
    • Drop your database and recreate it as empty, just as you would for creating a new VIVO install.  jena3tools must find an empty database (no tables) as named in your runtime.properties and will recreate your content triple store using the triples produced by jena2tools

      Code Block
      mysql> DROP DATABASE vitrodb;
      mysql> CREATE DATABASE vitrodb CHARACTER SET utf8;
      mysql> GRANT ALL ON vitrodb.* TO 'vitrodbUsername'@'localhost' IDENTIFIED BY 'vitrodbPassword';


    • Delete all files in <vivo_home>/tdbModels.  Jena3tools will rebuild your configuration tdbModels based on the content created by jena2tools

      Code Block
      rm -rf <vivo_home>/tdbModels



  6. Reload your triple stores

    Having exported your triple stores, you can reload them using jena3tools, also available with VIVO 1.10, specifying the import command.

    Code Block
    java -jar jena3tools.jar -i -d <vivo_home>

    Arguments:

    -d - the location of the Vitro/VIVO home directory

    -i - run in import mode

    On execution, the program will find your VIVO configuration within the home directory, as well as the dumps that you have created with jena2tools. It will import them into the SDB and TDB triple stores, based on the configuration of your VIVO instance.

    jena3tools will be present in <vivo home dir>/bin when you install the 1.10.


    Note that this can take a while. A rough guide is to expect about 600 triples per second to reload. (Roughly 1 hour per 2 million triples).

  7. Restart Tomcat

    VIVO checks its filegraphs when starting.  Restarting for the first time after an upgrade will take some time.

Upgrade Local Java Code Using Jena

If you have local customisations or additional applications that make use of the Jena libraries, you will need to upgrade these to work with Jena 3. Mostly this is simply a case of renaming any packages in imports for Jena classes:

...

However, some classes have been moved, or removed, and some interfaces have additional methods. So in rare cases you may find that you need to make a few small changes beyond this.

...

Notes on Other Dependency Changes

To remove the possibility of incompatible classes being loaded, and to remove known vulnerabilities from the code base, most of the Java dependencies in VIVO have been removed, updated or replaced.

...