How can we help?
oMM Plugin-Architektur Übersicht
Einführung
Das open-MindMesh (oMM) Framework ist eine modulare Plugin-Architektur für WordPress, die es ermöglicht, wissenschaftliche und akademische Werkzeuge als koordinierte, aber unabhängige Plugins zu entwickeln.
Kernprinzipien
- Modularität: Jedes Plugin kann eigenständig funktionieren
- Erweiterbarkeit: Plugins können sich gegenseitig erweitern
- Graceful Degradation: Fehlen Abhängigkeiten, arbeitet das Plugin mit reduziertem Funktionsumfang weiter
- Einheitliche Standards: PSR-4 Autoloading, WordPress Coding Standards
Plugin-Föderation
Die oMM-Plugins arbeiten als Föderation zusammen:
- Jedes Plugin registriert sich beim zentralen
omm-core - Plugins kommunizieren über definierte Schnittstellen (Hooks, Filter, Capabilities)
- Es gibt keine harten Abhängigkeiten – nur optionale Erweiterungen
Architektur-Diagramm
┌─────────────────────────────────────────────────────────────────┐
│ omm-core │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ PluginRegistry │ │ PostTypeManager │ │CapabilityManager│ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌──────────────────┐ ┌──────────────┐ ┌────────────┐ ┌────────────┐
│ omm-references │ │ omm-persons │ │omm-citations│ │omm-documents│
└──────────────────┘ └──────────────┘ └────────────┘ └────────────┘
Komponenten-Übersicht
| Komponente | Beschreibung | CPT Owner |
|---|---|---|
| omm-core | Zentrale Koordination, Plugin-Registry, Capability-Manager | — |
| omm-citations | Zitationsverwaltung, Zotero-Integration, CSL-Formatierung | omm-citation |
| omm-references | Referenzverwaltung, Literaturtypen, Metadaten-Schema | omm-reference |
| omm-persons | Personenverwaltung, ORCID-Integration, Autorenprofile | omm-person |
Ownership-Konzept
Jeder Custom Post Type (CPT) hat genau einen Owner. Das verhindert Konflikte bei der Registrierung.
- omm-citations → Owner von omm-citation
- omm-references → Owner von omm-reference
- omm-persons → Owner von omm-person