Hilary is the back-end for the Open Academic Environment. The current frontend is at 3akai-ux but we're slowly building a new one, check it out: Cake
There's a docker image on docker-hub that works out of the box: https://hub.docker.com/r/oaeproject/oae-demo
If you want to build that image locally, you can do that by following instructions at https://github.com/oaeproject/oae-demo/
Here are the quick instructions on how to get OAE set up locally. There's also a more in-depth step-by-step tutorial in the wiki.
node -v # make sure you have v16+
npm -v # make sure you have 7.0.8+
git clone https://github.com/oaeproject/Hilary.git && cd Hilary
git submodule update --init
# launch supporting servers through docker
docker-compose up -d oae-cassandra oae-elasticsearch oae-redis oae-nginx
# install dependencies for ethercalc
cd ethercalc && npm install && cd ..
# install and setup etherpad
cp ep-settings.json etherpad/settings.json
# edit etherpad/settings.json and change `oae-redis` and `oae-cassandra` to `localhost`
cp ep-package.json etherpad/src/package.json
cp ep-root-package.json etherpad/package.json
./prepare-etherpad.sh
# install dependencies for 3akai-ux
cd 3akai-ux && npm install && cd ..
# SSL certificate for 3akai-ux
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout 3akai-ux/nginx/nginx-selfsigned.key -out 3akai-ux/nginx/nginx-selfsigned.crt
openssl dhparam -out 3akai-ux/nginx/dhparam.pem 2048
# install dependencies for Hilary
npm i
# run schema migration
npm run migrate
# Run all servers: ethercalc, etherpad and Hilary
npx pm2 startOrReload process.json ; npx pm2 logs
In order to set up OAE on Codespaces, you need to follow the same steps as above. However, every time you re-create a codespace, you'll just need to re-run the services as follows:
docker-compose up -d oae-cassandra oae-elasticsearch oae-redis oae-nginx
npm run migrate
npx pm2 startOrReload process.json --only "Ethercalc, Etherpad"
# if you want to run tests
npm run test
# if you want to run the backend
npm run serve
To run tests just make sure you have installed all dependencies (check wiki page on how to set up a dev environment) and run npm run test
. To run tests on a specific module, just append its path as follows: npm run test-module --module=oae-principals
.
To trigger a pipeline in CircleCI using the API, one needs to run the following (example for sequential tests):
curl --request POST \
--url https://circleci.com/api/v2/project/gh/oaeproject/Hilary/pipeline \
--header 'Circle-Token: YOUR_API_TOKEN' \
--header 'content-type: application/json' \
--data '{"parameters":{"trigger_parallel_tests":false, "trigger_sequential_tests":true}}'
The project website can be found at https://www.oaeproject.org. The project blog will be updated with the latest project news from time to time.
The mailing list used for Apereo OAE is [email protected]. You can subscribe to the mailing list at https://groups.google.com/a/apereo.org/d/forum/oae.
Bugs and other issues can be reported in our issue tracker and we're always available to help in our discord channel.