Skip to content
This repository

Web application designed to perform digital humanities research tasks on a database of journal articles. Frontend written in Rails, backend database stored in Solr.

tree: 1939b06d5a


Build Status

Author: Charles Pence
Contributors: See Contributors section below
Copyright: 2011–2012
License: MIT License
Latest Version: (still in private beta)
Release Date: (still in private beta)

RLetters is an application designed to let users perform complex searches as well as digital-humanities and text-mining analysis tasks on a corpus of journal articles.


Complex search

The Solr backend on which RLetters is based allows for a number of complicated searching operations:

  • Boolean operators ("darwin OR huxley")
  • Wildcard search ("*fish" or "wom?n")
  • Text stemming ("evolution" matching "evolutionary" or "evolutionist")
  • Fuzzy matching (matching words similar to the requested term)
  • Proximity searching (two terms within N words of one another)

Text analysis

RLetters allows users to save the results of a given search as a "dataset." This produces a saved record that users can return to later in order to perform text analysis tasks.

While text analysis tasks are a current area of active development in RLetters, currently the following are available:

  • Graph dataset by year
  • Export dataset as citations in a variety of formats
  • Show complete table of term frequency information (for datasets consisting of a single document)

Support for web and library standards

RLetters provides support for the following web and library standards:

  • unAPI for automatic bibliographic data retrieval from individual documents
  • WorldCat OpenURL Registry for detection of the OpenURL resolver of the user's local library

And you can export bibliographic data in the following standard formats:

Cutting-edge development and maintenance tools

RLetters doesn't leave your developers out in the cold, either. We've got support for the following features that make development, deployment, maintenance, and monitoring easier:

  • All deployment (and even much of the configuration) handled automatically by Capistrano
  • Track page views with Google Analytics
  • Source well-documented using Yard
  • Continuous integration support with Travis
  • Baked-in support for error reporting using Airbrake (account registration required)

Installation / Deployment

See our detailed installation and deployment guide for instructions. For the extremely impatient:

    # Install Solr, Ruby, Apache, Passenger
git clone git://
cd rletters
cp config/deploy/deploy_config.rb.dist config/deploy/deploy_config.rb
$EDITOR config/deploy/deploy_config.rb
# Set server URLs, deployment path
cap deploy:setup
# Answer all the questions
cap deploy:check
cap deploy:update
    rake RAILS_ENV=production db:schema:load
    $EDITOR /etc/apache2/apache2.conf
    # Add appropriate stanza for DEPLOYMENT_PATH
cap deploy:start


Special thanks to all contributors for submitting patches. A full list of contributors including their patches can be found at:

Also, several features of RLetters wouldn't be possible without the excellent work of other Ruby programmers. Thanks in particular to those behind RSolr and RSolr::Ext, citeproc-ruby, and bibtex-ruby.


RLetters © 2011–2012 by Charles Pence. RLetters is licensed under the MIT license. Please see the {file:COPYING} document for more information.

Something went wrong with that request. Please try again.