Technology

The Digital Library of Rhode Island (DLORI) is powered by three essential components: Omeka S, Red Maple, and Violet; the last two components were developed locally.

Omeka S

Omeka S is a well-known, mature publishing platform that enables cultural heritage institutions to share digital collections with users worldwide.  

Omeka S has a series of modules that extend its capabilities. For DLORI, we used Bulk Edit, Common, CSV Import, Easy Admin, Log, Search, and Solr from the public repository, and we developed Coffee Milk, which works alongside Violet to provide a better user experience. 

Violet

Named after the Rhode Island State Flower, this is a highly customized Omeka S theme developed for this project, providing a clean, modern user interface for navigating the collections and materials provided through DLORI. 

Violet uses Alpine.js and Tailwind CSS.

Red Maple

Named after the Rhode Island State Tree, it is a Python tool built with the Django framework that integrates with multiple applications to collect and prepare data from other repositories and import it into Omeka S. 

Red Maple includes: 

  • Red_Maple_Core: The project’s source of truth. Only database models and schema definitions are included here.
  • Red_Maple_API: The REST interface. Uses Django Ninja to handle request validations, serialization, and trigger asynchronous tasks. 
  • Red_Maple_Orchestrator: The data factory that handles ingestion pipelines, data cleaning, and enhancements. 
  • Red_Maple_Omeka: Syndication. Transforms and prepares data using DTOs to make it DLORI-ready. 

Red Maple requires Python 3.10+, and uses Django 5.x, PostgreSQL, Redis, Celery, and spaCy.