Overview
Discover what makes Islandora powerful
Islandora is a modular, Drupal‑based framework for building institutional repositories and digital libraries. At its core it bridges the rich feature set of Drupal with a preservation‑centric back‑end such as Fedora Commons, while exposing modern web standards like IIIF and JSON‑LD. The system is designed to be *extensible* through a collection of submodules that plug into external services (Houdini, Homarus, Hypercube) and a lightweight message‑queue layer for asynchronous processing. From a developer’s standpoint, Islandora is a well‑architected stack that emphasizes composability, testability, and community support.
Fedora Integration
IIIF & JSON‑LD
Media Processing Pipelines
Background Work
Overview
Islandora is a modular, Drupal‑based framework for building institutional repositories and digital libraries. At its core it bridges the rich feature set of Drupal with a preservation‑centric back‑end such as Fedora Commons, while exposing modern web standards like IIIF and JSON‑LD. The system is designed to be extensible through a collection of submodules that plug into external services (Houdini, Homarus, Hypercube) and a lightweight message‑queue layer for asynchronous processing. From a developer’s standpoint, Islandora is a well‑architected stack that emphasizes composability, testability, and community support.
Key Features
- Fedora Integration – Uses the
flysystemmodule to map Drupal file storage onto Fedora’s object store, enabling content versioning and long‑term preservation. - IIIF & JSON‑LD – Automatic manifest generation (
islandora_iiif) and structured metadata exposure (jsonld), facilitating discovery and interoperability. - Media Processing Pipelines – Dedicated submodules (
islandora_image,audio,video) connect to external servers (Immagick, ffmpeg) via REST APIs for transcoding and thumbnail creation. - Background Work – Publishes tasks to a queue (Stomp PHP) so heavy jobs run asynchronously, keeping the UI responsive.
- Context‑Based Behavior – Leverages Drupal’s Context module to switch repository behavior (e.g., search, display) based on collection or user role.
Technical Stack
| Layer | Technology |
|---|---|
| Web | Drupal 10/11 (PHP ≥ 7.4), Twig templates |
| Application | PHP, Composer dependencies (Crayfish Commons, Stomp) |
| Persistence | PostgreSQL/MySQL for Drupal; Fedora 5/6 object store for binary content |
| Search | Apache Solr integration via search_api |
| Messaging | STOMP protocol, broker‑agnostic (e.g., ActiveMQ, RabbitMQ) |
| Media Services | External REST services: Houdini (ImageMagick), Homarus (ffmpeg), Hypercube (Tesseract, pdftotext) |
The modular architecture allows developers to drop in or remove components without affecting the core, making it suitable for both lightweight “digital asset manager” deployments and full‑blown institutional repositories.
Core Capabilities & APIs
- RESTful Endpoints – Exposes content via Drupal’s REST API and custom JSON‑LD endpoints for linked data.
- Search & Facets –
search_apiintegration provides Solr‑backed faceted search, with programmatic query building. - Event Hooks – Implements Drupal’s hook system (
hook_entity_insert,hook_node_update) to trigger external processing. - Workflow & Permissions – Uses Drupal’s workflow module to model ingest, review, and publication stages.
- Extensible Field Types – Custom field types for FOXML metadata, allowing developers to map complex preservation schemas.
Deployment & Infrastructure
Islandora is self‑hosted but embraces modern deployment patterns:
- Containerization – Official Docker images are available; developers can compose a stack with Drupal, Solr, Fedora, and message broker containers.
- Scalability – Stateless Drupal instances behind a load balancer, with Fedora and Solr as separate services that can be horizontally scaled.
- CI/CD Friendly – The repository contains GitHub Actions for automated testing and code coverage, encouraging continuous integration workflows.
Integration & Extensibility
The plugin ecosystem is a major selling point:
- Submodules – Each media type or service has its own module, making it easy to enable only what is needed.
- Webhooks – Custom hooks can publish events to external systems (e.g., analytics, OAI‑Pmh harvesting).
- Customizable Templates – Twig templates can be overridden per content type or collection, allowing brand‑specific UIs.
- API Extensions – Developers can write their own REST endpoints or GraphQL resolvers to expose additional data.
Developer Experience
- Documentation – Comprehensive online docs (installation, architecture, module guides) and a dedicated API reference.
- Community – Active mailing lists, Slack channels, and a roadmap committee provide rapid support and feature feedback.
- Testing – PHPUnit tests cover core modules; the codecov badge indicates a healthy test suite.
- Configuration – Most settings are exposed through Drupal’s UI, but advanced users can tweak
settings.phpor use Drush for batch operations.
Use Cases
- University Libraries – Build a repository that ingests digitized manuscripts, auto‑generates IIIF manifests, and preserves metadata in Fedora.
- Museums – Deploy a lightweight DAM that processes high‑resolution images and videos, exposing them via IIIF for public access.
- Government Archives – Use the message‑queue layer to run long‑running OCR jobs on bulk PDF uploads, integrating with an existing Solr index for full‑text search.
Advantages
- Performance – Decoupling of content storage (Fedora) from the web layer (Drupal) allows each component to be tuned independently.
- Flexibility – Modular design lets developers drop in only the services they need, reducing bloat.
Open SourceReady to get started?
Join the community and start self-hosting Islandora today
Related Apps in development-tools
Hoppscotch
Fast, lightweight API development tool
code-server
Self-hosted development-tools
AppFlowy
AI-powered workspace for notes, projects, and wikis
Appwrite
All-in-one backend platform for modern apps
PocketBase
Lightweight Go backend in a single file
Gitea
Fast, lightweight self-hosted Git platform
Weekly Views
Repository Health
Information
Explore More Apps
Rustypaste
Minimal file upload and pastebin service in Rust
Sylius
Developer‑friendly eCommerce framework for custom B2C/B2B solutions
CommaFeed
Self-hosted RSS reader inspired by Google Reader
bin
Minimalist paste bin in Rust
Zoraxy
Your Home Lab Reverse Proxy & Network Toolbox
Typebot
Build advanced chatbots without code
