Installation
Dependencies
Runtime Dependencies
Chaise depends on the following server- and client-side software.
Relational data resources: Chaise is intended to be deployed in an environment that includes the ERMrest service for exposing tabular (relational) data as Web resources.
Web server: Chaise can be hosted on any HTTP web server. Most likely you will want to deploy the app on the same host as ERMrest. If it is deployed on a separate host, you will need to enable CORS on the web server on which ERMrest is deployed.
ERMrestJS: ERMrestJS is a client library for ERMrest. This library must be properly installed before installing Chaise. For more information about installing ermrestjs please refer to its installation document.
openseadragon-viewer: Chaise uses openseadragon-viewer as part of the viewer app. If viewer app is not useful to your deployment, you don’t need this. For more information about viewer app please refer to this document.
Development Dependencies
Development dependencies include:
Make: usually present on any Unix systems.
Rsync: usually present on any Unix systems.
Node: usually present on any Unix systems. Please refer to the
enginesproperty in pacakge.json to find the supported versions.For development environments we recommends installing nvm which will allow you to easily install and switch between different versions.
Additional dependencies specified in package.json will be automatically retrieved by NPM.
Stop! Before going forward read this!
Before proceeding, first install ERMrestJS. See ERMrestJS for more information. If you plan to run Chaise tests, you should first run the ERMrestJS tests, which will also instruct you to get shared dependencies needed for testing Chaise.
Deploying
First you need to setup some environment variables to tell Chaise where it should install the package. The following are the variables and their default values:
WEB_URL_ROOT=/ WEB_INSTALL_ROOT=/var/www/html/ CHAISE_REL_PATH=chaise/
Which means Chaise build folder will be copied to
/var/www/html/chaise/location by default. And the URL path of Chaise is/chaise/. If that is not the case in your deployment, you should modify the variables accordingly.Notes:
All the variables MUST have a trailing
/.If you’re deploying remotely, since we’re using the
WEB_INSTALL_ROOTinrsynccommand, you can use a remote locationusername@host:public_html/for this variable.A very silly thing to do would be to set your deployment directory to root
/and runmake deploywithsudo. This would be very silly indeed, and would probably result in some corruption of your operating system. Surely, no one would ever do this. But, in the off chance that one might attempt such silliness, themake deployrule specifies adont_deploy_in_rootprerequisite that attempts to put a stop to any such silliness before it goes too far.
Build the Chaise bundles by running the following command:
make distNotes:
Make sure to run this command with the owner of the current folder. If you attempt to run this with a different user, it will complain.
To deploy the package, run the following:
make deployNotes:
Before bundling and deploying Chaise packages, this command will install the node modules. You can also use alternative commands to modify this behavior. For more information please refer to the developer guide.
If the given directory does not exist, it will first create it. So you may need to run
make deploywith super user privileges depending on the installation directory you choose.
Configuration
See the configuration guide.
Running
Once deployed the apps can be found at http://<hostname>/chaise/<app>, where <app> must be replaced with one of the app names (i.e., search, recordset).
Testing
Please refer to he E2E tests guide.