Software
Supporting software
Roles
Digital humanities projects often need different levels of access. For example, a project on modern play interpretation might include a repository of filmed performances and tools for students to write multimedia essays that link to specific clips. Many different workflows are possible, but one might envision one in which any student can submit a new essay to his or her class, while class moderators are permitted to revise any essay and a central editor curates the essays that appear on the front page. Repertoireʼs roles module makes it easy to declare and administer such systems, allowing you to focus on the humanities-specific aspects of your project.
Your project can declare as many different roles as it requires, and arrange them hierarchically for simplicity (e.g. the editor might have moderator permissions as well, which in turn include studentsʼ permissions.) For projects that require little administration, the Repertoire roles module provides a simple text-based interface to granting new roles. Where it really shines, however, is in simplifying administration by allowing many users to request, review, and grant role membership from others via email.
For more information on roles and administration, see the NIST page
An Introduction to Role-Based Access Control.
Interactive Components
Two more Repertoire modules, assets and widgets, when used together enable project developers to build and easily distribute interactive Javascript components used in web pages. For example, the Repertoire timeline and Repertoire facet browser are both components. Because of their design, Repertoire components are highly reusable and can be included in a ruby project with a single line of code. For your own projects, you might consider creating components that encapsulate useful digital humanities tools: mapping, tagging, or annotating photos, for example.
Multilingual Full Text Search
Digital humanities projects often need to store data in multiple languages and character sets. Often a full text search is the easiest way to help users locate particular items in a large set, either in isolation or together with other browsing options (such as faceted search). Repertoireʼs periodic indexing module makes it easy to provide full text search in multiple languages, with full Unicode character set support. This solution is conceptually simpler than other full text search options, and integrates seamlessly with other database queries.