Der Wizard Workflow Tracker zeigt den Fortschritt von Hintergrundprozessen, die aus einem Matrix42-Wizard gestartet werden, in Echtzeit an. Statt eines leeren Bildschirms nach dem Absenden sehen Anwendende ein eigenes Tracking-Fenster mit dem aktuellen Status und Schritt des Prozesses.
Architektur
Die Extension wird als Front-End Workspace in Matrix42 integriert (workspace.json, Workspace RootITUp_AwaitWorkflow) und besteht aus drei AngularJS-Komponenten:
| Komponente | Funktion |
|---|---|
rootitup-wizard-postaction | Reagiert nach dem Absenden des Wizards auf das WizardPostAction-Ereignis und startet die konfigurierte Aktion (per Vorgabe das Tracking-Fenster) |
rootitup-process-status | Pollt den Status des Hintergrundprozesses und stellt ihn visuell dar |
rootitup-view-help | Zeigt eine Schaltfläche für kontextsensitive Hilfe an |
Zusätzlich liefert das Paket eine fertige Aktion („RootITUp Workflow abwarten“, interner Name RootITUp.Await.Workflow) und ein vorgefertigtes Wizard-Widget („Wizard Workflow Tracker“) als Tracking-Fenster mit. In der Standardnutzung platzieren Sie lediglich das Steuerelement rootitup-wizard-postaction in Ihrem Wizard – Prozess-Status und Hilfe sind im mitgelieferten Tracking-Fenster bereits verdrahtet.
Technische Details
Das AngularJS-Modul RootITUp.AwaitWorkflow registriert sich über mx.workspacesConfig.registerModule() in der Matrix42-Shell. Genutzte Matrix42-Services:
mx.shell.EventService– Lauscht auf dasWizardPostAction-Ereignismx.shell.ActionManagerService– Ruft die konfigurierte Aktion ab (getActionById)mx.shell.ActionExecutorService– Führt die Aktion aus (execute)mx.shell.SidePanelService– Verwaltet die Views im Seitenpanelmx.SolutionBuilderAgent.ViewHelpService– Zeigt die kontextsensitive Hilfe an
Installation
Die Extension wird über die Matrix42 Extension Gallery als Konfigurationspaket bereitgestellt und installiert.
- Matrix42 Administration öffnen
- Zur Extension Gallery navigieren
- Nach „Wizard Workflow Tracker“ von RootITUp suchen
- Auf „Install“ klicken und warten, bis die Installation abgeschlossen ist
Rahmendaten des Pakets (aus package.json):
| Merkmal | Wert |
|---|---|
| Version | 1.3 (Stand 02.07.2025) |
| Mindestproduktversion | Matrix42 Digital Workspace Platform 12.1.0 |
| Abhängige Pakete | keine |
| Setup-Direktiven | RecycleWebApplication = true (kurzer Recycle des Web-Anwendungspools bei der Installation); kein Wartungsmodus, kein Dienstneustart |
Voraussetzung: Administrative Rechte im Matrix42-System.
Konfiguration
Steuerelement im Wizard einbinden
1. Layout des Wizards öffnen
Öffnen Sie das Layout des gewünschten Wizards über „Change Layout“ im Layout Designer.
2. Steuerelement platzieren
Fügen Sie aus der Toolbox das nicht-visuelle Steuerelement „RootITUp Workflow abwarten“ (rootitup-wizard-postaction) auf der Wizard-Seite ein.
3. Eigenschaften setzen
| Eigenschaft | Vorgabe | Beschreibung |
|---|---|---|
| Title (Pflicht) | – | Lokalisierte Kurzbezeichnung der Aktion, die Anwendenden angezeigt wird (z. B. „Client ausgeben“) |
| Is Active (Pflicht) | true | Steuert, ob nach dem Absenden die Aktion ausgelöst wird |
| Action (Pflicht) | mitgelieferte Aktion „Workflow abwarten“ | Auszuführende Aktion (PDRActionType). Standardmäßig das Tracking-Fenster; kann auf eine eigene Aktion umgestellt werden |
4. Layout veröffentlichen
Nach dem Veröffentlichen öffnet sich beim Absenden des Wizards automatisch das Tracking-Fenster für den gestarteten Hintergrundprozess.
Fortschrittsschritte im Workflow konfigurieren (optional)
Die Qualität der Fortschrittsanzeige hängt von den Schrittbeschreibungen im Workflow ab. Der Tracker liest den aktuellen Schritt über die REST-API /m42Services/api/BackgroundProcess/{processId} (Feld StatusDetails, Teil „Last step:“) aus.
Die Schrittnamen stammen aus der Workflow-Aktivität „Update Visual Progress“. Platzieren Sie diese Aktivität an den relevanten Stellen des Workflows:
| Workflow-Phase | Beispiel „Update Visual Progress“ |
|---|---|
| Start | „Hardware wird gesucht …“ |
| Verfügbarkeitsprüfung | „Verfügbarkeit wird geprüft …“ |
| Zuweisung | „Hardware wird zugewiesen …“ |
| Bestätigung | „Inventar wird aktualisiert …“ |
Setzen Sie je Aktivität die Eigenschaft „Visual Progress“ (den Fortschrittsschritt) sowie einen lokalisierten Name – dieser Name erscheint im Tracking-Fenster als aktueller Schritt. Prüfen Sie anschließend alle Aktivitäten, checken Sie den Workflow ein und veröffentlichen Sie ihn.
Funktionen im Detail
Statusverfolgung (Polling)
Die Komponente rootitup-process-status fragt den Status des Hintergrundprozesses regelmäßig über die Matrix42 REST-API ab.
Polling-Verhalten
| Parameter | Standardwert | Beschreibung |
|---|---|---|
Poll Interval (poll-interval) | 2 Sekunden | Intervall zwischen den Statusabfragen |
| Maximale Laufzeit | 20 Minuten | Automatischer Stopp des Pollings zur Ressourcenschonung |
Erkannte Status
| API-Status | Anzeige-Typ |
|---|---|
Active, Executing, Starting, Terminating, Canceling | loading |
Completed | completed |
Failed, Terminated, Canceled | failed |
Suspended, Suspending | suspended |
Queued | queued |
Das Tracking-Fenster stellt diese Typen als Symbol dar: Ladeanimation (queued/loading), Pause-Symbol (suspended), Häkchen (completed) und Kreuz (failed).
Bei Status
completedoderfailedstoppt das Polling automatisch.
Folgeaktion (Post-Action)
Die Komponente rootitup-wizard-postaction führt nach dem Absenden des Wizards die konfigurierte Aktion aus.
Bindungen
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
is-active | Boolean (Vorgabe true) | Aktiviert bzw. deaktiviert das Steuerelement |
action | Objektverweis auf PDRActionType (Vorgabe „Workflow abwarten“) | Die auszuführende Aktion |
title | String | Lokalisierte Anzeigebezeichnung der Aktion |
Ablauf
- Die Komponente lauscht auf das
WizardPostAction-Ereignis. - Sie liest die
OperationIdaus demSubmitData.returndes Wizards. - Sie ruft die konfigurierte Aktion über den
ActionManagerServiceab. - Sie führt die Aktion mit der
OperationIdals Referenz aus – standardmäßig öffnet dies das Tracking-Fenster.
Hilfe-Integration
Die Komponente rootitup-view-help zeigt eine Hilfe-Schaltfläche an, sobald ein Hilfetyp hinterlegt ist. Die Hilfekonfiguration wird aus dem Wizard übernommen (helpSourceType, helpValue).
help-source-type | Beschreibung |
|---|---|
0 | Keine Hilfe |
1 | Knowledge-Base-Artikel |
3 | Externe URL |
Im Tracking-Fenster wird die Hilfe-Schaltfläche angezeigt, wenn der Prozess fehlgeschlagen ist.
Barrierefreiheit
Die Statusanzeige ist als Live-Region ausgezeichnet (role="status", aria-live="polite", aria-atomic="true") und hinterlegt für jeden Statuszustand ein aria-label, sodass Screenreader und assistive Technologien Statuswechsel ansagen.
Changelog
Version 1.3 (02.07.2025)
- Steuerelement „RootITUp Workflow abwarten“ für die Echtzeitverfolgung nach dem Absenden des Wizards
- Statusanzeige „RootITUp Prozess-Status“ mit konfigurierbarem Poll-Intervall
- Hilfe-Integration „RootITUp Hilfe anzeigen“
- Schrittbeschreibungen aus den „Update Visual Progress“-Aktivitäten des Workflows
- Kompatibel mit der Matrix42 Digital Workspace Platform ab 12.1.0
Häufig gestellte Fragen
Welche Matrix42-Version wird vorausgesetzt?
Der Wizard Workflow Tracker setzt die Matrix42 Digital Workspace Platform (UUX) ab Version 12.1.0 voraus (MinimalRequiredProductVersion 12.1.0).
Warum stoppt das Polling nach 20 Minuten?
Um Ressourcen zu schonen, stoppt das Polling automatisch nach 20 Minuten – unabhängig vom Zustand des Prozesses. Bei sehr langen Workflows empfehlen wir zusätzlich E-Mail-Benachrichtigungen.
Lässt sich das Polling-Intervall anpassen?
Ja, über die Eigenschaft Poll Interval (poll-interval, in Sekunden) im Layout Designer. Der Standardwert beträgt 2 Sekunden.
Werden zusätzliche Berechtigungen benötigt?
Nein. Die Extension nutzt dokumentierte Shell-Services und die Matrix42-Web-API (/m42Services/api/BackgroundProcess/{processId}); die mitgelieferte Aktion ist ohne Zielgruppeneinschränkung ausgeliefert.
Wie wird die Hilfefunktion konfiguriert?
Die Hilfe wird über die Hilfekonfiguration des Wizards definiert: entweder ein Knowledge-Base-Artikel (help-source-type = 1) oder eine externe URL (help-source-type = 3). Bei 0 wird keine Hilfe angezeigt.
Was passiert bei einem Workflow-Fehler?
Bei Status Failed, Terminated oder Canceled wird der Fehlerstatus angezeigt und das Polling gestoppt. Über die hinterlegte Hilfefunktion erhalten Anwendende weiterführende Unterstützung.