Versions Compared

Key

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

...

These instructions are based on the instructions in the general Upgrading SHRINE to 1.22.8 (from 1.20-1.21) article. You will need to follow all the instructions provided here in order to upgrade to SHRINE 1.20.1 and to properly configure new SHRINE features.

...

$ mv /opt/shrine/tomcat/webapps/shrine-webclient /opt/shrine/upgrade-backups/shrine-webclient

Modify Tomcat

You will need to create a file called setenv.sh in Tomcat's bin/ folder to increase the PermGen size given to itTomcat. This will prevent OutOfMemoryError messages caused by one of the underlying application libraries. Make . Additionally, you will need to change a setting used by that same underlying library so Tomcat will properly shut down. Make sure this file is owned by the same user that runs SHRINE, and make sure it is executable:

...

Code Block
languagebash
titlesetenv.sh contents
export CATALINA_OPTS=" -XX:MaxPermSize=256m -Dakka.daemonic=on "

If using Windows, the file should be named setenv.bat instead, and the contents should look something like this:

Code Block
languagepowershell
titlesetenv.bat contents
set CATALINA_OPTS=-XX:MaxPermSize=256m -Dakka.daemonic=on 

Deploy New shrine.war

Next, we will retrieve the new SHRINE webapp from the HMS Sonatype Nexus server at http://repo.open.med.harvard.edu/nexus/content/groups/public/net/shrine/shrine-war/. Navigate to the folder for 1.20.1. From there, download shrine-war-1.20.1.war to the webapps/ directory on the SHRINE server and rename it to shrine.war.

...

This article contains links to alternative database drivers, as well as links to alternative database scripts for creating tables for the SHRINE Data Steward. It also includes information on the necessary changes to make to shrine.xmlsteward.xmlshrine.conf, and steward.conf.

Also note that due to the new query audit database functionality added in SHRINE 1.20.1, you will also need to modify shrine.conf. There are audit{} blocks that must be added to both the adapter{} and queryEntryPoint{} sections of shrine.conf. By default, these are configured to use MySQL, so users of MySQL do not need to add anything to their shrine.conf. However, users of Oracle or SQL Server for SHRINE must add them. See the below for an example:

No Format
nopaneltrue
shrine {
[...]
  queryEntryPoint {
    audit {
      database {
        slickProfileClassName="freeslick.driverNameHere$"
      }
    }
    [...]
  }
[...]
 
  adapter {
    audit {
      database {
        slickProfileClassName="freeslick.driverNameHere$"
      }
    }
    [...]
  }
[...]
}

Replace "freeslick.driverNameHere$" with the name of the driver you are using ("freeslick.OracleProfile$" for Oracle, and "freeslick.MSSQLServerProfile$" for SQL Server).

Create Query Create Query Audit Databases

SHRINE 1.20.1 adds query audit databases, which will need to be created in order for SHRINE 1.20.1 to function.

...

Surround the usersource{} block with a new block called authenticate{}. Move this entire block Make sure this block is outside of the steward{} block. For example:

No Format
nopaneltrue
shrine {
  steward {
  ...
  }
  
  authenticate {
    usersource {
      domain = "i2b2demo"
    }
  }
}

(Optional) Increase pmEndpoint timeout

...