Software developed by CDH

As part of their work on sponsored and projects, the CDH Development and Design Team creates and releases new open source software. This list includes only software developed by the CDH Development and Design Team since the team’s formation in October 2016. It does not include projects created by sponsored project teams who did their own development work (such as bitKlavier, Digital Oulipo, and others).

All software is released under the Apache 2 open-source license. Our primary technical stack includes the Python programming language and Django, a web application framework written in Python.

winthrop-django

https://github.com/Princeton-CDH/winthrop-django

Python/Django web application for The Winthrop Family on the Page project. Provides management interface for bibliographic and biographic data, and an annotation capture interface (implemented with django-annotator-store and djiffy, see below). A future release will provide a public interface to search and browse books, people, and annotations, along with accompanying scholarly materials.

First released February 2017.

django-pucas

https://github.com/Princeton-CDH/django-pucas

Reusable Python module for use with the Django web framework to streamline provisioning and managing user accounts with Central Authentication Service (CAS) and make use of LDAP for user attributes. Customized for Princeton University, but intended to be reusable for general use. Used in multiple CDH web applications and Research Computing applications, with some interest from other Princeton developers.

First released March 2017.

derrida-django

https://github.com/Princeton-CDH/derrida-django

Python/Django web application for the Derrida’s Margins project. Provides management interface for bibliographic and biographic data, and an annotation capture interface (implemented with django-annotator-store and djiffy; similar to winthrop-derrida annotation but customized for project-specific data needs). A forthcoming release will provide a public interface to search and browse books in Derrida’s library, references in Of Grammatology, and Derrida’s annotations related to those references.

First released April 2017.

djiffy

https://github.com/Princeton-CDH/djiffy

Python module for use with the Django web framework to index and display IIIF Presentation manifests (http://iiif.io/api/presentation/2.1/) for digitized content. Developed to display PUL digitized content for Derrida’s Margins and The Winthrop Family on the Page projects.

First released June 2017.

django-annotator-store

https://github.com/Princeton-CDH/django-annotator-store

Python/Django application that acts as a generic annotator.js storage back end. Adapted from the Readux project (https://github.com/ecds/readux) developed by the Emory Center for Digital Scholarship. Developed to support annotation functionality in Derrida’s Margins and The Winthrop Family on the Page projects. Pull requests on GitHub from students at the University of Bologna and Stanford University demonstrate this application’s potential for a much wider web annotation community.

First released June 2017.

mep-django

https://github.com/Princeton-CDH/mep-django

Python/Django web application for The Shakespeare and Company Lending Library Project. Provides management interface for data about library members and their accounts. Future releases will incorporate more data about library members and provide a public interface to search and browse library members, books, and borrowing cards.

First released June 2017.

cdh-web

https://github.com/Princeton-CDH/cdh-web

Python/Django application that powers the CDH website (https://cdh.princeton.edu/).  Custom data model allows us to track sponsored projects, staff, and events. Also serves as a proving ground for development best practices and potentially reusable components. (For example, django-pucas was first developed and used with cdh-web; it currently includes a multi-author blog component targeted for generalization and reuse on other projects.)

Version 2.0 released September 2017. (Previous implementation released September 2016.)  

viapy

https://github.com/Princeton-CDH/viapy

Python module for interacting with Virtual International Authority File (VIAF, http://viaf.org/) data and APIs, with optional Django integration. Developed for use in multiple projects.

First released October 2017.

ppa-django

https://github.com/Princeton-CDH/ppa-django

A new implementation of the Princeton Prosody Archive as a Python/Django web application. Intended to provide a reusable solution for creating curated collections of HathiTrust materials (and eventually materials from other sources). Currently in alpha release; provides a bulk import of HathiTrust materials, basic archive management features, and basic search and browse. Future releases will provide collection management, metadata correction, excerpt support, and more advanced search capabilities.

First released January 2018.

Projects in Development  

Prototype for continuous, automated validation of data; leveraging tools and practices developed for software analysis and quality control to use with datasets. Originally created to add custom validation for the highly customized XML data being edited by multiple graduate research assistants for The Shakespeare and Company Lending Library Project.

https://github.com/Princeton-CDH/test-data-repo
https://github.com/Princeton-CDH/mapping-expatriate-paris

Virtual development environment and documentation to support database cohort members doing development work on their own research projects.

https://github.com/Princeton-CDH/devenv

DevOps

Automated software application deploy infrastructure, streamlines deploying software to test servers and production servers, and ensures consistency. Each web application includes Ansible deploy scripts, which can be managed via a customized Hubot (named Claus, after the CDH’s rubber chicken mascot) and can be initiated within Slack.

https://github.com/Princeton-CDH/claus

https://github.com/Princeton-CDH/hubot-ansibleit