An annotation platform designed for teaching and learning in the humanities, and with aspirations to more general use.
There are two servers required to run this application. This one, and the MIT Annotation Data Store.
You MUST get the Annotation server running to be able to create or view annotations.
Annotation Studio uses PostgreSQL and Ruby
The MIT Annotation Data Store requires Node.js, NPM and MongoDB
Use rbenv or rvm to install and run the Ruby version specified in .ruby-version
.
(optional additional software: thoughtbot's Laptop repo)
git clone https://github.com/hyperstudio/Annotation-Studio.git
cd Annotation-Studio
./bin/setup
which will:
- Drop existing databases
- Run migrations and prepare the test database
- Seed the application
- Install the MIT Annotation Data Store under
./tmp/annotation_data_store
- Create an example application.yml
After setting up the app, run:
bundle exec foreman start -f Procfile.dev
to spin up development dependencies. You can exist the development daemons by hitting ctrl-c, per normal unix semantics.
If you would like to run the application on Heroku (recommended), do the following
- Create a Heroku app
heroku apps:create $APPNAME
- Add the Heroku PostgreSQL add-on
heroku addons:add heroku-postgresql
- Don't worry about providing db configuration, [Heroku will do it for you] (https://devcenter.heroku.com/articles/heroku-postgresql#connecting-in-rails)
- Use Figaro to load your
application.yml
into environment variables and communicate them to Herokurake figaro:heroku[$APPNAME]
This app uses the apartment gem to allow multiple domains to be hosted in a single instance.
To create a new tenant:
- Log in via an AdminUser account to http://www.your-app-url.com/admin/
- Add a Tenant record, with the full hostname at which you want users to access the application, and the name of the database to be used to store the tenant's data
- Configure DNS for that domain (or subdomain), pointing it to the URL of the application
- Add the domain in question to the web server configuration for the application
- If a domain does not have a matching Tenant, the default "public" tenant will be used.
- Admin users are shared across all tenants, and therefore shouldn't be created and granted to single-tenant users
http://support.annotationstudio.org
Thanks to:
- NEH Office of Digital Humanities who has funded this project
- OKFN for supporting [The Annotator] (http://annotatorjs.org)
- Nick Stenning for being awesome and for leading the Annotator developer team
- Dan Whaley, Randall Leeds and hypothes.is for being awesome and supporting the Annotator Community
- The Annotator community for plugins and being awesome.
- Active Archives Initiative at MIT
- http://aai.mit.edu
- MIT HyperStudio
- http://hyperstudio.mit.edu/
- Jamie Folsom @jamiefolsom
- Liam Andrew @mailbackwards
- Andrew Magliozzi @andrewmagliozzi
- Daniel Collis-Puro @djcp
- Seth Woodworth @sethwoodworth
- Ayse Gursoy @gursoy
- Jacob Hilker @jhilker
- Ben Silverman @blms
- Peggy Wang @pegolegoeggo
- Lizao Wang @LizaoWang
- Joshua Mbogo @mbogo-mit