# Betriebs- und Importanleitung ## Ziel Diese Anleitung beschreibt, wie die Solution `bmvcc` in einer Umgebung bereitgestellt, geprueft und betrieben werden sollte. ## Bestandteile der Solution Die Solution enthaelt: - Dataverse-Tabellen - Canvas Apps - Model-Driven Navigation - Umgebungsvariablen - einen Custom Connector zu Bexio - mehrere Power-Automate-Flows ## Voraussetzungen fuer den Import Vor dem Import in eine Zielumgebung sollten folgende Voraussetzungen erfuellt sein. ### Power-Platform-Grundlagen - Zielumgebung mit Dataverse - Berechtigungen zum Import unmanaged Solutions - Berechtigungen fuer Custom Connector, Canvas Apps und Cloud Flows ### Externe und vorausgesetzte Komponenten Folgende Abhaengigkeiten sind im Export sichtbar und muessen in der Zielumgebung vorhanden sein oder separat bereitgestellt werden: - Tabelle `bmvcc_contact_adress` - Lookup-bezogene Tabellen bzw. Komponenten `bmvcc_contact_type`, `bmvcc_country`, `bmvcc_language` - Canvas Component Library `cre77_pagcomponents_21a73` ### Externe Dienste - Bexio-Zugang fuer den Custom Connector - SharePoint-Zielseite, falls die entsprechende Umgebungsvariable genutzt wird - Microsoft Teams, falls Benachrichtigungen aus Flows aktiv verwendet werden ## Umgebungsvariablen Die folgenden Variablen sind im Export enthalten und sollten vor Inbetriebnahme geprueft werden. | Variable | Zweck | Beobachtung aus dem Export | | --- | --- | --- | | `bmvcc_env_BusinessUnitId` | Business-Unit-Kontext | Kein Defaultwert im Export | | `bmvcc_env_Dataverse` | Dataverse-Verbindungsziel | Default verweist auf eine konkrete CRM-URL | | `bmvcc_env_SharePointSiteUrl` | SharePoint-Ziel | Default verweist auf `https://cloudcab.sharepoint.com/sites/dev` | | `bmvcc_env_test` | Testwert | Nur als Testvariable erkennbar | ## Empfohlene Import-Reihenfolge 1. Externe Abhaengigkeiten und Referenzkomponenten bereitstellen. 2. Custom Connector und notwendige Verbindungen vorbereiten. 3. Solution `bmvcc` importieren. 4. Umgebungsvariablen pro Zielumgebung setzen. 5. Connection References pruefen und neu verbinden. 6. Canvas Apps oeffnen und Verbindungen validieren. 7. Cloud Flows pruefen, aktivieren und bei Bedarf parametrisieren. 8. Fachliche Smoke-Tests durchfuehren. ## Checkliste nach dem Import ### Dataverse - Sind alle benutzerdefinierten Tabellen vorhanden? - Sind Formulare, Views und Beziehungen korrekt importiert? - Sind fehlende Lookups oder Abhaengigkeiten aufgeloest? ### Canvas Apps - Laesst sich die Haupt-App `bmvcc` oeffnen? - Sind alle Verbindungen gueltig? - Ist die Component Library verfuegbar? - Funktionieren Datenzugriffe auf die erwarteten Tabellen? ### Custom Connector - Ist `BexioV3` importiert? - Ist die Authentifizierung korrekt eingerichtet? - Lassen sich die Operationen `Allekontakte` und `Contact_relation` testen? ### Flows - Sind alle Flows im Status `eingeschaltet`, soweit gewuenscht? - Stimmen Trigger-Frequenzen mit dem Betriebsmodell ueberein? - Sind Connection References gueltig? - Schreiben die Flows Statusdaten in `bmvcc_syncconfig`? ## Betriebsrelevante Beobachtungen ### Geplante Flows Die Solution enthaelt mindestens zwei geplante Synchronisationsprozesse: - `BexioSynchKontakte`: woechentlicher Lauf - `BexioSynchRelation`: taeglicher Lauf um 04:00 Uhr in `W. Europe Standard Time` Diese Flows sollten nach dem Import nicht ungeprueft aktiviert werden, wenn Zielsysteme, Verbindungen oder fachliche Voraussetzungen noch nicht final konfiguriert sind. ### Harte Umgebungsbezuge Der Flow `bmvcc-HerstellerBusinessunitsetzen` enthaelt im Export feste Werte fuer: - Zielorganisation `https://obsideploy.crm17.dynamics.com` - konkreten Benutzerkontext bzw. Owner-ID Dieser Flow ist damit nicht direkt portabel und sollte vor produktiver Nutzung angepasst werden. ### Fehler- und Statusverfolgung Die Flows verwenden erkennbar diese technischen Muster: - Status- und Laufzeitinformationen in `bmvcc_syncconfig` - Fehlerprotokollierung in `bmvcc_bexiosyncerror` - teilweise Teams-Benachrichtigungen bei Fehler- oder Laufereignissen ## Empfohlene Betriebsprozesse ### Regelmaessige Kontrollen - Flowlaufhistorien pruefen - Fehlerdatensaetze in `bmvcc_bexiosyncerror` kontrollieren - Zeitstempel und Status in `bmvcc_syncconfig` ueberwachen - Connector-Verbindungen und Token-Gueltigkeit pruefen ### Aenderungsmanagement - Aenderungen zuerst in einer Testumgebung validieren - Umgebungsbezuge nicht hart in Flows hinterlegen - Connection References und Variablen pro Umgebung sauber trennen - Mapping-Flows nur kontrolliert manuell ausfuehren ### Recovery bei Problemen Wenn Synchronisationen fehlschlagen: 1. Connection References und Authentifizierung pruefen. 2. Letzten Lauf in Power Automate analysieren. 3. Fehlerprotokolle in `bmvcc_bexiosyncerror` auswerten. 4. Konfigurationsdatensatz in `bmvcc_syncconfig` pruefen. 5. Erst nach Ursachenanalyse erneut ausfuehren. ## Smoke-Test nach Bereitstellung Ein einfacher technischer Smoke-Test kann so aussehen: 1. Haupt-App `bmvcc` starten. 2. Zugriff auf Geraete, Kontakte, Firmen und Pruefberichte pruefen. 3. Einen manuellen Mapping-Flow in Testdaten ausfuehren. 4. Connector-Test gegen Bexio durchfuehren. 5. Kontrolle, ob Status- und Fehlerdaten erwartungsgemaess geschrieben werden. ## Empfehlung fuer den produktiven Betrieb - Produktionsrelevante URLs, IDs und Besitzer nicht fest in Flows hinterlegen. - Betriebsrelevante Variablen konsequent ueber Umgebungsvariablen oder Konfigurationstabellen steuern. - Fachliche und technische Fehlerbehandlung gemeinsam definieren. - Vor Aktivierung geplanter Synchronisationen immer einen kontrollierten Testlauf durchfuehren.