Scriptor: Konfigurationen

Einführung:

Durch Konfigurationen kann der Anwender auf einfache Weise zwischen verschiedenen, zusammenhängenden Sätzen von Parameterwerten wechseln.
Jede Konfiguration muß für allen definierten Parameter Werte zuweisen. Damit man nun nicht pro neuer Konfiguration allen Parametern neue Werte zuweisen muß, kann eine Konfiguration auch die Parameterwerte mehrere anderer Konfigurationen “erben”. Im technischen Sinne findet also eine Mehrfachvererbung (multi inheritance) statt.
Da die verschiedenen Parameter meist sowieso zu verschiedenen Funktionsbereichen gehören (etwa Eigenschaften eines Computers, Eigenschaften einer Softwareinstallation, Eigenschaften einer Softwareversion, Eigenschaften einer Kundeninstallation), bietet es sich an, für jeden Funktionsbereich eine oder mehrere Basis-Konfigurationen (“Parent-Configurations”) zu erstellen. Die vom User benutzten Konfigurationen können sich dann weitgehend auf diese abstützen.
Konfigurationen, deren Name mit einem “_” beginnt, sind können für Scriptläufe nicht ausgewählt werden, sie sind unvollständige Basis-Konfigurationen.

Eine gut entworfene Konfigurations-Hierarchie vereinfacht die Pflege der Parameterwerte enorm!

Eingabe:

Die Eingabe findet in der Seite “Edit Configurations” statt.
In der oberen linken Tabelle “Configs” werden Konfigurationen definiert:

Feld

Bedeutung

CONFIG

Eine Konfiguration wird durch Angabe ihres Namens definiert. Beginnt der Name mit einem “_”, ist die Konfiguration “unsichtbar”.

INFO

Wird bei der Konfigurations-Auswahl und in den Logdateien angezeigt.

In der Tabelle rechts daneben sind die “Basis-Konfigurationen” für die aktuellen Konfiguration in “Configs” aufgelistet. Die aktuelle Konfiguration übernimmt die Parameterwerte der angegebenen Basis-Konfigurationen in der Reihenfolge, wie sie aufgelistet sind. Jede Basis-Konfiguration kann wiederum Werte aus anderen Basis-Konfigurationen erben. Hierarchie-Schleifen (Konfiguration A benutzt Konfiguration B, und B benutzt wieder A) werden möglicherweise nicht zuverlässig erkannt und führen zur Katastrophe.

Feld

Bedeutung

PlatzNr

Platz der Basiskonfiguration in der Liste.

PARENT_CONFIG

Name der Basiskonfiguration. Er kann aus der Liste aller definierten Konfigurationen ausgewählt werden.

 

In der unteren Tabelle “ParmVals” werden für jede Konfiguration Parameterwerte definiert. Geerbte Werte können hier überschrieben werden.

Feld

Bedeutung

PARAMETER

Name des Parameters, dessen Wert hier gesetzt wird

CONFIG

Name der Konfiguration, für die hier der Wert gesetzt wird.

Wert

Der Wert als Textstring. <%=..%>-Ausdrücke sind erlaubt.

Info

Erläuterungen

Im screen-shot sind die Konfigurationen der verschiedenen Datenbankinstanzen von GID -POLARIS zu sehen. Es ist erkennbar, daß die Konfiguration für die Datenbank “GID_EXP4” aus den Basiskonfigurationen “_BASE-ORA92” (für eine Oracle 9.2 Software-Installation), “_SRV_DBSERVER” (für einen bestimmten Datenbank-Server) und “_MD_ALL” (für eine bestimmte Verteilung von Tabellengrößen) besteht. Nur die vier Parameter “DB_VERSION”, “ORACLE_SID”, “SCALE_MEM” und “SERVICE” werden zusätzlich angegeben.

Parametrisierte Konfigurationsnamen

Die Namen von Basiskonfigurationen können <%=..%>-Ausdrücke enthalten (parametrisierter Konfigurationsname). Erst nach dem Auswerten dieses Ausdrucks entsteht der endgültige Konfigurationsname. Der <%=...%>-Ausdruck darf natürlich nur interne Parameter enthalten, da normale Parameter erst nach dem Laden der Konfigurationshierarchie bekannt sind.
 

In die Liste der Konfigurationen muss der parametrisierte und alle endgültigen Konfigurationsnamen,  eingetragen werden. Der parametrisierte Konfigurationsname liefert normalerweise keine Parameterwerte, er muss aber aus zwei Gründen einen Eintrag in der Konfigurationsliste haben:

  • Er liefert Defaultparameter, wenn kein Eintrag für den endgültigen Konfigurationsnamen existiert.
  • Er muss eingetragen sein, damit man ihn als Basiskonfigurationen auswählen und anderen Konfigurationen zuordnen kann.

Ein Beispiel für die Anwendung: Es werden Basiskonfigurationen erstellt, die abhängig vom PC sind, auf dem Scriptor gerade läuft.
Eine Konfiguration MYCONFIG hat als Basiskonfiguration die parametrisierte Konfiguration
"_HOST_<%=CURRENT_COMPUTERNAME%>"
eingetragen. Läuft SCRIPTOR auf einem PC mit Namen "BIGFOOT", dann wird beim Laden von “MYCONFIG” die endgültige Konfiguration “_HOST_BIGFOOT" dazugeladen, Läuft SCRIPTOR auf dem PC “SMALLFOOT", dann wird "_HOST_SMALLFOOT" geladen.

Obwohl in einen Konfigurationsnamen beliebig viele, beliebig komplexe “<%=...%>”-Ausdrücke eingesetzt werden dürfen, sind wohl nur die Ausdrücke “<%=CURRENT_COMPUTERNAME%>” und “<%=CURRENT_USERNAME%>” sinnvoll.
 

[Scriptor] [Parameter] [Konfigurationen] [Jobs und Tasks] [Scripts] [JavaScript] [Command line] [Designing conf hierarchy]