Long 19th Amendment Portal
To celebrate the centenary of Women's Suffrage in the United States, the Schlesinger Library launched this site to provide search access to their collections as well as space to write about them.
This project for the Schlesinger Library, Radcliffe Institute for Advanced Study at Harvard University, is intended to serve as a clearinghouse for digitized collections of artifacts and literature related to the struggle to achieve and maintain women’s access to the vote. Here is a press release about the project.
This client came to NewCity with a small budget and unique technical needs. Library catalog data is messy and incomplete, and there is a multitude of competing standards for expressing collection metadata. The Long 19th Project needed a way of gathering these resources together in one searchable interface with minimal effort. The client also considered ease of use and maintenance critical to the project’s success, but the budget was too small to allow an advanced integration of WordPress or Drupal.
After a few proofs-of-concept, we elected to build the database application with React and MongoDB. I created the initial application prototype and developed the MongoDB aggregation pipelines, which enabled faceted and keyword searches. Mike Warner then took over the application, polishing it and adding additional features with my technical direction.
For the content management system, we chose Hugo, a static site builder written in Go. Hugo has no front-end and no database. Pages in Hugo are simply directories with assets and Markdown files. Structured data is represented using Yaml.
This approach has several advantages for the Long 19th project, as maintenance tasks are minimal, and a straightforward host environment can be used. There is little need to update the CMS, and what need is never urgent; the final site is an artifact, not generated on demand for site visitors the way WordPress or Drupal sites are. The application portion of the site requires only a Node server and a MongoDB server.
Several months before launch, I trained the client to use Docker, Hugo, and Git to manage the production of the site’s content. With a couple of training sessions and some additional support from their on-staff IT expert, the client team built their site using a Git-based workflow, including making and approving pull requests.
The site launched in August of 2020, and NewCity’s engagement with this client continues with new feature requests and additional support.
- Hugo in place of a traditional CMS
- React for the collections interface
- MongoDB for the collections database
- Node.js for server-side mediation between the React application and Mongo DB.
- Fractal for design implementation.
In addition to these tool sets, the project has so far involved training the client to use Markdown and Gitlab’s Web IDE, as well as importing diverse data sets from CSV files and several standardized academic archival data systems like the Digital Public Library of America’s Metadata Application Profile and the Open Archives Initiative Protocol for Metadata Harvesting.
- Natalie Brown, project manager
- Melissa Beaver, user experience design
- Rodger Bridges, design
- John Williams, lead developer
- Mike Warner, developer
- Phil Pelanne, devops
It’s been exciting and interesting to build a web site with the Schlesinger Library that is so tightly focused on one topic.