Direkt zum Hauptinhalt

Eine Lösung in eine Umgebung importieren

Ziel​

Ein Lösungspaket in eine Zielumgebung importieren, damit die anderswo gebauten Tabellen, Formulare, Ansichten und Regeln in dieser Umgebung neu erstellt werden.

Voraussetzungen​

  • Sie sind als Plattformadministrator beim Admin Control Center angemeldet.
  • Sie haben eine Lösungspaketdatei, die aus einer anderen Umgebung exportiert wurde (siehe Eine Lösung exportieren).
  • Die Zielumgebung existiert und ist aktiv (siehe Eine Umgebung erstellen).

Schritte​

  1. Wählen Sie oben im Admin Control Center die Zielumgebung aus – eine Lösung wird in eine Umgebung importiert, daher gilt der Import für die gerade ausgewählte Umgebung.
  2. Öffnen Sie die Seite Lösungen über die obere Navigation.
  3. Wählen Sie Importieren aus.
  4. Stellen Sie das exportierte Lösungspaket bereit.
  5. Enthält das Paket Demodaten, werden Sie danach gefragt, bevor etwas importiert wird: Aktivieren Sie Demodaten einschließen, um diese Zeilen mitzunehmen, und wählen Sie dann Importieren aus. Das Kontrollkästchen ist nicht aktiviert, solange Sie es nicht aktivieren, und für eine Produktionsumgebung deaktiviert. Die Konfigurationszeilen des Pakets kommen immer mit, und bei einem Paket ohne Demozeilen entfällt die Frage.
  6. Die Lösung wird sofort bereitgestellt – genau wie in Power Apps wird ein Import direkt in die ausgewählte Umgebung übernommen. Die importierte (verwaltete) Lösung erscheint dann in der Liste der Lösungen, und Ersteller können ihre Komponenten verwenden.

Was im Hintergrund passiert​

Bevor etwas übernommen wird, wird das Paket validiert und seine Abhängigkeiten werden geprüft – jedes Formular, jede Ansicht und jede Regel muss auf eine Tabelle verweisen, die entweder im selben Paket enthalten oder in der Zielumgebung bereits vorhanden ist. Anschließend werden die Tabellen im eigenen isolierten Datenbereich der Zielumgebung angelegt und die Formulare, Ansichten und Regeln dort registriert. Jede Umgebung behält ihre eigenen, getrennten Daten, daher startet die importierte Lösung in der Zielumgebung leer.

Der Import ist wiederholbar: Existiert eine Komponente in der Zielumgebung bereits – weil sie das integrierte Formular oder die integrierte Ansicht einer Standardtabelle ist oder weil Sie dieselbe Lösung erneut importieren –, wird sie an Ort und Stelle aktualisiert, statt einen Fehler zu verursachen. So lässt sich eine Lösung, die einer Standardtabelle ein Feld hinzufügt, sauber importieren, obwohl diese Tabelle (samt ihren Standardformularen und -ansichten) bereits vorhanden ist.

Das gilt auch für Optionssätze. Ein Optionssatz, der in der Zielumgebung bereits existiert, wird auf den Stand des importierten gebracht: Beschriftungen und Reihenfolge werden aktualisiert, neue Optionen hinzugefügt und Optionen, die der importierte Satz nicht mehr hat, entfernt. Optionen werden über den Wert zugeordnet, den die Plattform ihnen zugewiesen hat, daher wird eine umbenannte Option aktualisiert statt doppelt hinzugefügt, und bei keinem Datensatz ändert sich unbemerkt die Bedeutung seines gespeicherten Werts. Zwei Situationen stoppen den Import stattdessen, weil sich keine davon ohne Datenverlust lösen lässt: ein Optionssatz, der denselben Namen wie ein bereits vorhandener trägt, aber zu einem anderen Herausgeber gehört, und das Entfernen einer Option, die Datensätze noch verwenden.

Importe werden sofort übernommen. Eine Genehmigungsstufe pro Umgebung für höhere Stufen (Test, Produktion) ist als Teil der künftigen Flow-basierten Bereitstellungspipeline geplant – sie ist heute nicht Teil des direkten Imports.

Eine Lösung kann sagen, worauf sie aufbaut. Nennt ihr Paket Lösungen, die sie braucht, prüft der Import zuerst die Umgebung und lehnt mit „Importieren Sie zuerst …“ ab – bevor irgendetwas geschrieben wird –, wenn eine fehlt oder zu alt ist.

Scheitert ein Import mittendrin, bleibt nichts zurück. Wird diese Lösungsversion hier zum ersten Mal importiert, wird alles, was bis dahin angelegt wurde – Tabellen, Formulare, Rollen, Apps –, wieder entfernt, und der Import wird mit dem Grund als Fehlgeschlagen markiert. Beheben Sie die Ursache und importieren Sie erneut. (Ein erneuter Import einer bereits installierten Version wird nicht zurückgenommen, weil das die funktionierende Kopie mitnehmen würde.)

Eine neuere Version importieren: ein Upgrade​

Wenn die Umgebung bereits eine frühere Version der Lösung hat, ersetzt der Import einer neueren sie. Die frühere Version verschwindet aus der Lösungsliste, und die Umgebung sieht danach so aus, wie eine Neuinstallation der neuen Version sie hinterlassen würde:

  • Alles, was die neue Version noch mitbringt, bleibt, samt Datensätzen, und gehört jetzt der neuen Version.
  • Was die neue Version nicht mehr mitbringt, wird entfernt, wie eine Deinstallation es entfernen würde. Eine weggefallene Rolle wird den Personen entzogen, die sie hatten.

