Name: Olympus
Owner: Observational Health Data Sciences and Informatics
Description: [UNDER DEVELOPMENT] OLYMPUS - An OHDSI Launcher and Configurator
Created: 2015-01-28 03:22:07.0
Updated: 2016-08-31 10:08:28.0
Pushed: 2015-10-07 19:13:31.0
Size: 108281
Language: JavaScript
GitHub Committers
User | Most Recent Commit | # Commits |
---|---|---|
Jon Duke | 2015-04-28 13:25:21.0 | 6 |
Alex Franken | 2015-10-07 19:13:27.0 | 120 |
Mark Velez | 2015-09-29 16:20:18.0 | 3 |
Other Committers
User | Most Recent Commit | # Commits | |
---|---|---|---|
Charity Hilton | cahilton@regenstrief.org | 2015-04-30 17:02:43.0 | 29 |
OLYMPUS (OHDSI Loaded on Your Computers to Perform Ultimate Science) is a package designed to simplify the configuration of CDM-based research environments and the usage of OHDSI tools.
Non-developers should download builds directly at http://www.ohdsi.org/analytic-tools/olympus-a-unified-platform-for-ohdsi-web-applications
Olympus : By default, all vendor jdbc drivers are dependencies. If you wish to package with a single or subset, consider the vendor-specific db profiles mvn clean package -Polympus-oracle
or package will all drivers mvn clean package
. The default requires all dependencies to be accessible in an artifact repository.
Olympus packages the following applications. If you wish to build Olympus and change the applications, consider the following.
WebAPI (package using defaults mvn clean package
)
Hermes, Circe, Heracles, Calypso, JobViewer
mvn clean package -Dolympus.local.address=http://example.com:20000
). maven-war-plugin webResources and filtering is used to support the latter. This mechanism is not triggered in time for use within eclipse (when run as a java application or using spring-boot maven plugin. TODO it may be worthwhile to spend some additional effort here and see if eclipse can “run on server”. Currently, one receives a “The selection cannot be run on any server”.git log --stat -- src/main/webapp/Achilles
. Check out changes in a commit git show 360b14
.Summary of changes:
git show 360b14
- 1.) Change ajax calls from referencing local 'data/X.json' to call Olympus endpoint that returns the json, read from a file location defined in Olympus (default /var/achilles/data).Changes are maintained in Olympus/src/main/resources/applications and are filtered and copied over the top of the respective files found in Olympus/src/main/webapp See 'Copying webapp webResources' in below log snippet.
O] --- maven-war-plugin:2.1.1:war (default-war) @ Olympus ---
O] Packaging webapp
O] Assembling webapp [Olympus] in [/Users/alfranke/Documents/IDE/workspace/Olympus/target/Olympus]
O] Processing war project
O] Copying webapp webResources [/Users/alfranke/Documents/IDE/workspace/Olympus/src/main/resources/applications] to [/Users/alfranke/Documents/IDE/workspace/Olympus/target/Olympus]
O] Copying webapp resources [/Users/alfranke/Documents/IDE/workspace/Olympus/src/main/webapp]
O] Webapp assembled in [805 msecs]
O] Building war: /Users/alfranke/Documents/IDE/workspace/Olympus/target/Olympus.war
To run, with the above changes considered, you must package the war and then run according to below.
java -XX:MaxPermSize=128m -jar Olympus-XXX-exec.war
-XX:MaxPermSize only needed prior to jre 8
Note: if you only need to develop against local Olympus code (not dependent upon the OHDSI applications), it is most efficient to run the Olympus.class as 'Java Application' (which will use an embedded jetty). Or you can use mvn spring-boot:run
.
To launch a local WebAPI (if configured), on startup, add -Dolympus.webapi.launch.enabled=true
Olympus will create an 'olympus' directory within the ${java.io.tmpdir} environment variable location.
Look for a log statement like this (Windows example) …
-05-07 15:48:54.443 INFO main org.ohdsi.olympus.DataSourceConfig - - Using jdbcurl: jdbc:h2:file:C:\Users\afranken\AppData\Local\Temp\olympus\dbfile
Mac Example: Mac java.io.tmdir = /var/folders/56/dfxv12_d6wb8dd4blw46j43h0000gn/T Olympus dir = /var/folders/56/dfxv12_d6wb8dd4blw46j43h0000gn/T/olympus
Olympus uses an h2 file database. You can access the h2 console after starting Olympus and authenticating with a user that has the 'ADMIN' authority.
http://localhost:20000/console
Consider maven war plugin web resources to contain modified application files (e.g. Hermes config.js, etc. and src/main/webapp/Hermes would contain unmodified source. Likely easier to do upgrades/diffs.
Apache