Export und Import
Im Bereich Export / Import werden Inhalte als Paket (.pdpx) zwischen Datasources übertragen, etwa von einer Test- in die Produktivumgebung. Ein Paket kann Vorlagen, Snippets, Konfigurationen, Übersetzungen, Tags, Dokumentfunktionen, Organisationseinheiten, Felddefinitionen und Profil-Rollen enthalten. Der Bereich ist Systemadministratoren vorbehalten.
Pakete werden in einem Verzeichnis auf dem Server abgelegt, das in der primedocs.config konfiguriert ist:
<importExport rootPath="D:\primedocs\ImportExport" retentionDays="14" />
rootPath ist absolut oder relativ zum Verzeichnis der primedocs.config. Laufen mehrere Server-Instanzen, muss es ein gemeinsames Share sein. Paketdateien werden nach retentionDays Tagen gelöscht (Standard 14), die Läufe bleiben im Verlauf erhalten.
Neue Installationen enthalten das Element mit dem Verzeichnis ImportExport neben der primedocs.config. Eine Installation, die mit Update.ps1 aktualisiert wird, erhält es nicht automatisch, dort das Element von Hand ergänzen, siehe primedocs.config. Fehlt es oder ist das Verzeichnis nicht beschreibbar, weist der Web-Admin darauf hin und Export und Import sind nicht möglich.
Der Web-Admin importiert nur .pdpx-Pakete. Pakete im älteren Format (.oopx) werden weiterhin über die DataSourceAdminApp importiert oder in der Quelle über den Web-Admin neu als .pdpx exportiert. Den Export und Import einer ganzen Datenbank beschreibt Datenbank-Export und -Import.
Aufbau des Bereichs
Export / Import hat in der Hauptnavigation einen eigenen Eintrag zwischen Einstellungen und Analytics. Der Bereich besteht aus fünf Seiten:
| Seite | Inhalt |
|---|---|
| Übersicht | Einstieg in Export und Import sowie die letzten Läufe dieser Datasource mit Richtung, Ergebnis und bei Importen den Warnungen. |
| Exportieren | Positionen auswählen und ein Paket erstellen. |
| Importieren | Ein Paket aus der Paketablage prüfen, den Änderungsplan lesen und anwenden. |
| Paketablage | Pakete dieser Datasource, selbst erstellt oder hochgeladen. |
| Verlauf | Alle Läufe dieser Datasource, filterbar nach Importen, Exporten sowie Warnungen und Fehlern. |
Die Schritte von Export und Import stehen oben als Leiste. Ein bereits freigegebener Schritt lässt sich direkt anklicken. Ein gesperrter Schritt nennt beim Darüberfahren oder Fokussieren den Grund, etwa eine noch fehlende Auswahl.
Jede Seite hat eine eigene Adresse. Lesezeichen und geteilte Links öffnen also direkt den Export, die Paketablage oder einen laufenden Import. Die Seiten erscheinen auch in der Suche (Ctrl+K).

Die Übersicht des Bereichs. Links der Eintrag in der Hauptnavigation mit den fünf Seiten.
Exportieren
Der Export führt in drei Schritten zu einem Paket in der Paketablage:
-
Auswählen: die Positionen wählen, als Baum, nach Typ oder als Tabelle. Zwei Auswahlhilfen stehen unterhalb der Suche:
- «Nur seit letztem Export geändert» zeigt nur Objekte mit Änderungszeitpunkt nach dem letzten erfolgreichen Export. Tags, Dokumentfunktionen, Felddefinitionen, Profil-Rollen und Vorlagengruppen tragen keinen Zeitstempel und fehlen im Filter.
- «Vorlagen nach Tags» öffnet einen Dialog mit allen Tags, die mindestens einer Vorlage zugewiesen sind, mit der Anzahl Vorlagen und in der Farbe des Tags. «Vorlagen auswählen» ergänzt alle Vorlagen, die mindestens einen der gewählten Tags tragen. Die bestehende Auswahl bleibt erhalten, eine Meldung nennt die Anzahl der ergänzten Vorlagen.
Für gewählte Vorlagen ergänzt primedocs standardmässig die benötigten Elemente selbst, also Basis- und Untervorlagen, Snippets, Tags, Konfigurationen, Übersetzungen und Profil-Rollen, auch über mehrere Stufen. Mit «Nur die selbst gewählten Positionen» entsteht ein Teil-Paket. Die benötigten Verknüpfungen müssen dann im Ziel vorhanden sein.
-
Zusammenstellen: das Paket benennen, den Inhalt prüfen und «Paket erstellen» wählen.
-
Ablegen: Das Paket wird erstellt und in der Paketablage der Datasource abgelegt. Von dort lässt es sich herunterladen.

Im ersten Schritt werden die Positionen gewählt. Rechts die automatisch ergänzten Elemente, darunter die Profil-Rolle, die eine gewählte Vorlage referenziert.

