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:
NAMESETUPSAP_CPIEDGESETTINGSALERTSARCHIVEJOBSAI_SCENARIOSREVIEW
Die Inhalte sind nicht statisch. Je nach Setup werden Felder oder ganze Abschnitte ein- oder ausgeblendet:
edge_hybridzeigt zusaetzliche Edge-Felderauth_type = oauthzeigt OAuth-Felderverify_ssl = truezeigt 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.configglobal.configjobs.*.configperiodic.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.jsxfrontend/src/pages/components/config/wizard/wizardHelpContent.jsfrontend/src/pages/components/config/wizard/WizardHelpPopover.jsxfrontend/src/pages/components/config/wizard/WizardDocumentationModal.jsx