Die Konfigurationsdatei liegt im Entwicklungsverzeichnis ./tools/g++vdmdbm in zweifacher Ausfertigung vor. Zum einen mit dem Standardnamen vdmd.conf, zum anderen als vdmd.instconf. Die erstere ist zur Entwicklung vorkonfiguriert, die letztere verwendet fast ausschließlich Standardoptionen, und wird bei der Installation mittels make INSTALL als auch make INSTFLAT in das Zielverzeichnis übertragen. Dabei wird die Option VdmRoot an das Zielverzeichnis der Installation angepaßt und der Dateiname auf den Standardnamen gesetzt.
Die Installationsoptionen sind zwar in der Konfigurationsdatei kurz erläutert, deren Hintergrund sowie wichtige Zusammenhänge sind aber insbesondere für die Weiterentwicklung wichtig, und daher Thema dieses Abschnitts, in dem Beispiele angegeben werden zu denen jeweils eine Tabelle die Erläuerungen vornimmt.
Die Option
Version 1.0
muß in jeder Konfigurationsdatei enthalten sein, und vorstehenden Wert beinhalten, der bei einer Fortschreibung mit Änderung des Sinngehaltes einer Optionen für eine eindeutige Indentifizierung sorgt.
Die Verzeichnisoptionen legen fest, an welcher Stelle im Verzeichnisbaum benötigte Dateien für den Server hinterlegt sind. Die Standardeinstellungen entsprechen der derzeit gültigen Verzeichnisstruktur. Tabelle [*] beschreibt alle Konfigurationsoptionen.
Option | Vorgabewert | Bedeutung |
VdmRoot | /usr/local | ![]() |
VdmLibrary | /usr/local/lib | ![]() |
ServerRoot | /usr/local/lib | ![]() |
ServerTCLDir | /usr/local/lib/vdm/server | ![]() |
MimeTCLDir | /usr/local/lib/vdm | ![]() |
DPTCLDir | /usr/local/lib/vdm | ![]() |
ConsoleLogRoot | /usr/local/log | ![]() |
ServerLogRoot | /usr/local/log | ![]() |
AgentLogRoot | /usr/local/log | ![]() |
ExamplesDir | /usr/local/Test | ![]() |
Beispiel:
VdmRoot $VDMROOT/ VdmLibrary ./lib ServerRoot /$VDMROOT/tools/g++vdmdbm ServerTCLDir ./server MimeTCLDir ./mime DPTCLDir ./dp ConsoleLogRoot ./tools/g++vdmdbm/log ServerLogRoot ./tools/g++vdmdbm/log/server AgentLogRoot ./tools/g++vdmdbm/log/agents ExamplesDir /$VDMROOT/Test
Die Logfunktionen sind ein wichtiger Bestandteil zur Nachverfolgung von Vorgängen. Ein Mitschreiben hilft, Fehler zu beseitigen, die den VDM Server jedoch keinesfalls terminieren. Die Logoptionen sind in Tabelle [*] aufgeführt.
Option | Vorgabewert | Bedeutung |
ConsoleLogStderr | disabled | ![]() |
ConsoleLogStdout | disabled | ![]() |
ServerLogDebug | disabled | ![]() |
ServerDebugDepth | 100 | ![]() |
ServerLogOSI5 | disabled | ![]() |
ServerLogRPC | disabled | ![]() |
Beispiel:
ConsoleLogStderr enabled ConsoleLogStdout enabled ServerLogDebug disabled ServerDebugDepth 100 ServerLogOSI5 enabled ServerLogRPC enabled
Die Agent-Logfunktionen beziehen sich sowohl auf die Benutzeragents als auch auf einen eventullen separaten Datenbankprozeß. Die Einstellungen sind zum großen Teil identisch mit den Logfunktionen des Servers. Sie sind in Tabelle [*] genau definiert.
Option | Vorgabewert | Bedeutung |
AgentLogSessions | disabled | ![]() |
AgentLogStderr | enabled | ![]() |
AgentLogStdout | enabled | ![]() |
AgentLogDebug | disabled | ![]() |
AgentDebugDepth | 100 | ![]() |
Beispiel:
AgentLogSessions enabled AgentLogStderr enabled AgentLogStdout enabled AgentLogDebug enabled AgentDebugDepth 100
Die Serveroptionen legen mit die wichtigsten Details zu der Kommunikation des VDM Servers fest. Zum einen werden die verfügbaren Serverfunktionen bestimmt, zum anderen der Port über welchen diese erreichbar sind. Die genaue Beschreibung findet sich in Tabelle [*].
Option | Vorgabewert | Bedeutung |
ServerRPC | enabled | ![]() |
ServerTELNET | enabled | ![]() |
PortRPC | Zwingend Angabe | ![]() |
PortTELNET | Zwingende Angabe | ![]() |
ManagerPassword | vdm | ![]() |
ShowErrorDetails | disabled | ![]() |
AgentProcess | disabled | ![]() |
Beispiel:
ServerRPC enabled ServerTELNET enabled PortRPC 4711 PortTELNET 4712 ManagerPassword vdm ShowErrorDetails enabled AgentProcess disabled
Die VDM spezifischen Optionen betreffen die Datenbank, die vom Server zwingend verwendet wird, unabhängig von jeglichen anderweitigen Angaben von Klienten, als auch den VDM Preprozessor, der zur Aufbereitung der Dokumentation als externes Programm benötigt wird. Näheres ist in Tabelle [*] erläutert.
Option | Vorgabewert | Bedeutung |
VdmPreprocessor | /usr/local/lib/vdmpp | ![]() |
VdmDefaultDatabase | /usr/local/lib/vdmdb-c | ![]() |
Beispiel:
VdmPreprocessor ./vdmpp VdmDefaultDatabase ./vdmdb-c
Weitere Optionen, die keiner genauen Thematik zugeordnet werden, gibt Tabelle [*] wieder.
Option | Vorgabewert | Bedeutung |
ServerRCScript | ![]() | |
DaemonOperation | enabled | ![]() |
Prompt1 | ''vdmd > '' | ![]() |
Prompt2 | ''> '' | ![]() |
Beispiel:
ServerRCScript /u/vdm/work/g++vdmdbm/vdmdrc DaemonOperation disabled Prompt1 "vdmd > " Prompt2 "> "
Die HTML-Optionen betreffen im wesentlichen die Konfigurationen, die für die Produktion von HTML-Seiten für das Informations- und Hilfesystem von Bedeutung sind. Tabelle [*] gibt über die Optionen Auskunft.
Option | Vorgabewert | Bedeutung |
TableWidth | 4 | ![]() |
MimeEncoder | /usr/loca/lib/vdm/mmencode | ![]() |
MimeDecoder | /usr/local/lib/vdm/mmencode -u | ![]() |
KnownTags | ![]() | |
ExampleBrowser | /usr/local/lib/vdm/vdmtest | ![]() |
ExampleRoot | /usr/local | ![]() |
ExampleVDMBin | /usr/local/bin | ![]() |
Beispiel:
TableWidth 4 MimeEncoder /u/vdm/work/g++vdmdbm/external/mmencode MimeDecoder /u/vdm/work/g++vdmdbm/external/mmencode -u KnownTags "H1 H2 H3 H4 H5 H6 BR\ /H1 /H2 /H3 /H4 /H5 /H6" ExampleBrowser /$VDMROOT/tools/g++vdmdbm/vdmtest ExampleVdmRoot /$VDMROOT/ ExampleVdmBin /$VDMROOT/bin