Startdaten mit einer Lösung ausliefern
Ziel
Die Zeilen, die eine Lösung braucht – Referenzdaten, Konfigurationszeilen, einen Beispielsatz –, im Lösungspaket mitreisen lassen, sodass ein Import der Lösung in eine leere Umgebung diese einsatzbereit hinterlässt, statt bereit zum Befüllen.
Voraussetzungen
- Sie sind mit einer Erstellerrolle (oder als Plattformadministrator) angemeldet.
- Die Tabelle, deren Zeilen mitreisen sollen, ist eine Komponente der Lösung, und die Zeilen existieren in der Umgebung, aus der Sie exportieren.
Schritte
- Öffnen Sie die Tabelle unter Tabellen und wechseln Sie zur Registerkarte Ansichten.
- Wählen Sie Neu aus, um den Ansichts-Designer zu öffnen.
- Geben Sie einen Anzeigenamen ein – zum Beispiel
Thresholds that ship– und nach dem Herausgeberpräfix einen logischen Namen, zum Beispielapproval_threshold_seed. - Setzen Sie Ansichtstyp auf Startdaten und wählen Sie unter Zeilen sind aus, was die
Zeilen sind:
- Konfiguration: Zeilen, die die Lösung zum Funktionieren braucht, etwa Genehmigungsschwellen oder eine Liste von Regionen. Jeder Import bringt sie mit, auch in die Produktion.
- Demonstration: Zeilen, die die Lösung vorführen, etwa erfundene Kunden. Ein Import bringt sie nur auf Anfrage mit und nie in die Produktion.
- Ziehen Sie jedes Feld, das mitreisen soll, in die Kopfzeile des Rasters. Lassen Sie weg, was zur Umgebung statt zur Zeile gehört – einen gebundenen Betrag, ein Datum der letzten Ausführung, einen Zähler.
- Fügen Sie einen Filter hinzu, wenn nur einige Zeilen mitreisen sollen – zum Beispiel Status ist gleich Aktiv. Ohne Filter reist jede Zeile mit.
- Wählen Sie Speichern aus.
- Exportieren Sie die Lösung über die Seite „Lösungen“. Das Paket enthält jetzt ein Startdatendokument für die Tabelle mit den Zeilen, die die Ansicht geliefert hat.
- Importieren Sie das Paket in eine andere Umgebung. Konfigurationszeilen kommen mit. Enthält es Demonstrationszeilen, fragt der Import zuerst nach: Aktivieren Sie Demodaten einschließen, um sie mitzunehmen. Nach Abschluss des Imports meldet eine Nachricht, wie viele Zeilen erstellt und wie viele aktualisiert wurden, nennt übersprungene Zeilen und gibt an, wie viele Demonstrationszeilen ausgelassen wurden.
Konfiguration kommt immer mit, Demonstration nur auf Anfrage
Die Auswahl Zeilen sind in der Startdatenansicht legt fest, was ein Import mit den Zeilen tut.
| Konfiguration | Demonstration | |
|---|---|---|
| Ist | was die Lösung zum Funktionieren braucht: Schwellenwerte, Regionen, Einstellungen, die ein Skript liest | was sie vorführt: erfundene Kunden, ein Jahr Beispielhistorie |
| Ein Import | bringt sie immer mit | bringt sie nur mit, wenn Demodaten einschließen aktiviert ist |
| Produktion | ja | nie: Das Kontrollkästchen ist deaktiviert, und die Plattform lehnt es ab |
Demonstrationsdaten erreichen nie die Produktion, weil dort importierte Zeilen zwischen den eigenen Daten Ihrer Kunden lägen, ohne dass sie sich unterscheiden ließen, und eine Deinstallation der Lösung sie nicht entfernen würde. Konfiguration kommt immer mit, weil eine Umgebung ohne sie nicht funktioniert.
Wählen Sie Konfiguration nur für Zeilen, die überall gleich sind, wo die Lösung läuft. Eine Zeile, die eine Umgebung für sich selbst bearbeitet, wird beim nächsten Import überschrieben.
Was im Hintergrund passiert
Eine Startdatenansicht wird niemandem angezeigt: Sie ist eine Frage, die der Export stellt. Ihr Filter beantwortet, welche Zeilen, und ihre Spalten beantworten, welche Felder. Eine Tabelle mit mehreren solchen Ansichten verwendet die als Standard markierte, andernfalls die erste nach logischem Namen.
Jede Zeile reist mit ihrer ID, und der Import fügt anhand dieser ID per Upsert ein: Eine Zeile, die das Ziel nicht hat, wird mit derselben ID erstellt; eine Zeile, die es bereits hat, wird nur in den gepackten Spalten aktualisiert und behält alle anderen Werte. Nichts wird je gelöscht. Weil die ID in jeder Umgebung gleich ist, kann eine Startdatenzeile auf eine andere zeigen – eine Budgetzeile auf ihr Programm –, und der Import schreibt die Tabellen in der dafür richtigen Reihenfolge. Ein Nachschlagefeld, das auf eine Zeile derselben Tabelle zeigt, wird ausgefüllt, nachdem alle Zeilen existieren.
Jede Zeile durchläuft den normalen Schreibpfad für Datensätze: Sie wird gegen die Tabelle validiert, dem Import zugeordnet, gegen die Nachschlagefelder des Ziels geprüft, und Plug-in-Schritte der Tabelle laufen für sie – auch ein Schritt, den dieselbe Lösung mitgebracht hat.
Was eine Startdatenzeile nicht tut, ist, einen Geschäftsprozess zu starten. Ein Prozess, der beim Erstellen eines Datensatzes startet, dreht sich darum, dass jemand einen erstellt; eine Startdatenzeile ist das Bild der Lösung von einer Tabelle, wie sie hinterlassen wurde – ein bereits genehmigter Antrag, ein bereits abgelehnter. Den Prozess für jede gepackte Zeile auszulösen, würde pro Zeile einen Lauf starten und den ersten Schritt des Prozesses den Status überschreiben lassen, mit dem die Zeile ausgeliefert wurde. Das bedeutet auch, dass hinter einer Zeile, die mit einem Wartestatus angelegt wurde, keine Aufgabe steht: Ein Paket enthält Zeilen, keine Läufe. Braucht die Demonstration eine aktive Aufgabe, legen Sie in der importierten Umgebung einen Datensatz an – dieser wird weitergeleitet.
Eine Zeile, die das Ziel ablehnt – meist ein Nachschlagefeld, das auf einen Datensatz zeigt, den das Ziel nicht hat –, wird übersprungen und benannt, mit Tabelle, ID und Grund, statt den Import scheitern zu lassen. Die Tabellen, Formulare und Ansichten sind zu diesem Zeitpunkt bereits angekommen, und ein Import, der an einer Zeile scheiterte, würde die Umgebung halb importiert zurücklassen.
Manches reist bewusst nicht mit: der Besitzer (Benutzer gehören zum Mandanten), die Erstellungs- und Änderungsstempel und die Zeilenversion (sie gehören dem Ziel) sowie Datei- und Bildspalten (ihre Bytes liegen in der Quellumgebung). Spalten mit automatischer Nummerierung werden vom Ziel vergeben.
Fehlerbehebung
- Der Import meldet, dass eine Zeile übersprungen wurde. Lesen Sie den Grund – es ist derselbe Satz, den ein Formular anzeigen würde. Ein Nachschlagefeld, das auf einen nicht existierenden Datensatz zeigt, bedeutet, dass dem Ziel eine Zeile fehlt, die das Paket vorausgesetzt hat; nehmen Sie die Zeilen dieser Tabelle in das Paket auf oder legen Sie den Datensatz im Ziel an.
- Eine Zeile, die ich im Ziel bearbeitet habe, wurde überschrieben. Genau das tut ein erneuter Import: Die gepackten Spalten gehören der Lösung. Halten Sie umgebungsspezifische Werte aus den Spalten der Startdatenansicht heraus.
- Der Export verweigert mit „liefert N Zeilen“. Ein Paket enthält höchstens 10.000 Zeilen pro Tabelle. Schränken Sie den Filter der Ansicht ein – Startdaten sind Referenzdaten, keine Historie – oder laden Sie die Zeilen stattdessen per CSV-Import.
- Nichts ist mitgereist. Prüfen Sie, ob der Typ der Ansicht Startdaten ist und ob sie auf einer Tabelle liegt, die die Lösung enthält. Sind ihre Zeilen Demonstration, prüfen Sie, ob beim Import Demodaten einschließen aktiviert war.
- Das Kontrollkästchen „Demodaten einschließen“ ist ausgegraut. Die Umgebung ist eine Produktionsumgebung, in die Demodaten nie importiert werden. Konfigurationszeilen kommen trotzdem mit.
- Zeilen, die die Lösung braucht, sind nicht in der Produktion angekommen. Ihre Startdatenansicht sagt Demonstration. Ändern Sie das auf Konfiguration, exportieren Sie die Lösung erneut und importieren Sie sie.
- Die Deinstallation der Lösung hat die Zeilen zurückgelassen. Zeilen in einer Tabelle, die der Lösung gehört, verschwinden mit der Tabelle. Zeilen, die sie einer Tabelle hinzugefügt hat, die zu einer anderen Lösung gehört, bleiben, weil die Tabelle bleibt.