Das Repository Composer – Focus Module Installer stellt ein spezielles Composer-Installer-Plugin bereit, das eine strukturierte und automatisierte Installation von Focus CMS Modulen ermöglicht.
Das Paket sorgt dafür, dass Module als Composer-Abhängigkeiten verwaltet werden, gleichzeitig jedoch architektonisch als eigenständige Kernkomponenten des CMS bestehen bleiben.
Im Gegensatz zum klassischen Composer-Workflow werden Module nicht im vendor/-Verzeichnis installiert, sondern direkt im Projektverzeichnis Modules/ abgelegt.
Unabhängiger, modularer Installationsmechanismus
Die Installation ist nicht ausschließlich über die composer.json der Anwendung möglich.
Das System unterstützt ein modulares Installationsmodell, das unabhängig von der App composer.json funktioniert, umgesetzt über eine modules.json-Konfigurationsdatei.
Dadurch wird ermöglicht:
- optionale Repository-Definitionen zu hinterlegen,
- lokale Entwicklungs-Repositories zu verwenden,
- symbolische Links (Symlinks) zur Integration einzusetzen,
- eine dynamische Modulregistrierung über das Composer-Installer-Plugin vorzunehmen.
Die Datei modules.json beschreibt deklarativ, welche Module installiert werden sollen und aus welcher Quelle (z. B. VCS, Path-Repository, Symlink).
Das Ergebnis:
- Module bleiben strukturelle Bestandteile des Projekts,
- sie verhalten sich nicht wie „Black-Box“-Abhängigkeiten,
- sie sind versionsverwaltet, aber domänenintegriert,
- in Entwicklungsumgebungen können sie direkt verlinkt werden.
Dieser Ansatz passt besonders gut zu einer modularen, domänenorientierten Architektur, in der funktionale Einheiten nicht bloß Pakete, sondern aktive Systemkomponenten sind.
Der Composer – Focus Module Installer arbeitet zusammen mit dem Theme Installer, sodass sowohl die Verzeichnisse Themes/ als auch Modules/ Teil eines Composer-basierten Workflows werden, ohne die logische Struktur des CMS zu beeinträchtigen.
GitHub-Repository
https://github.com/hi-personal/focus-cms-cmi