== TextLab
TextLab enables users to transcribe revisions in manuscript of a work, collate variant print versions, narrate the sequence of revision, display diplomatic and base versions, and generate a corrected, emended, and annotated reading text version as a critical edition of the work.
=== Technical Description
TextLab is a Ruby on Rails 4.2 application that runs on JRuby 9.1.12.0. It uses PostGres for its database. A worker process is required for delayed job. This application is made to run in the Heroku hosting environment, but has no dependencies to Heroku components. It is a single page application using Backbone.js and Bootstrap. The Rails server is mostly a REST service, but it also serves up the published editions. It makes use of the TEI XSLT for creating HTML renderings of the edition. TextLab runs on JRuby to allow for the use of the Java XSLT processor.
=== Installation
You can install TextLab just as you would any Ruby on Rails application. If you are not using the Heroku toolbelt, you will need to run the webserver using some other mechanism. TextLab uses Puma as its web server.
=== Configuration
Configuration is accomplished via ENV variables. See the file config/settings.yml to understand which variables you need to set. TextLab utilizes an SMTP mail server.
=== Deployment
On development, RoR will auto-compile assets for you. On production, assets are served out of a static directory. Therefore, while developing you don't need to do anything differently, but when you are ready to test or deploy to Heroku you should:
rake assets:precompile
This will generate (or re-generate) a /public directory which SHOULD be checked into GIT. Production and PR instances will use this directory.