Distribution von Anpassungen
6 Minuten Lesezeit
Grundprinzip
Um vorgenommene Anpassungen an der Datenbankstruktur, den Metaobjekten und den Eingabemasken auch in anderen Datenbanken und auf anderen Docusnap-Installationen nutzen zu können, ohne alle Änderungen erneut durchführen zu müssen, besteht die Möglichkeit, diese zu exportieren und in einer anderen Umgebung wieder zu importieren.
Export und Import der Anpassungen erfolgt über die Docusnap Administration.
Namespace
Namespaces bei Customizings bedeuten, dass jede Erweiterung des Metaschemas (Tabellen, Sichten, Datenbaumobjekte) mit einem Namespace versehen werden kann. Auf diesem Weg können alle Objekte, die zu einem größeren Customizing gehören, in Verbindung zueinander gebracht werden. Dies ist vor allem dann nützlich, wenn ein spezifisches Customizing exportiert werden soll und in dieser Datenbank weitere Customizings vorhanden sind. Im Zuge des Exports kann nun der spezifische Namespace ausgewählt und die dazugehörigen Tabellen, Sichten und Datenbaumobjekte exportiert werden.
Export der Datenbankstruktur und von Metaobjekten
Für den Export eines Metaschemas ist es notwendig, dass Docusnap mit jener Datenbank verbunden ist, in der sich das zu exportierende Schema befindet. Durch einen Klick auf die Schaltfläche Schema exportieren im Bereich Customizing wird der Dialog Metaschema exportieren geöffnet. Im Feld Pfad wird ein beliebig wählbaren Speicherort gewählt. Im Feld Namespace wird gewählt, ob Alles oder nur ein bestimmter Namespace exportiert werden soll. Wenn beim Export ein Namespace gewählt wurde, werden alle Objekte, Tabellen und Spalten dieses Namespaces und die mit leeren Namespaces berücksichtigt. Durch Klick auf die Schalfläche Export wird das aktuelle Schema exportiert. Am ausgewählten Ort wird so eine neue Datei mit der Dateiendung .dsu erstellt, die die vorgenommenen Anpassungen der aktuellen Docusnap-Datenbank enthält.
Import der Datenbankstruktur und von Metaobjekten
Zuvor exportierte Anpassungen am Metaschema können mithilfe eines Assistenten wieder in eine andere Datenbank importiert werden. Hierfür ist es notwendig, dass Docusnap zum Zeitpunkt des Importvorgangs mit der jeweiligen Zieldatenbank verbunden ist. Ein Klick auf die Schaltfläche Schema importieren im Bereich Customizing ruft den zugehörigen Assistenten auf, mit dessen Hilfe weitere Konfigurationen vorgenommen werden können.
Falls beim Export des Customizings ein Namespace verwendet wurde, wird im Importdialog nun zusätzlich anzeigt welches Objekt welchem Namespace zugeordnet ist.
Der erste Schritt des Assistenten dient der Auswahl der zuvor exportierten Datei, welche das angepasste Metaschema enthält. Durch einen Klick auf die Schaltfläche wird ein Dialogfeld zur Dateiauswahl angezeigt, mit dessen Hilfe die entsprechende .dsu Datei geöffnet werden kann.
Im zweiten Schritt des Assistenten werden alle veränderten und neu hinzugefügten Metaobjekte angezeigt, die in der ausgewählten Datei vorhanden sind und durch den Assistenten in die aktuelle Datenbank importiert werden. Beim Import werden alle Objekte berücksichtigt, die sich in der Schema-Datei befinden. Importiert werden alle in der Datei enthaltenen Metaobjekte. Eine Auswahl ist an dieser Stelle, aufgrund möglicherweise existierender Abhängigkeiten, nicht möglich. Objekte, die nicht benötigt werden, können nach dem Import über Objekte verwalten wieder gelöscht werden.
Wenn vor einem zu importierenden Objekt ein Kontrollkästchen angezeigt wird, dann existiert bereits ein Objekt mit gleicher Typ-ID in der Zieldatenbank. Eine rot formatierte Schrift zeigt an, dass der entsprechende Objektname bzw. die Typ-ID bereits in den Metaobjekten der Zieldatenbank vorhanden ist. Wird das Kontrollkästchen aktiviert, so wird das betreffende Objekt in der Zieldatenbank durch die Informationen in der ausgewählten Datei überschrieben. Bei deaktiviertem Kontrollkästchen wird in der Zieldatenbank ein neues Objekt mit gleichem Namen aber anderer Typ-ID angelegt. Die ursprünglichen Daten in der Zieldatenbank bleiben unverändert. Ist die Typ-ID bereits vorhanden, weicht der Objektname allerdings ab und wird die Option zum Überschreiben vorhandener Daten ausgewählt, so wird hierdurch auch der vorhandene Objektname durch jenen aus der ausgewählten Datei überschrieben.
Der dritte Schritt des Assistenten listet alle Tabellen auf, die in der ausgewählten Datei vorhanden sind und in die Zieldatenbank importiert werden sollen. Das in der folgenden Abbildung dargestellte Beispiel zeigt eine Tabelle xtSLA, die im Systemschema von Docusnap nicht vorhanden ist. Die Tabelle tHosts hingegen gehört zum Systemschema und wurde um ein Feld zur Eingabe zusätzlicher Informationen erweitert.
In der Liste im Bereich Zu importierende Metatabellen werden alle Tabellen angezeigt, die vom Benutzer angelegt wurden oder bei welchen benutzerdefinierte Felder hinzugefügt oder modifiziert wurden. Wird in der oberen Liste eine Tabelle ausgewählt, so werden in der Liste Zur ausgewählten Tabelle gehörige Felder alle hinzugefügten veränderten Felder der markierten Tabelle angezeigt.
Ist eine Tabelle in der Zieldatenbank noch nicht vorhanden, wird die Tabelle mit allen Feldern angelegt. Falls die Tabelle schon vorhanden ist, werden nur die noch nicht vorhandenen Felder angelegt. Es werden in keinem Fall Felder gelöscht, die in der Datenbank vorhanden sind, in der Schema-Datei aber nicht zu dieser Tabelle gehören. Beim Import werden alle Tabellen und Felder importiert. Es ist nicht möglich, einzelne Tabellen oder Felder aus dem Import auszunehmen.
Ist ein Feld in der Zieldatenbank bereits vorhanden, verfügt aber über einen anderen Datentyp als jene Definition in der ausgewählten Datei, so wird dies in der entsprechenden Liste durch eine rote Markierung signalisiert. Durch Klick auf die Tabelle werden in der unteren Liste die Felder angezeigt, wobei in dieser Auflistung jene Felder, bei denen ein Problem auftritt, rot hinterlegt dargestellt werden. Um den Import durchführen zu können, muss entweder in der Zieldatenbank oder in der Quelldatenbank der Datentyp geändert werden. Der Datentyp kann allerdings nur geändert werden, indem das betroffene Feld gelöscht wird und mit dem anderen Datentyp erneut angelegt wird, wodurch alle bereits vorhandenen Daten dieses Feldes aus der Datenbank gelöscht werden. Wenn das Feld in der Quelldatenbank geändert wird, muss die Schema-Datei erneut exportiert werden, um die aktualisierten Daten importieren zu können. Wird das Feld in der Zieldatenbank verändert, ist es ausreichend, das Feld nur zu löschen, da es durch den Importvorgang der Quelldatei ohnehin wieder neu angelegt wird, diesmal mit dem passenden Datentyp aus der Quelldatenbank.
Der letzte Schritt des Assistenten fasst alle Objekte und Tabellen zusammen, welche importiert werden. Durch Klick auf die Schaltfläche Zurück kann die Auswahl geändert werden. Durch Klick auf die Schaltfläche Fertigstellen werden die Objekte und Tabellen in die Zieldatenbank importiert.
Distribution von Eingabemasken
Veränderte oder neu angelegte Eingabemasken werden nicht automatisch über einen Assistenten distribuiert, da diese nicht abhängig von der ausgewählten Datenbank sind, sondern aus den jeweiligen lokalen oder Teameinstellungen geladen werden. Um diese Änderungen mehreren Benutzern zur Verfügung zu stellen, müssen diese Zugriff auf die entsprechenden .dsu Dateien haben. Im Falle von Teameinstellungen ist es dabei in der Regel ausreichend, die modifizierten .dsu-Dateien in das Unterverzeichnis DataEdit dieses Verzeichnisses zu kopieren, falls dies nicht beim Speichervorgang automatisch geschehen ist. Werden lokale Einstellungen verwendet, so müssen die entsprechenden Dateien auf jeden Fall manuell distribuiert werden.