Best Practices für Config Sets

Ein Leitfaden zur Erstellung von Config Sets.

Bei Config Sets handelt es sich um XML-Dateien, die Einstellungen vornehmen oder Vertec Objekte erstellen wie ScriptsBerechtigungen, Auswertungen, ZusatzklassenZusatzfelder sowie Linktypen (Custom-Link-Typ & Wrapper-Link-Typ). Dadurch können automatisierte oder spezifische Prozesse als in sich geschlossene Pakete bereitgestellt werden, die zwischen mehreren Vertec Systemen übertragbar sind. Dementsprechend handelt es sich bei Zusatzfunktionen um bereitgestellte Config Sets, die bestehende Vertec Grundfunktionen erweitern können oder neue hinzugefügt werden.

Doch, wie soll ein Config Set am besten erstellt werden? Welche wesentlichen Schritte sind dabei zu beachten?

Dieser Artikel beschreibt eine bewährte Vorgehensweise für die Planung und Erstellung von Config Sets.

Umfang definieren

Zunächst sollte klar sein, wie und wozu ein Config Set aufgebaut werden soll. Dabei sollten folgende Fragen vorab geklärt und festgelegt werden:

  • Welche Funktionalität soll bereitgestellt werden?
  • Welche Vertec Objekte werden benötigt?
  • Welche Abhängigkeiten existieren?

Das Ziel sollte sein, ein Config Set als Paket mit einer logisch abgeschlossenen Funktion zu konfigurieren. Vermeiden Sie also überladene Config Sets, die eine Vielzahl an unterschiedlichen Funktionen enthalten. Es empfiehlt sich, stattdessen mehrere kleinere, abgegrenzte Config Sets zu erstellen, die jeweils einen bestimmten Anwendungsbereich abdecken.

Config Set Builder verwenden

Config Sets werden mithilfe des Config Set Builders erstellt. Dabei stellen Sie die entsprechenden Objekte zusammen. Beim Export des Config Sets wird daraus automatisch eine XML-Struktur erstellt.

Hinweis zur XML-Datei

Die direkte Bearbeitung in der XML-Datei ist mit Vorsicht geboten, da unsächgemässe Änderungen die XML-Struktur beschädigen und beim Import des Config Sets zu Fehlern führen können. Über den Config Set Builder erfahren Sie im weiteren Verlauf des Artikels mehr.

Hinweis zur Web App

In der Web App ist der Config Set Builder nicht enthalten und man kann dort keine Config Sets zusammenstellen genauso wie bearbeiten. Für die Erstellung von Config Sets nutzen Sie also die Cloud App.

Eintrag ID setzen

Der richtige Umgang mit der Eintrag ID ist zentral bei der Erstellung von Config Sets, denn sie stellt die Identifizierung der Daten (Ordner, Linktypen) im Zielsystem sicher. Jedes Objekt im Config Set sollte eine Eintrag ID haben. Dadurch wird erkannt, ob ein Objekt im Zielsystem existiert. Objekte ohne Eintrag ID werden im Zielsystem neu erstellt, was bei wiederholtem Import zu mehrfachen Kopien führt. Wird hingegen über eine automatisch erstellte Eintrag ID in der XML-Struktur auf ein Objekt referenziert und dieses wird im Zielsystem nicht gefunden, dann wird beim Import ein Fehler angezeigt.

Deshalb empfehlen wir Ihnen, die Eintrag ID systematisch den Objekten zu vergeben. Am besten setzt sich diese aus dem Klassennamen und einem passenden Objektnamen zusammen:


Unter keinen Umständen sollte die interne ID (numerischer Wert) des Objekts zum Referenzieren verwendet werden. Die interne ID wird automatisch beim Erstellen des Objekts einmal vergeben und kann nicht mehr geändert werden. Das bedeutet, dass dasselbe Objekt in mehreren Datenbanken unterschiedliche interne IDs hat. Daher ist die interne ID zum Referenzieren nicht geeignet, da sie nicht zuverlässig auf dasselbe Objekt verweist.

XML-Struktur definieren

