Published March 1, 2026 | Version v1
Presentation Open

Modularity - "doing it all" isn't a good thing

Authors/Creators

  • 1. EDMO icon The University of Texas at Austin

Description

This presentation details the evolution of software architecture patterns at the University of Texas at Austin Libraries' repository development team, focusing on the shift from individual project sites to a shared, sustainable infrastructure called Portal.

 

Key Themes and Purpose:

  • Problem of Software Decay:The core issue addressed is the unsustainability of maintaining numerous custom or heavily-modified open-source repository sites (14 different sites managed by a small team), leading to duplicated effort, technical debt, and projects becoming outdated as developers moved on.
  • Shift to Sustainability: The goal is to build systems that "continue to evolve with time" by focusing on reusable components and a single codebase, rather than leaving projects to decay.
  • Modularity: The presentation advocates against "doing it all in one package" and promotes decoupling to make systems easier to upgrade and improve.

Architectural Patterns Discussed:

  1. Pattern 1: The Platform (e.g., Islandora): Started with open-source software, but 10% customizationgrew to a "custom monster,"making upgrades equivalent to rebuilding the system and imposing someone else's upgrade schedule.
  2. Pattern 2: The Fully Custom Project Stack (e.g., AILLA, AHPN): Built fully custom systems (e.g., Django backend, Next.js frontend, custom Solr integration) for total control. The problem became duplication; newer sites received improvements, while older sites were "left in the dark," and codebases drifted too far apart for clean upgrades.
  3. Pattern 3: Shared Infrastructure (Portal): The current, sustainable solution built on the principle that "every repository is basically doing the same thing."

Core Components of the Shared Infrastructure (Portal):

  • Backend Consolidation: Shifted from 14 separate, decaying databases to one singular, sustainable infrastructure.
    • Single DAMS application (Digital Asset Management System).
    • Content and media moved to Fedora 6 using the OCFL standardfor long-term preservation.
    • Managed by a single Django app and one database.
    • Architecture allows publishing assets to various search engines (e.g., Solr, Elasticsearch) without rebuilding the core.
  • Shared Frontend (Portal): Consolidates the 14 different codebases into one single Next.js application.
    • Content Decoupling: Uses the Headless CMS Strapi to decouple content management from the code.
    • Librarian Autonomy: Provides "Squarespace for Repositories"experience, allowing librarians to change search facets, updates translations, or reorder components via Strapi without code or engineering tickets.
    • Developer Sustainability:Portal is built as a library of reusable repository blocks(e.g., IIIF viewers, metadata renderers) written only once, ensuring improvements to search, accessibility, or major framework upgrades (Next.js upgrade) are applied to all sites simultaneously.

The presentation concludes that this approach, while taking longer to build initially, allows the team to "never stop improving the codebase"and focus on preservation.

Files

Files (2.1 MB)

Name Size Download all
md5:cec6e489dd893de4b265c9780d16f242
2.1 MB Download

Additional details

Dates

Submitted
2026-03-01
Date Presentation Submitted