Versions Compared

Key

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

Table of Contents

Introduction

...

  1. Install/Setup pre-requisite software. These pre-requisites can be downloaded from http://www.openspecimen.org/prerequisites/
  2. Use the below command to download the source code:
    $ git clone --depth 10 https://github.com/krishagni/openspecimen.git
  3. Above command will checkout the master branch or unreleased version of code. If you wish to build source code of a specific release then use below command before proceeding to build. The list of available release version tags can be view here: https://github.com/krishagni/openspecimen/releases
    $ git checkout <release-version-tag>
    $ git checkout v6.1.RC7 # example to checkout source code of OpenSpecimen v6.1.RC7
  4. Do all the pre-requisites setup before deploying WAR file.

  5. Use gradle to build and deploy the application.

...

Following table lists pre-requisites and their supported versions.

Pre-requisite

Version

JDK

1.8

Tomcat

9+

MySQL

5.7

Oracle

11g+

Gradle

2.09

GIT1.8
node.js10+
npm
bower
grunt

The recommended memory requirement for the OpenSpecimen app is 2GB. To configure Tomcat follow How to fix "out of memory" error?

Note: For the database, you can choose between Oracle or MySQL. 

          You'll also need to place an appropriate connector jar for MySQL/Oracle under the 'lib' directory in the tomcat server.

Environment Variables

...

Environment Variable

Description

JAVA_HOME

Absolute The absolute path of the directory where JDK is installed. For example:

C:\JDK1.8

...

The deployment process involves some database operations which requires require specific privileges set for the database user. Use the below command to create a database. Refer to Database Configuration and make sure these privileges are assigned before the deployment process.

...



MySQL
Oracle
Driver class namecom.mysql.jdbc.Driver

oracle.jdbc.OracleDriver

DB URL jdbc:mysql://<db_host>:<db_port>/<db_name>jdbc:oracle:thin:@<db_host>:<db_port>:<dbname>

Add below XML fragment below  <Resource> tag in $TOMCAT_HOME/conf/context.xml

Code Block
<Environment
  name="config/openspecimen"
  value="$TOMCAT_DIR/conf/openspecimen.properties"
  type="java.lang.String"/>

...


Field
Description
Values
app.name

This field is useful for deploying multiple OpenSpecimen instances on the same Tomcat server. E.g. You can use "os-test" and "os-prod".

Typically this is "openspecimen".
tomcat.dirThe absolute path to the Tomcat directory


app.data_dir

Absolute path to OpenSpecimen data directory.

Best practice:

Create a folder in parallel to 'tomcat.dir' with the name "OpenSpecimen/data"

app.log_conf

The folder where the OpenSpecimen logs should be created

If left empty logs are created in "app.data_dir/logs"

datasource.jndiName of datasource configured in "context.xml"Usually, it is "jdbc/openspecimen".
datasource.type

"fresh": If your database schema is created by OpenSpecimen from scratch.

"Upgrade": if your database schema is upgraded from a caTissue database.

Note: The name is a bit misleading, we will fix this in v5.2.

"fresh" or "upgrade"
database.typeMySQL or Oracle

"mysql" or "oracle"

plugin.dir

Absolute path to the plugin directory.

Best practice:

Create a folder in parallel to 'tomcat.dir' with the name "OpenSpecimen/plugins"

Configure build.properties

Property NameDescriptionDefault ValueAllowed Values
app_home

The absolute path of the directory where the Tomcat server is extracted and installed.

NoneExample: /usr/local/openspecimen/tomcat-as

...

  1. Open command terminal
  2. Change to the directory where OpenSpecimen source code is checked-out
    • cd $OS_HOME
  3. Setup npm & bower dependencies.
    • cd www/
    • npm install
    • bower install
  4. Change directory to root directory of source code.
    • cd ..
  5. Use the following command to build and deploy OpenSpecimen into the app_home directory (Tomcat or JBoss server).
    • gradle deploy
  6. To only compile Java source files use the following command
    • gradle compileJava
  7. To build OpenSpecimen web app archive without deploying use following command
    • gradle build

...