Skip to content
Erik Sundvall edited this page Feb 24, 2020 · 20 revisions

Installing LiU EEE

Installation using the present version of instructions might be possible for experienced hackers...

Feedback and help is welcome, if you find pitfalls/bugs during install, please inform us by describing the issue here at https://github.com/LiU-IMT/EEE/issues

Maven

  • First make sure that your system has Java and Maven installed, see http://maven.apache.org/ (You may need to modify your system path setting manually to be able to execute the mvn command in a simple way from any directory.)

Compile and install java-libs from openEHR

LiU EEE depends on the openEHR java-libs, but right now (when this is written) there is no place for Maven to download pre-built jars from, thus we build the java-libs from source:

  • Get a copy of the openEHR java-libs project from https://github.com/openEHR/java-libs You can either use GIT to clone that repository to your local machine or download (and unpack) a zip-file from that page.
  • Let Maven automatically download dependences from the internet, build and install the java-libs project to your local Maven repository in your computer. This is done by simply executing mvn install in the directory where you cloned or unpacked the java-libs project. Wait until the Maven install process has finished.

Compile and install LiU EEE

  • Get a copy of LiU EEE (via GIT or ZIP) from https://github.com/LiU-IMT/EEE/ if you have not already done that.
  • Let Maven download dependences, and build, test and install the EEE project to your local Maven repository in your computer. This is done by simply executing mvn install in the directory where you cloned or unpacked the EEE project. Wait until the Maven process has finished. (Some libraries not easily found in public Maven repositories have been provided in the /repo subdirectory of EEE and will (hopefully) automatically be installed from there to your local Maven repository.)

eXist XML database

  • Install version 2.0 (or higher) of the eXist database found at http://exist-db.org/ During installation you will be asked to create and remember an administrator password.

After installation start eXist db and log in using the eXist admin tools and

  • Add a new database named EEE. (Later the EEE software will add five additional collection inside this EEE database)
  • Create a user named eee and assign that user a password (not the same as your admin password).
  • Give user eee write privileges for the database EEE
  • Edit the restserver.propertises file so that the section "Database settings" matches your database setup including the password for user eee. (For most people that means changing the line databasePass=secret)

Starting LiU EEE

  • eXist needs to be running first (check this e.g. by accessing http://localhost:8080/)

  • Run the DemoStarter class in EEE. One way of doing this is via Maven by running the command:mvn exec:java -Dexec.mainClass="se.liu.imt.mi.eee.DemoStarter" in the directory where you unpacked LiU EEE. Your operating system firewall software might ask you if you really want to open a web server and allow access.

  • If EEE starts up at the default port 8182 (adjustable in the file restserver.properties) you can now access EEE at http://localhost:8182/ using a web browser. (At first startup five document collections are generated inside the EEE database that you previously manually created using the eXist admin console, you should now be able to see them by refreshing the admin console view if you are curious.)

  • But there is no EHR content in the database, so while DemoStarter is still running the web server now, also start se.liu.imt.mi.eee.utils.LoadExample class. Since you don't want to stop the EEE web server, you'll likely need to open another command window and start the example data import there. One way of doing this is via Maven by runnung the command:mvn exec:java -Dexec.mainClass="se.liu.imt.mi.eee.utils.LoadExample" in the directory where you cloned or unpacked the EEE project.

  • You can check that the example content was loaded properly by listing it in any relevant view, for example http://localhost:8182/ehr:example-ehr-id/ or http://localhost:8182/experiments/timeline3.html#ehr=example-ehr-id&foo=test

  • Some of EEE features need an user account. These users are defined at the bottom of the restserver.propertises file (eg: "user.r.demo=demo" creates a user:demo/pass:demo that has read-only access).

Known bugs and issues

Known bugs and issues are listed at https://github.com/LiU-IMT/EEE/issues