«Vorlagen nach Tags» ergänzt die Vorlagen der gewählten Tags. Die Tags selbst kommen über die automatische Ergänzung ins Paket.
Paketablage
Die Paketablage listet die Pakete der Datasource, selbst erstellte und hochgeladene. Selbst erstellte Pakete zeigen Inhalt und Prüfsumme und lassen sich herunterladen, der Download-Link ist 15 Minuten gültig. Über «Paket hochladen (.pdpx)» kommt ein Paket aus einer anderen Datasource dazu. Importiert werden hochgeladene Pakete: Um ein Paket in eine andere Datasource einzuspielen, das Paket herunterladen und in der Paketablage der Ziel-Datasource hochladen.
Importieren
«Importieren» startet immer eine geführte Prüfung. Angewendet wird erst, wenn der Änderungsplan bestätigt ist. Ziel ist stets die aktive Datasource.
- Prüfen: Das Paket wird gegen das Ziel geprüft. Angezeigt werden die Paket-Integrität (Prüfsumme), die Umgebungs-Identität (Quelle und Ziel) und das Ergebnis der Prüfung im Ziel. Blocker sind Felddefinitionen, die im Ziel fehlen und die das Paket nicht mitbringt. Sie sperren den Import nicht, die betroffenen Positionen scheitern aber beim Anwenden. Für Oberflächen- und Dokumentsprachen, die im Ziel fehlen, wird gewählt, ob ihre Positionen übersprungen werden (Standard) oder der Lauf abbricht.
- Plan lesen: Der Änderungsplan zeigt jede Position mit ihrem Stand (neu, geändert, in Quelle gelöscht, unverändert) und genau einer Aktion. «In Quelle gelöscht» betrifft Vorlagen, die im Ziel aktiv sind, im Paket einer vollständig exportierten Vorlagengruppe aber fehlen, weil sie in der Quelle gelöscht oder nicht mehr publiziert sind. Standard ist dort «Ziel behalten», deaktiviert wird nur auf Wunsch. Zusätzlich gelten Entscheidungen für den ganzen Lauf:
- Struktur und Reihenfolge: aus dem Paket übernehmen (Standard) oder die Struktur des Ziels behalten.
- Berechtigungen: nicht übernehmen (Standard), alle übernehmen und bei fehlendem Konto abbrechen, oder alle möglichen übernehmen und Lücken ausweisen.
- Felddefinitionen: Position aus dem Paket verwenden (Standard) oder bei Konflikt anhängen.
- Bestätigen: Die letzte Kontrolle fasst den Plan zusammen. Enthält er destruktive Positionen, etwa Deaktivieren oder Wert entfernen, bleibt der Import gesperrt, bis der Name der Ziel-Datasource eingegeben ist.
- Ergebnis: Die Änderungen in der Datenbank werden ganz oder gar nicht angewendet. Das Ergebnis zeigt Soll und Ist pro Objekttyp und bleibt im Verlauf einsehbar.
Jeder Import erhält eine ChangesetId, über die alle Änderungen dieses Laufs auffindbar sind. Was der Plan nicht nennt, bleibt im Ziel unverändert. Eine Prüfung gilt nur am selben Tag. Hat sich das Ziel seit der Prüfung geändert, scheitert der Lauf und das Paket muss neu geprüft werden. Ein erfolgreich angewendeter Import lässt sich nicht wiederholen.

Der Änderungsplan zeigt vor der Ausführung, was erstellt, aktualisiert, deaktiviert oder behalten wird.
Nach dem Import erhalten die Clients die Änderungen mit der nächsten Synchronisation.
Profil-Rollen im Paket
Profil-Rollen sind die Rollen, über die Vorlagen mit PreselectByRole ein zusätzliches Profil vorauswählen. Im Export lassen sie sich wie jeder andere Objekttyp wählen. Wird eine Vorlage gewählt, die eine Rolle referenziert, ergänzt der Export die Rolle automatisch. Referenziert eine Vorlage eine Rolle, die in der Datasource nicht existiert, erscheint eine Warnung in den Hinweisen der Abhängigkeitsprüfung.
Das Paket enthält pro Rolle den technischen Namen, die Reihenfolge und die Anzeigenamen pro Oberflächensprache, aber keine Datenbank-Id. Der Import gleicht über den technischen Namen ab, ohne Unterscheidung von Gross- und Kleinschreibung:
- Eine Rolle, die im Ziel bereits existiert, behält ihre Id und damit die Zuordnungen zu den Profilen. Reihenfolge und Anzeigenamen werden aus dem Paket übernommen.
- Eine Rolle, die im Ziel fehlt, wird neu angelegt und erhält dort eine eigene Id.
Profil-Rollen gibt es nur in .pdpx-Paketen, der Export der DataSourceAdminApp (.oopx) schreibt sie nie. Ein von Hand bearbeitetes Paket mit ungültigen Rollen wird bei der Prüfung mit allen Verstössen zurückgewiesen, etwa bei einem leeren oder über 100 Zeichen langen technischen Namen, den Zeichen ", < oder >, doppelten Namen oder mehreren Anzeigenamen für dieselbe Sprache.