Wiki

Clone wiki

jummp / production

Setup for production use

This is a guide on how to set up and run Jummp in production mode. Jummp expects a database to be available for use. See prerequisites for more.

Initial Setup

Deploy the compiled WAR to your Tomcat server. After the web-application has been started, navigate your browser to http://url-of-your-tomcat-server/jummp/setup. It will take you automatically to the configuration steps.

Jummp provides an initial setup wizard through the configuration plugin. There is a filter in the root web application (grails-app/configuration/net/biomodels/jummp/filters/SetupFilters.groovy) checking whether the configuration file exists at application startup. The SetupController provides a web flow to configure every aspect of the Jummp instance.

Database

The first configuration dialog is to specify the required MySQL or PostgreSQL information. Just use the name of the database, user, etc. you created above. Be aware that JUMMP does not test whether the connection data is correct. If the connection data is incorrect, JUMMP might just refuse to start without any useful information.

Authentication Backend

JUMMP supports authenticating against the Database or against an LDAP server. In case of Database the password is stored as a hash in the user table. In case of LDAP authentication is performed against the LDAP server and no password is stored in the database. If you use LDAP some further information is required. JUMMP's LDAP support has been tested against a Microsoft Active Directory. Note that LDAP is currently disabled, and the user is not allowed to select this option. This may change in subsequent releases

Version Control System

JUMMP uses a Version Control System to store Model files. It supports either git (the subversion option is displayed, but not selected, as subversion support is currently disconnected). JUMMP needs a directory for the working directory and one directory to exchange files.

Please note that the git backend does not support pushing and pulling to a remote repository.

User Registration

JUMMP provides settings on how users can register. It is possible to enable/disable user registration. If disabled only an administrator can register new users. If a user registers himself or gets registered by an admin an email is sent with their password. It is possible to redirect the email to the administrator. Through the email the user (or admin) has to verify the account. The email text can be anything, but it should contain the following text, which will get replaced by appropriate values by JUMMP when sending emails:

  • {{REALNAME}} - the users real name
  • {{USERNAME}} - the user's username
  • {{PASSWORD}} - the user's password

IPC

JUMMP can provide JMS bindings, which can be selected on this page.

Server URL

JUMMP needs to know the URL where it is running.

Invalidating Sessions

JUMMP offers the possibility to configure how long a session is kept open in the core application. If you don't know what this is talking about, just keep the default settings.

Mail

To be able to send mails, mail server settings need to be provided.

A directory with write access is required for search index indexing.

SBML

The SBML plugin requires configuration with regards to whether files are validated using the SBML web service. This is potentially expensive, and should be disabled if not required.

CMS

The location for the policy file for the weceem CMS plugin. This can be left blank if no customisation is required.

After the last configuration step the configuration gets saved. The location of the configuration file depends on whether the JUMMP_CONFIG environment variable is set. If it is, then the file is saved in that location. Otherwise the file is saved in $HOME/.jummp.properties. You can apply changes manually to this file or in production mode use the web-interface to change configuration values. Be aware the changes are not applied at runtime. To apply a change you need to reload the web application.

Create First User

Reload the jummp application in your servlet container. The first user is created by default with administrator rights, with the credentials of administrator/administrator. Please make sure to change this password after deployment to something more secure.

Deploy Web Application

After configuring the application and creating the admin user, reload the JUMMP Application. This is required to ensure that the Database is setup correctly.

When the application is started you can deploy the jummp-web-application.war file. It shares the configuration with the core application, so there is nothing special to setup. When loading you can navigate your browser to the application and use it.

It is important to know that jummp-web-application has to be loaded after jummp. If jummp-web-application is loaded before jummp, startup will fail. In that case you can start it again after jummp has been loaded. Tomcat starts the web applications in a non-deterministic way.

Backup

You need to backup the database and the VCS system. Please refer to the documentation of the products on how to perform backups.

Configuration Changes

After the web application has been setup for the first time it is not possible to use the SetupController anymore. The named filter blocks all access to it, as the controller is not secured. There exists the ConfigurationController also provided by the configuration plugin which allows to change the same settings as in the SetupController. This controller is secured, so that only users with ROLE_ADMIN are allowed to access it. Contrary to the SetupController, single pages are used and not a wizard. So only single aspects of the application can be changed. As always, JUMMP is not able to pickup the changes at runtime and needs to be restarted.

See also Configuration

Updated