Skip to content

Tenant Wizard Architektur

Der Tenant Wizard bildet die Grenze zwischen "es gibt noch keinen Tenant" und "eine persistierte Monitoring-Konfiguration steht fuer die Laufzeit bereit". Er ist nicht nur ein gefuehrtes Formular, sondern erzeugt die erste Runtime-Struktur, auf der Worker-Schleifen und spaetere Pflegescreens aufbauen.

Verwandte Seiten

Fachliche Rolle

Der Wizard fuehrt Benutzer durch diese Bereiche:

  • Tenant-Identitaet und Zuordnung
  • Setup-Modus und Wahl der Ziellandschaft
  • SAP-CPI-Verbindungsdaten
  • optionale Edge-Daten fuer Hybrid-Setups
  • Monitoring-Defaults und Scope
  • erste Alert- und Archiv-Optionen
  • Job-Intervalle und Source-Auswahl
  • AI-Szenario-Defaults
  • finaler Review vor dem Speichern

Schrittmodell

Die sichtbaren Schritte werden in frontend/src/pages/components/config/AddConfigWizard.jsx ueber stepKeyArr definiert:

  • NAME
  • SETUP
  • SAP_CPI
  • EDGE
  • SETTINGS
  • ALERTS
  • ARCHIVE
  • JOBS
  • AI_SCENARIOS
  • REVIEW

Die Inhalte sind nicht statisch. Je nach Setup werden Felder oder ganze Abschnitte ein- oder ausgeblendet:

  • edge_hybrid zeigt zusaetzliche Edge-Felder
  • auth_type = oauth zeigt OAuth-Felder
  • verify_ssl = true zeigt CA-Zertifikatsfelder
  • ausgewaehlte Sichtbarkeitsmodi zeigen Access-Group-Felder

Architekturgrenze

Der Wizard sitzt zwischen Frontend und Core-Config-API:

flowchart LR
    U[Benutzer] --> W[AddConfigWizard.jsx]
    W --> H[Normalisierungshelfer]
    H --> API[POST /api/core/config/]
    API --> CFG[cConfig]
    API --> EXT[cConfigExt Fan-out]

Persistenzmodell

Der Wizard baut dieselbe verschachtelte Struktur, die spaeter von der Laufzeit genutzt wird. Wichtige persistierte Bereiche sind:

  • connection.config
  • global.config
  • jobs.*.config
  • periodic.config
  • optionale AI-Szenario-Einstellungen

Das ist wichtig, weil der Wizard kein separates Einmal-Schema pflegt. Er spricht bereits das eigentliche Runtime-Konfigurationsmodell.

Backend-Verhalten

Beim Anlegen ueber backend/src/core/views.py geschieht:

  • Validierung des Company-Zugriffs
  • Durchsetzung eindeutiger Tenant-Namen pro Company
  • Validierung von edge_hybrid-Referenzen auf einen vorhandenen CPI-Tenant
  • Anwenden von Default-Alert-Strukturen
  • Anlegen des Root-Datensatzes cConfig
  • Auffaechern verschachtelter Bereiche in cConfigExt
  • separates Speichern periodischer Einstellungen bei Bedarf

Wichtige Designfolge

Der Wizard ist bewusst schmaler als der spaetere Settings-Bereich. Er ist fuer die erste korrekte Form, sinnvolle Defaults und sichere Connection Checks verantwortlich. Detailliertes Tuning erfolgt spaeter in Settings und spezialisierten Popups.

Wichtige Frontend-Dateien

  • frontend/src/pages/components/config/AddConfigWizard.jsx
  • frontend/src/pages/components/config/wizard/wizardHelpContent.js
  • frontend/src/pages/components/config/wizard/WizardHelpPopover.jsx
  • frontend/src/pages/components/config/wizard/WizardDocumentationModal.jsx