CCM Neu Ui Umstellung

Angular Umstellung

Nachdem die Browser-Unterstützung für den Adobe Flash Player Ende 2020 ausgelaufen ist, wurde das CCM übergangsweise als Adobe-AIR-Standalone-Client (.exe) betrieben. Als dauerhafte Lösung wird die CCM-Oberfläche nun Modul für Modul auf eine moderne HTML5-/Angular-Oberfläche umgestellt. Diese läuft direkt im aktuellen Browser – ohne Adobe Flash, ohne Adobe AIR und ohne lokalen Desktop-Client.

Überblick

Die neue UI ist eine Angular-Web-Component-Anwendung, die als einzelnes Bundle ausgeliefert und in die B2B-Oberfläche eingebettet wird. Sie benötigt keine lokale Laufzeitumgebung und keinerlei Installation auf dem Rechner des Anwenders – es genügt ein aktueller Browser.

Vorbereitung

  • B2B-25-Version mit neuer UI installieren bzw. verwenden
  • Knoten für die neue UI über Keycloak authentifizieren (die bisherigen Basic-Auth-Knoten für Adobe AIR sind für die neue UI nicht geeignet)
  • Benötigte Keycloak-Rollen den Anwendern zuweisen:
    • B2B-MessageMonitor-Read – Lesen/Suchen im Process-Monitor
    • B2B-MessageMonitor-Write – Statusänderung (Clearing), Einplanen, Job löschen
    • CCM_ADMIN_WRITE – Arbeitsvorräte hinzufügen/entfernen

Aufruf

Die neue Oberfläche wird über die URL des B2B-Knotens im Browser aufgerufen und nach dem Keycloak-Login direkt angezeigt. Ein Download bzw. Entpacken von Client-Dateien entfällt vollständig.

Installation / Deployment (Docker)

Die neue Angular-UI wird als eigener Container b2b-ccm-ui betrieben und über Traefik in die B2B-Umgebung eingebunden. Eine Installation auf dem Rechner des Anwenders entfällt – ausgeliefert wird das statische Angular-Bundle über nginx.

Beispielhafte docker-compose-Konfiguration:

 b2b-ccm-ui:
    image: ${AZURECR_B2B}/b2b-ccm-ui:${VER_CCM_UI} 
    restart: always
    volumes:
      - ${PROJECT:-.}/ccm-ui/keycloak.json:/usr/share/nginx/html/B2B-CCM-UI/assets/config/keycloak.json
      - ${PROJECT:-.}/system.json:/usr/share/nginx/html/B2B-CCM-UI/assets/config/system.json
      - ${PROJECT:-.}/portal-ui/portal-config.json:/usr/share/nginx/html/B2B-CCM-UI/assets/config/portal-config.json
    environment:
      TZ: ${TIME_ZONE}
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.ccm-ui.rule=Host(`xxx-xxxxxxx`) && PathPrefix(`/B2B-CCM-UI`)"

Portal- einrichten (portal-config.json)

Damit die CCM-UI als eigene Kachel im B2B-Portal erscheint, wird sie in der zentralen portal-config.json registriert. Diese Datei wird allen UIs als Volume bereitgestellt (z. B. unter …/assets/config/portal-config.json).

Ablage (Beispiel Umgebung):

B2B\conf\portal-ui\portal-config.json

Eintrag in die Liste der UIs ergänzen:

    {
        "uiUrl": "http://xxx-xxxxxx:81/B2B-CCM-UI/",
        "uiRequiredRole": "CCM-Read",
        "uiName": "CCM Manager",
        "picturePath": "/B2B-Portal-UI/assets/config/images/p-systemmessage.jpg",
        "iconName": "http://xxx-xxxxxx:81/B2B-Portal-UI/assets/config/icons/systemmessage.svg",
        "description": "CCM Manager"
    }

Keycloak-Anbindung (keycloak.json)

Die CCM-UI authentifiziert sich als public OIDC-Client gegen Keycloak. Die Konfiguration wird als Volume in den Container gemountet (…/assets/config/keycloak.json).

Ablage (Beispiel Umgebung):

…/ccm-ui/keycloak.json