Die XML-Struktur entsteht mithilfe des Config Set Builders automatisch, wenn Sie die Objekte zusammentragen und die anderen Felder wie Name, Autor, Kommentar und Elemente ausfüllen. Das Feld Elemente dient dazu, Elemente für bestimmte Spezifikationen manuell zu ergänzen. Die wichtigsten Elemente sind nachfolgend beschrieben:

Bedingungen definieren

Im Element requirements werden Bedingungen angegeben, die erfüllt sein müssen, damit das Config Set eingelesen werden kann. Dadurch werden potenzielle Fehler vor dem Import erkannt.

  • Version requirement: Wird angegeben, wenn Funktionen einer bestimmten Vertec Version benötigt werden.
  • Ocl-requirement: Enthält eine OCL Expressions, mit denen Bedingungen abgefragt werden, welche True ergeben müssen. Beispielsweise kann abgefragt werden, ob eine bestimmte Zusatzklasse noch nicht verwendet werden soll, sodass keine durch den Import überschrieben wird. Genauso wichtig ist zu definieren, welches Modul lizenziert werden muss. Ein Beispiel dafür ist das Modul Controlling & BI für BI Auswertungen.

Beispiel:

Systemeinstellungen ändern & erstellen

Änderungen bei bestehenden Systemeinstellungen werden auch im Config Set Builder im Feld Elemente eingetragen. Neue Systemeinstellungen müssen direkt in der XML-Datei nach dem ersten Export ergänzt werden (siehe Hinweis zur XML-Datei). Bei den bestehenden und neuen Systemeinstellungen ist Folgendes zu beachten:

Bestehende Systemeinstellungen

Mit dem Unterelement system-settings, welches nach dem Hauptelement settings folgt, wird der PropertyName unter name eingetragen. Den PropertyName finden Sie in den jeweiligen Sektionen der Systemeinstellungen. Mit dieser Systemeinstellung wird die Checkbox Rechtschreibprüfung verwenden implementiert:

<system-setting name="EnableSpellchecking">True</system-setting>

Neue Systemeinstellungen

Neue Systemeinstellungen müssen direkt in der XML-Struktur ergänzt werden, nachdem Sie das Config Set vollständig zusammengestellt und dieses einmal exportiert haben. Systemeinstellungen werden nicht über die Eintrag ID identifiziert, sondern über ihren Namen (PropertyName), und sie werden direkt als Objekte eingefügt. Es gibt verschiedene Property-Typen, die auch unterschiedliche Members enthalten.

Nachfolgend ist ein Beispielcode aufgeführt für den Typ AuswahlProperty, also eine Systemeinstellung mit einer Combobox.

Beispielcode für eine AuswahlProperty:

<object class="SelectionProperty" alias="SelectionProperty_0">
<member name="propertyGroup">2</member>
<member name="selectionType">None</member>
<member name="scope">Global</member>
<member name="propertyName">myPropertyElement</member>
<member name="propertyCaption">My property caption</member>
<member name="selectionList">"", "Element 1", "Element 2", "Element 3"</member>
</object>

Nach der Ergänzung importieren Sie die XML-Datei und exportieren diese wieder, dann bleibt die Systemeinstellung in der XML-Datei bestehen. Dieser Schritt muss einmal durchgeführt werden.

Config Set Dialog

Im Menü Einstellungen > Config Sets…> öffnet sich der Config Set Dialog. Ein wichtiger Hinweis ist hier der Umgang mit den Funktionen Entfernen und Löschen:

  • Entfernen: Der Entfernen-Button bewirkt, dass das Config Set gelöscht wird, aber die mit dem Config Set importieren Objekte bleiben im System erhalten. Dies kann z.B eintreten, wenn ein aktualisiertes Config Set neu importiert wird und die Daten nicht gelöscht werden sollen. Die Funktion ist im Dialog selbst oder per Rechtsklick auf das Config Set ausführbar.
  • Löschen: Der Löschen-Button bewirkt, dass das Config Set zusammen mit allen angelegten Objekten aus dem System vollständig gelöscht werden. Die Funktion ist nur per Rechtsklick auf das Config Set ausführbar.

Config Set Builder

