An online annotation platform for teaching and learning in the humanities.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app
bin
config
db
doc
documents/uploads
lib
log
public
script
spec
tmp
vendor
.env
.gitignore
.rails_footnotes
.rspec
.ruby-version
Gemfile
Gemfile.lock
LICENSE.txt
Procfile
Procfile.dev
README.md
Rakefile
app.json
config.ru
get_body.rb
logfile

README.md

Annotation Studio

An annotation platform designed for teaching and learning in the humanities, and with aspirations to more general use.

Works with: MIT Annotation Data Store

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.

Getting Started

Things to install

Annotation Studio uses PostgreSQL

The MIT Annotation Data Store requires Node.js (0.10.21), NPM (1.3.11) and MongoDB

General Installation

Set up Rails (if you haven't yet, try: [thoughtbot's Laptop repo] (https://github.com/thoughtbot/laptop))

annotation-studio```

  • 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.

Installation on Heroku

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
  • Use Figaro to load your application.yml into environment variables and communicate them to Heroku
    • rake figaro:heroku[$APPNAME]

Multitenancy

This app uses the apartment gem to allow multiple domains to be hosted in a single instance.

To create a new tenant:

  1. Log in via an AdminUser account to http://www.your-app-url.com/admin/
  2. 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
  3. Configure DNS for that domain (or subdomain), pointing it to the URL of the application
  4. Add the domain in question to the web server configuration for the application

Caveats

  1. If a domain does not have a matching Tenant, the default "public" tenant will be used.
  2. Admin users are shared across all tenants, and therefore shouldn't be created and granted to single-tenant users

User Support and Developer forum

http://support.annotationstudio.org

Thanks

Thanks to:

Contributors

Lab

Developers

License

GPL2: http://www.gnu.org/licenses/gpl-2.0.html