Gala is a platform for authoring, teaching, and sharing media-rich teaching cases and modules.
Gala is free to use at www.learngala.com and we encourage you to join the community there. A guide getting started with Gala as a user and more information about features can be found at docs.learngala.com/docs.
- Docker
- Ruby 2.7.6
- Node 12.5.0
rbenv install 2.7.6
rbenv shell 2.7.6
gem install bundler
bundle install
nodenv install 12.5.0
nodenv shell 12.5.0
npm install yarn
yarn
docker compose up
to start the appdocker compose down
to stop the appbundle exec rspec
to run the Ruby testsyarn test
to run the Javascript tests
When you update dependencies be sure to run these commands locally first
bundle install
to install Ruby dependenciesyarn
to install Javascript dependencies
Then you can run docker compose up --build
to rebuild the containers with the new dependencies.
If you update Javascript dependencies, you'll need to additionally run docker compose run web yarn
to install them in the web container since the node_modules directory is mounted as an anonymous volume (for performance).
docker compose run web yarn
to install new JS dependencies in the web containerdocker compose run web bash
to get a shell inside the web containerdocker volume rm gala_db_data
to delete the database volumedocker compose up --build
to rebuild the containers
The full-text case search is powered by a Postgres materialized view so it’s
really fast. The consequence is that changes don’t appear in search results
until the view is refreshed. Set a cron job or use Heroku Scheduler or the
equivalent to run rake indices:refresh
as frequently as makes sense.
To send a weekly report of usage data, run rake emails:send_weekly_report
once
per week.