Über den Neu Button gelangen Sie zum Config Set Builder, wo neue Config Sets erstellt werden. Folgende Felder sind enthalten:

  • Name: Hier wird ein eindeutiger Name eingegeben.
  • Autor: Hier wird der Autor des Config Sets eingegeben.
  • Kommentar: Hier kann ein freier Kommentartext für eine genauere Beschreibung eingegeben werden. Wir empfehlen, das Datum und evtl. eine Versionsnummer zu erfassen.
  • Element: Hier werden relevante Elemente wie requirements oder settings manuell eingegeben, wie im Abschnitt zuvor beschrieben.
  • Ausgewählte Objekte: Hier werden die benötigten Objekte hinzugefügt oder entfernt. Dabei können Sie entweder die + und Button verwenden oder auch durch Drag and Drop mehrere Ordner hinzufügen. Bei hierarchischen Ordnerstrukturen werden die Unterordner automatisch miteingefügt – umgekehrt funktioniert dies jedoch nicht. Am besten übertragen Sie die wichtigsten Stammordner, die im Quell- und Zielsystem dieselbe Eintrag ID haben muss.

Bei den ausgewählten Objekten gilt zusätzlich Folgendes:

Listeneinstellung

Falls hingegen lediglich die Listeneinstellung eines Objekts benötigt wird, dann wählen Sie per Rechtsklick auf den Ordner die Funktion Listeneinstellungen anstelle von Ordner verwenden aus.

Berechtigungen

Auch Berechtigungen müssen über die übergeordnete Benutzergruppe hinzugefügt werden. Es können nämlich keine einzelne Berechtigungen importiert werden, weil dies zu einer Fehlermeldung führt.

Zusatzfelder

Werden Objekte mit Zusatzfeldern hinzugefügt, werden auch die Zusatzfelder mitexportiert. Da eine Abhängigkeit von der Zusatzklasse besteht, werden die Zusatzfeld-Definitionen nur dann mitexportiert, wenn die entsprechende Zusatzklasse auch im Zielsystem existiert und für das Zusatzfeld eine Eintrag ID vergeben wurde.

Werte in Feldern
Wenn die Werte in Feldern oder gar das ganze Member in der XML-Struktur gelöscht wird, dann wird der Wert immer noch angezeigt, wenn das Config Set importiert wird. Es ist also nicht möglich beim Erstellen von Config Sets, neue Felder anzulegen oder bestehende zu verändern.
Referenzen
Ein häufiger Importfehler sind fehlende Referenzen. Die hinzugefügten Objekte im Config Set werden exportiert und dann entstehen oft Referenzen auf andere Objekte, da Vertec Objekte miteinander verlinkt sind. Beispiel: Wenn eine Leistung hinzugefügt wird und der Bearbeiter nicht, und das Config Set exportiert wird, dann sind in der XML-Struktur Referenzen zum Bearbeiter enthalten. Wenn nun das Config Set im Zielsystem importiert wird und derselbe Bearbeiter nicht vorhanden ist (dieselbe Eintrag ID), dann wird ein Fehler ausgegeben. Deswegen ist es ratsam, die erstellten Referenzen in der XML-Struktur zu überprüfen und sicherzustellen, dass alle referenzierten Objekte im Zielsystem vorhanden sind.
Bearbeiter
Das Hinzufügen von Bearbeitern sollte ebenso umsichtig erfolgen. Denn auch hier werden Referenzen zu allen Änderungen der Objekte, die der Bearbeiter vorgenommen hat, mitexportiert. Diese haben dann eigentlich nichts mit dem erstellten Config Set zu tun.
Customizing von Seiten
Pro Klasse können mehrere Klasseneinstellungen existieren. Auch dafür sollte eine Eintrag ID vergeben werden, dann werden die Seiten entsprechend ergänzt.
Eventscripts
Angelegte Eventscripts laufen wie gewohnt ab nach dem Import des Config Sets, was natürlich vorteilhaft ist. Dennoch sollte man einen guten Überblick haben, welche Eventscripts im Zielsystem laufen, um eine mögliche Überbelastung zu vermeiden.

Wenn das Config Set vollständig zusammengestellt wurde, dann kann die XML-Datei erstellt werden, indem Sie den Button Export im Config Set Dialog anklicken.

 

Netherlands

United Kingdom