Technical Architecture

Platform Goals & Desired Outcomes

  • Modular / component based design that allows for the system to evolve over time
  • A system designed to plug in or take advantage of community services, software, and processes.
  • Flexibility to add, remove, and modify a diverse set of content types
  • Ability to easily improve and iterate on the user interface
  • Provide machine access to Folger data holdings to the public
  • Develop a platform with low cost of entry for other institutions to adopt.

Logical Architecture

Logical Architecture V2.png

Platform Components

Automated Data Import & Mapping Services

The Automated data import and mapping services are made up of three major sub-components.  These are a JSON importing web interface, a flexible data validation service written in Symfony, and a generalized system for capturing and storing binary assets that leverages PostgreSQL's ability to act as both a relational database and a NoSQL / document storage repository.

Data Import

The original roadmap envisioned a system that could be configured to request metadata directly from external systems, process that data from it's export format into the DAP's internal data format, and validate that required fields & data structures requried for that DAP content type to pass validation.  During our prototyping we investigated the ETL operations required to to import data exported from Ex Libris Voyager and the Luna Imaging server.

This process helped identify the requirements and functionality needed for the general content import process pipeline, but also led us to modify the technical approach to focus on importing a more standardized JSON import format. This approach allows many more systems to have their data imported into the DAP without technical additions or developments needing to be deployed to the core DAP system, and helps establish a JSON data standard for various cultural institution content types.

Content Types

Different sorts of content can be configured within the DAP. The system itself considers format is a JSON file that includes a few key fields that are identified by a JSON schema. Each content type configured in the DAP can either specify a specific content-type specific schema to use, or specify a schema higher up in

Content Hierarchy

Schema Service

The DAP import format is a JSON file that includes a few key fields that are identified by a JSON schema. Each content type configured in the DAP can either specify a specific content-type specific schema to use, or specify a schema higher up in