/textlab

A collaborative space for creating and publishing digital critical editions.

Primary LanguageHTMLGNU General Public License v3.0GPL-3.0

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.