Zum Hauptinhalt springen

OMI-SPEC-008: Plugin Architecture

Status

Draft

Version: 0.1


Purpose

The Plugin Architecture defines how the Open Manuscript Initiative (OMI) can be extended without modifying the Core platform.

Every feature that is not part of the universal scholarly workflow should be implemented as a plugin.

This ensures modularity, interoperability, maintainability, and long-term sustainability.


Design Principles

The Plugin Architecture follows these principles:

  • Core first
  • Modular by design
  • Stable interfaces
  • Loose coupling
  • Extensible
  • Platform independent
  • Backward compatible

Architecture Overview

OMI Core

┌───────────────┼────────────────┐
│ │ │
▼ ▼ ▼
Discipline Renderer Integration
Plugins Plugins Plugins
│ │ │
▼ ▼ ▼
Annotation HTML OJS
Metadata PDF Crossref
Citation EPUB ORCID
Review JATS Zenodo

The Core defines interfaces.

Plugins implement functionality.


OMI Core

The Core provides only universal functionality.

Examples include:

  • Document Model
  • Anchor Model
  • Annotation Model
  • Metadata Model
  • Citation Model
  • Review Model
  • Plugin API
  • Event System

Everything else belongs in plugins.


Plugin Categories

Discipline Plugins

Provide discipline-specific scholarly objects.

Examples:

  • History
  • Theology
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Medicine
  • Law

Renderer Plugins

Generate publication formats.

Examples:

  • HTML
  • PDF
  • EPUB
  • DOCX
  • JATS XML
  • Markdown

Integration Plugins

Connect OMI with external services.

Examples:

  • OJS
  • OMP
  • OPS
  • Crossref
  • DataCite
  • ORCID
  • ROR
  • Zenodo
  • GitHub

Workflow Plugins

Extend editorial workflows.

Examples:

  • Double Blind Review
  • Open Review
  • Editorial Approval
  • AI Assistant
  • Publishing Pipeline

UI Plugins

Extend the user interface.

Examples:

  • Panels
  • Editors
  • Dashboards
  • Toolbars
  • Inspectors

Import Plugins

Import external document formats.

Examples:

  • DOCX
  • Markdown
  • LaTeX
  • JATS XML
  • HTML

Export Plugins

Export semantic manuscripts.

Examples:

  • PDF
  • EPUB
  • DOCX
  • XML
  • JSON

Plugin Manifest

Every plugin contains a manifest.

Example:

id: omi-history
name: History Profile
version: 1.0.0
author: Open Manuscript Initiative
apiVersion: 1
license: MIT

Plugin Lifecycle

Plugins follow a defined lifecycle.

Install



Register



Initialize



Activate



Execute



Deactivate



Remove

Plugin Capabilities

Plugins declare their capabilities explicitly.

Examples:

  • adds semantic objects
  • provides renderer
  • imports documents
  • exports publications
  • validates metadata
  • extends UI
  • listens to events

Event System

Plugins communicate through events.

Examples:

DocumentOpened



AnnotationCreated



CitationAdded



ReviewSubmitted



ExportStarted



PublicationCompleted

Plugins should avoid direct dependencies whenever possible.


Extension Points

The Core exposes stable extension points.

Examples:

  • Document Objects
  • Metadata
  • Anchors
  • Citations
  • Review
  • Rendering
  • Import
  • Export
  • User Interface

Dependencies

Plugins may depend on other plugins.

Example:

History Plugin



Citation Plugin



Metadata Plugin

Circular dependencies are not permitted.


Version Compatibility

Each plugin declares:

  • minimum Core version
  • maximum supported Core version
  • API version

This allows safe upgrades.


Security

Plugins execute within defined permissions.

Possible permissions include:

  • read manuscript
  • modify manuscript
  • export data
  • access network
  • write files
  • access external APIs

Users should be able to review granted permissions before installation.


Plugin Repository

OMI may provide a public plugin repository.

Possible categories:

  • Official
  • Community
  • Experimental
  • Certified

Testing

Plugins should provide automated tests where appropriate.

Recommended testing includes:

  • unit tests
  • integration tests
  • compatibility tests

Documentation

Each plugin should include:

  • README
  • License
  • Changelog
  • Installation Guide
  • Usage Guide

Future Work

Future specifications will define:

  • Plugin API
  • Event API
  • UI Extension API
  • Renderer API
  • Repository Protocol

Summary

The OMI Plugin Architecture ensures that the platform remains lightweight, stable, and extensible.

By defining clear interfaces and extension points, OMI enables communities to develop discipline-specific features, publishing formats, integrations, and workflows without modifying the Core platform.