Kann die frühere Version nicht zurückgezogen werden, gelingt der Import trotzdem, die frühere Version bleibt in der Liste, und die Meldung nach dem Import sagt es. Importieren Sie die neue Version erneut, um es noch einmal zu versuchen. Deinstallieren Sie die frühere Version nicht: Ihr gehören noch Teile der neuen.

Wenn eine Lösung eine vorhandene Tabelle erweitert​

Manche Lösungen fügen einer Tabelle, mit der die Umgebung erstellt wurde, Felder hinzu, etwa einen Code und einen Status bei Einheiten. Der Import fügt diese Felder hinzu und lässt alles andere an der Tabelle, wie es war, sodass die Tabelle ihre vorhandenen Felder, Datensätze und ihr Organigramm behält. Die Tabelle gehört weiterhin der Umgebung, nicht der Lösung.

Das Deinstallieren dieser Lösung nimmt nur weg, was sie hinzugefügt hat. Die Tabelle bleibt, mit ihren eigenen Feldern und Datensätzen.

Eine Lösung kann ein vorhandenes Nachschlagefeld auf eine andere Tabelle zeigen lassen. So könnte der Leiter einer Einheit auf eine Position statt auf eine Person zeigen. Werte, die auf die alte Tabelle zeigten, werden geleert, weil sie für die neue keine Bedeutung haben. Das Deinstallieren lässt das Nachschlagefeld wieder zurückzeigen und leert die Werte, die es enthielt.

Eine Lösung kann den Datentyp eines Felds nicht ändern, etwa ein Textfeld in ein Nachschlagefeld umwandeln. Der Import stoppt mit einer Meldung, die das Feld nennt, und nichts wird geändert. Der Autor der Lösung muss stattdessen ein neues Feld hinzufügen.

Wenn eine Lösung eine andere braucht​

Eine Lösung kann auf der Lösung eines anderen Herausgebers aufbauen: etwa eine Tabelle Badge, deren Spalte Visitor auf die Tabelle verweist, die die Lösung Visitors mitbringt. Beide lassen sich nebeneinander in einer Umgebung installieren, jede unter ihrem eigenen Herausgeber, aber die Lösung, auf der die andere aufbaut, muss zuerst da sein.

Deshalb prüft der Import jede Nachschlagespalte. Eine Spalte, die auf eine Tabelle verweist, die das Paket nicht mitbringt und die Umgebung nicht hat, stoppt den Import, bevor irgendetwas geschrieben wird, und die Meldung nennt die Spalte und die Tabelle. Importieren Sie die Lösung, die die Tabelle mitbringt, und dann diese erneut.

Exporte halten noch nicht fest, auf welchen Lösungen ein Paket aufbaut. Diese Prüfung, Tabelle für Tabelle, ist also das, was einen Import in der falschen Reihenfolge abfängt.

Startdaten: Konfiguration immer, Demodaten nur auf Wunsch​

Startdaten sind Datensätze, die ein Paket mitbringt, und die Zeilen jeder Tabelle gehören zu einer von zwei Arten:

  • Konfiguration – Zeilen, die die Lösung zum Funktionieren braucht, etwa Genehmigungsschwellen. Sie kommen immer mit, auch in die Produktion.
  • Demodaten – Zeilen, die die Lösung vorführen, etwa erfundene Kunden. Sie kommen nur mit, wenn Sie Demodaten einschließen aktivieren, und nie in eine Produktionsumgebung, wo sie zwischen Ihren eigenen Datensätzen stünden, ohne dass etwas sie unterscheidet, und auch nach einer Deinstallation der Lösung blieben.

Die Meldung nach dem Import sagt, was angekommen ist und wie viele Demozeilen ausgelassen wurden. Siehe Startdaten mit einer Lösung ausliefern.

Fehlerbehebung​

  • „Das Lösungspaket ist ungültig.“ – das Paket entspricht nicht dem erwarteten Format. Exportieren Sie es erneut aus der Quellumgebung.
  • „field '…' references '…', which is neither in the package nor in this environment.“ – eine Spalte im Paket verweist auf eine Tabelle oder nimmt ihre Werte aus einem Optionssatz, den das Paket nicht mitbringt und diese Umgebung nicht hat. Es wurde nichts importiert. Bringt eine andere Lösung ihn mit, importieren Sie zuerst diese Lösung. Gehört er zu dieser Lösung, fügen Sie ihn in der Umgebung hinzu, aus der Sie exportiert haben, und exportieren Sie erneut.
  • „Demodaten können nicht in … importiert werden, da es eine Produktionsumgebung ist.“ Importieren Sie die Lösung ohne sie. Ihre Konfigurationszeilen kommen trotzdem mit.
  • Die Lösung ist angekommen, aber ihre Beispieldatensätze fehlen. Sie wurde ohne ihre Demodaten importiert. Importieren Sie sie erneut, in eine Umgebung, die keine Produktionsumgebung ist, mit aktiviertem Demodaten einschließen.
  • „Zielumgebung … wurde nicht gefunden“ / „ist nicht aktiv.“ – wählen Sie eine vorhandene, aktive Umgebung aus; warten Sie, bis eine neu erstellte Umgebung fertig bereitgestellt ist.

Verwandte Szenarien​

  • Eine Lösung exportieren.
  • Eine Umgebung erstellen.