Beispiel:

    {
        "realm": "B2BLocal",
        "auth-server-url": "http://xxx-xxxxxxxx:81/auth",
        "ssl-required": "none",
        "resource": "b2b-ccm-ui",
        "public-client": true,
        "confidential-port": 0
    }

Arbeitsvorräte (Work Queues)

Die zur Verfügung stehenden Arbeitsvorräte werden benutzerabhängig aus der Datenbank ermittelt. Grundlage sind die CCM-Rollen des Anwenders, die über den Keycloak-Claim ccm_roles im Access-Token transportiert werden.

  • Keycloak-User erhält ein Attribut ccm_roles (z. B. ccm_11,admins)
  • Ein Protocol-Mapper („CCM Roles Mapper”, Typ User Attribute, Add to access token = ON) stellt den Claim im Token bereit
  • Ohne gesetzten ccm_roles-Claim ist die Arbeitsvorrat-Liste leer (kein DB-Fallback)

Neue Arbeitsvorräte lassen sich über die Arbeitsvorrat-Einstellungen anlegen (Rollen-/Gruppen-ID + Definition); dafür wird die Rolle CCM_ADMIN_WRITE benötigt. Der Start-Arbeitsvorrat je Benutzer sowie ein-/ausgeblendete Einträge werden lokal im Browser gespeichert.

Funktionen des Process-Monitors

Der Process-Monitor der neuen UI bildet den bisherigen Funktionsumfang nach:

  • Dynamische Suchfilter und Ergebnis-Spalten je Variante (vom Server geladen)
  • Suche gegen das CCM-Backend inkl. Status-Filter (grün/gelb/grau/rot) und Ergebnis-Zähler
  • Aufklappbarer Prozessbaum mit korrelierten Nachrichten, Zeilen-/Status-Färbung und Zell-Renderern
  • Spalten vergrößern (Resize) und Tabelle konfigurieren (Spalten ein-/ausblenden, Reihenfolge) – je Variante personalisiert
  • Statusänderung / Clearing (Rolle B2B-MessageMonitor-Write)
  • Export nach Excel (CSV)
  • Einplanen von Suchen als Hintergrund-Job sowie Laden vorab berechneter Ergebnisse und Job löschen (Rolle B2B-MessageMonitor-Write)

CCM Server / Reporting

Für Suche-Umlenkung auf bestimmte Knoten (http://b2bbp.next-level-help.org/ccm_cust_index_umlenkung_ccm_server.html) sowie für die Reporting-Knoten (http://b2bbp.next-level-help.org/ccm_cust_reporting_einrichtung.html) gelten die bekannten Einstellungen. Anders als beim Adobe-AIR-Client werden die über die neue UI genutzten Knoten über Keycloak authentifiziert.

Problembehandlung

Meldung: „Es konnten keine Daten geladen werden.”
Ursache: Der Zugriff auf das Backend ist fehlgeschlagen oder die Sitzung ist abgelaufen – erneut über Keycloak anmelden.

Meldung: „Keine Arbeitsvorräte vorhanden.” / Arbeitsvorrat-Liste ist leer.
Ursache: Im Access-Token fehlt der Claim ccm_roles oder die enthaltenen Rollen besitzen keine passenden InboxViewDefinition-Attribute. Keycloak-Attribut und Protocol-Mapper prüfen.

Meldung: „Variante konnte nicht geladen werden.” / „Variante nicht gefunden.”
Ursache: Zur ausgewählten Variante existiert keine (Custom-)Extension im Backend (FLEXIBLE_INDEX_UI / _CUSTOM).

Meldung: Funktion „Statusänderung / Einplanen / Job löschen” ist deaktiviert.
Ursache: Dem angemeldeten Benutzer fehlt die Rolle B2B-MessageMonitor-Write.

Meldung: „Hinzufügen/Entfernen von Arbeitsvorräten nicht möglich.”
Ursache: Dem angemeldeten Benutzer fehlt die Rolle CCM_ADMIN_WRITE.

Hinweis: Fehlende bzw. als Rohtext (z. B. layout.title) angezeigte Übersetzungen deuten auf ein Caching-/Auslieferungsproblem der i18n-Dateien hin (kein Query-Cache-Buster verwenden).

View Me   Edit Me