====== Einbetten externer bzw. zusätzlicher Module ======
> **Zielgruppe:** Mandanten-Administrator:innen, Systemverantwortliche, technische Integrator:innen
> **Modul:** ADM Cockpit – Systemkonfiguration & Erweiterungen
===== 2. Zweck =====
Über die CAATS-Systemeinstellungen können **externe Anwendungen oder Module** direkt in die Benutzeroberflächen
**„CAATS Desktop“** und **„CAATS Mobile“** eingebettet werden.
Dies ermöglicht eine nahtlose Integration zusätzlicher Tools, z. B. für Planung, Auswertung oder Partner-Systeme.
**Beispiel:**
Eine Organisation möchte ein eigenes **Taxi- oder Tourenplanungssystem** in CAATS sichtbar machen,
damit Benutzer:innen es direkt aus dem Dashboard starten können – ohne erneuten Login.
----
===== 3. Vorgehensweise =====
Führen Sie folgende Schritte durch, um ein externes Modul in die Benutzeroberfläche einzubetten:
**1. Modul-URL definieren**
Legen Sie einen eindeutigen **URL-Namen** für das externe Modul fest, z. B.
`taxiplanung` oder `partnerstatistik`.
**2. Anmeldung als Mandanten-Administrator**
Melden Sie sich in der zu erweiternden **CAATS-Instanz** als Mandanten-Administrator an.
**3. Mandantenweite Systemeinstellung hinzufügen**
Fügen Sie über das **CAATS Skript** eine neue Einstellung hinzu.
Der **Schlüsselbegriff** muss wie folgt aufgebaut sein:
**Beispiel:** DASH.EMBEDDED_EXTENSION..url
DASH.EMBEDDED_EXTENSION.taxiplanung.url
**4. Berechtigungen und Navigation konfigurieren (optional)**
Falls notwendig, fügen Sie für das einzubettende Modul eine **Berechtigungsdefinition**
und einen passenden **Menü-Navigationspfad** hinzu.
**5. Modul im Dashboard eintragen**
Gehen Sie im Menü zu:
`ADM > Einstellungen > Mandant > Dashboard`
und tragen Sie dort die vollständige **URL zum externen Modul** ein.
💡 **Tipp:**
Achten Sie darauf, dass das Modul in einem **iframe** eingebettet werden kann
und dass die externe Seite HTTPS unterstützt.
----
===== 4. Platzhaltervariablen für URLs =====
In der URL können bestimmte **dynamische Variablen** verwendet werden,
um Benutzerkontext und Sprache automatisch an das externe System zu übergeben:
| Variable | Bedeutung | Beispiel |
|-----------|------------|----------|
| `{jwt}` | Der aktuelle **JSON Web Token** des angemeldeten Benutzers. Ermöglicht die Authentifizierung im externen System. | `https://externes-system.at/?token={jwt}¶m=xyz` |
| `{lcid}` | Das **ISO-Sprachkürzel** der aktuellen Benutzeroberfläche (z. B. `de` oder `en`). | `https://unsere-taxiplanung.at?language={lcid}` |
**Wichtig:**
Verwenden Sie Variablen **immer in geschweiften Klammern** (`{}`),
da CAATS sie beim Laden automatisch ersetzt.
Das externe System muss die Übergabeparameter **jwt** und **lcid** auswerten können.
----
===== 5. Technische Hinweise =====
* Die eingebetteten Module werden im **Dashboard** unter einem eigenen Menüpunkt angezeigt.
* Jedes eingebettete Modul wird in einer **eigenen Registerkarte (iframe)** geöffnet.
* Die Kommunikation zwischen CAATS und dem externen Modul erfolgt ausschließlich über HTTPS.
* Administrator:innen können mehrere Module gleichzeitig registrieren –
z. B. `taxiplanung`, `statistik`, `intranet`.
**Tipp:**
Wenn das externe System eine Single-Sign-On-Authentifizierung (SSO) unterstützt,
kann der übergebene `{jwt}`-Token direkt zur Benutzeridentifikation genutzt werden.
----
===== 6. Beispielkonfiguration =====
**Modulname:** `taxiplanung`
**Einstellungsschlüssel:**
**URL-Eintrag im Dashboard:** https://unsere-taxiplanung.at/system/?token={jwt}&language={lcid}
Nach dem Speichern erscheint das Modul im Dashboard-Menü.
Benutzer:innen mit entsprechender Berechtigung können es direkt öffnen.
----
===== 7. Zusammenfassung =====
Mit dieser Funktion können Organisationen **eigene Anwendungen** oder **Drittmodule**
in die Benutzeroberflächen **CAATS Desktop** und **CAATS Mobile** integrieren.
So lassen sich externe Systeme zentral anbinden, ohne die Benutzeroberfläche zu verlassen.
📘 **Siehe auch:**
* [[adm-cockpit:system:dashboard|Dashboard-Konfiguration und Layout]]
* [[adm-cockpit:administration:permissions|Berechtigungen und Rollenverwaltung]]
* [[adm-cockpit:processes:extensions|Systemerweiterungen und Integrationen]]
----
**Schlagworte:** embedded-modules, dashboard, einbettung, iframe, jwt, lcid, url, taxiplanung, mandantenadministrator, externe-module, integration, caats, desktop, mobile