Frontend-Module installieren

Ein Frontend-Modul erweitert die modAI-Browseranwendung. Je nach Funktion kann es neue Seiten und Routen hinzufügen, Einträge zur Seitenleiste beisteuern, Dienste bereitstellen, von denen andere Module abhängen, oder eine eingebaute UI-Komponente vollständig ersetzen. Die folgenden Schritte beschreiben, wie ein Modul geklont und in die Modulkonfiguration eingebunden wird.

Info

Frontend-Module werden zum Build-Zeitpunkt in das Docker-Image kompiliert. Die Installation eines Moduls erfordert immer einen Rebuild des Frontend-Images. Eine Laufzeitinstallation ohne Rebuild wird nicht unterstützt.

Schritt 1: Modul-Repository klonen

Klonen Sie das Modul-Repository mit dem Präfix external- in das Frontend-Modulverzeichnis:

cd frontend/omni/src/modules
git clone <MODULE_REPOSITORY_URL> external-<modul-name>

Beispiel:

git clone https://github.com/your-org/my-module-ui.git external-my-module-ui

Das Ergebnis sollte so aussehen:

frontend/omni/src/modules/
├── fetch-service/
├── router/
├── ...
└── external-my-module-ui/   ← Ihr Modul

Schritt 2: modules.json aktualisieren

Öffnen Sie Ihre public/modules.json (oder erstellen Sie eine benutzerdefinierte basierend auf einem Preset). Die Dokumentation des Moduls listet die genauen Einträge auf, die hinzugefügt werden müssen.

Der einfachste Ansatz ist die Verwendung von includes, sodass Sie nur die neuen Moduleinträge zusätzlich zu einem eingebauten Preset hinzufügen müssen:

public/modules.json (Beispiel):

{
  "version": "1.0.0",
  "includes": [
    { "path": "modules_with_backend.json" }
  ],
  "modules": [
    {
      "id": "my-module-route",
      "type": "Routes",
      "path": "@/modules/external-my-module-ui/routes/create",
      "dependencies": {}
    },
    {
      "id": "routing-main",
      "collisionStrategy": "merge",
      "dependencies": {
        "module:routes": ["my-module-route"]
      }
    }
  ]
}

Den genauen path-Wert und erforderliche dependencies entnehmen Sie der Moduldokumentation.


Schritt 3: Neu bauen und neu bereitstellen

cd frontend/omni
docker image build -t your-registry.com/modai-frontend:latest .

Schritt 4: Verifizieren

Öffnen Sie die Anwendung im Browser und bestätigen Sie, dass die Seite oder Funktion des Moduls sichtbar ist.

Wenn das Modul nicht erscheint, prüfen Sie:

  1. Das Repository wurde mit dem korrekten external--Präfix geklont.
  2. Der path und die Modul-IDs in modules.json stimmen exakt mit der Moduldokumentation überein.
  3. Das Docker-Image wurde nach dem Klonen neu gebaut — nicht davor.

Modul aktualisieren

cd frontend/omni/src/modules/external-my-module-ui
git pull

cd frontend/omni
docker image build -t your-registry.com/modai-frontend:latest .

Modul entfernen

  1. Das geklonte Verzeichnis löschen:
    rm -rf frontend/omni/src/modules/external-my-module-ui
  2. Die Einträge aus modules.json entfernen.
  3. Neu bauen und neu bereitstellen.