Beschreibung der INI-Files

NDSB.INI (NDS_BR.INI)

Diese INI-Datei gliedert sich grundsätzlich in zwei Bereiche. Der erste Teil umfaßt die Standardwerte für die Objektklassen, der zweite Teil definiert die vorhandenen Container mit denen in ihnen enthaltenen Subcontainern. Mit Hilfe dieser Daten werden die einzelnen Abfragen und Programmaufrufe zusammengestellt. Zunächst wird versucht, innerhalb dieser Datei den Eintrag für die aktuelle object class zu finden. Ist object class ein Blattobjekt, also ein user-, profile- oder group-Objekt, wird mit dem nächsten Aufruf der NDS-Reader angestoßen, um die Attributwerte dieses Objekts auszulesen.

[USER]
<img src ="/bilder/user.gif">
<A HREF=/cgi-shl/ndsr.exe?oc=USER+bn=%bn%%>.%ln%%</a>
(%given name%% %surname%%)
<br>

Wird als object class jedoch organizational unit festgestellt, dann kann man sich mittels des Browsers in der NDS-Hierarchie weiter nach unten bewegen.

[ORGANIZATIONAL UNIT]
<img src ="/bilder/orgunt.gif">
<A HREF=/cgi-shl/ndsb.exe?oc=USER+po=ba+bn=%bn%%>%bn%%</A> (%description%%)
<br>

Durch diese Einträge werden die Daten für das WWW-Formular, die entweder einen Link auf einen Programmaufruf plus einen Verweis auf einen weiteren Container oder einen Link auf ein Blattobjekt enthalten, zusammengesetzt. Diese Metaanweisungen bestehen aus %Attribut%Steueranweisung%. Als Attribute sind alle NDS-Attribute erlaubt ebenso wie folgende zusätzliche Attribute:

BN Name des gefundenen Objekts
SN Short-Name
LN Login-Name
OC Login-Name
CR Zeilenvorschub ausgeben
PC Ein % ausgeben

Als Steueranweisungen sind erlaubt:

ID Index bei Multi-Value-Attributen
SS Start-String (wird nur bei existierenden Attributinhalt ausgegeben)
ES Ende-String (wird nur bei existierenden Attributinhalt ausgegeben)
SY Syntax ID (überschreibt die normale Syntax ID) (Siehe hier)

Der zweite Teil dieser INI-Datei enthält die NDS-Container mit deren Subcontainer.

[C=DE]
<LI>
<A HREF=/cgi-shl/ndsb.exe?oc=ORGANIZATION+po=ba+bn=%bn%%>%bn%%</A>
</LI>

[O=UNI-REGENSBURG.C=DE]
<LI>
<A HREF=/cgishl/ndsb.exe?oc=ORGANIZATIONAL~UNIT+po=ba+bn=%bn%%>%bn%%
</A>
</LI>

[OU=BIOLOGIE.O=UNI-REGENSBURG.C=DE]
<IMG SRC="/bilder/orgunt.gif">
<A HREF=/cgi-shl/ndsb.exe?oc=ORGANIZATIONAL~UNIT+po=ba+bn=%bn%%>%bn%%
</A>(%description%%)<BR>

[OU=CHEMIE.O=UNI-REGENSBURG.C=DE]
<IMG SRC="/bilder/orgunt.gif">
<A HREF=/cgi-shl/ndsb.exe?oc=ORGANIZATIONAL~UNIT+po=ba+bn=%bn%%>%bn%%
</A>
(%description%%)<br>
  
[end]

In diesem Abschnitt wird die hierarchische NDS-Struktur der Universität Regensburg nachgebildet, der mit einer Endemarke [end] abgeschlossen werden muß.

NDSR.INI (NDS_RE.INI)

Mit Hilfe dieser Datei erfolgt die Formatierung der Daten, die durch den Reader aus der NDS gelesen werden. Die verwendete Syntax setzt sich dabei aus verschiedenen Token und Trennsymbolen zusammen. Es werden Ausgabestrings für Objektklassen festgelegt. Dabei wird zunächst nach einer Sektion [Objektklasse.HTML] für die HTML-Ausgabe oder nach [Objektklasse] gesucht. Existiert zusätzlich eine Sektion[Objektklasse.HEAD] so werden die folgenden Zeilen in den HTML-Header ausgegeben (max 10 Zeilen). Abgeschlossen wird diese Sektion mit "/HEAD" oder einen leeren Zeile. Sollte die Ausgabe im Textformat erfolgen, wird eine Folge von Attribut=Ausgabetext Zeilen erwartet. Eine Leerzeile beendet diese Sektion. Die Ausgabe erfolgt dann in der Form:

Ausgabetext=Attributwert(e)

Bei der HTML-Ausgabe wird das Ende einer Sektion nur durch die Zeile /HTML gekennzeichnet. Alles andere wird mit ausgegeben. Metaanweisungen bestehen aus %Attribut%Steueranweisung%, soll nur der Common Name ausgegeben werden, so ist dies %Common Name%%.Als Attribute sind alle NDS-Attribute erlaubt ebenso wie folgende zusätzliche Attribute:

BN OSI Name des gelesenen Objekts
LN Login-Name in RFC-Syntax
OC Objektklasse des Objekts
CR Zeilenvorschub ausgeben
PC ein % ausgeben
RF Referal Document
PA My Document Page
TI aktuelle Uhrzeit in Sekunden seit 1970 ausgeben

Bei Referal Document und My Document Page haben SS und ES eine andere Bedeutung, hier wird - falls SS und ES angegeben sind - nach dem Wert von SS gesucht und der gefundene Wert mit dem Wert von ES ersetzt.

Als Steueranweisungen sind erlaubt:

SS Start-String (wird vor dem Attributwert ausgegeben, falls dieser Wert existiert. Bei Multi-Value-Attributen wird dieser Wert mehrfach ausgegeben)
ES Ende-String (wird nach dem Attributwert ausgegeben, falls dieser Wert existiert. Bei Multi-Value-Attributen wird dieser Wert mehrfach ausgegeben)
ID Index bei Multi-Value-Attributen
OF Offset (wird zur Syntax-ID addiert)
EN ON | OFF (aktiviert oder deaktiviert iso-encode)
LN setzt die Maximallänge eines Ausgabestrings fest
SY Syntax ID (überschreibt die normale Syntax ID) (Siehe hier)

Die Reihenfolge für die Ausgabe ist:

Beispiel 1:

%Full Name%SS=, weitere Namen: <b>&ES=</b>&%<br>%CR%% 

Dabei handelt es sich um das Attribut Full Name. Zum Startstring zählt auch die HTML-Anweisung <B>, was von einem WWW-Browser als Formatanweisung interpretiert wird. Sollte ein Objekt, das zwischen zwei % angegeben ist, kein Attribut besitzen, wird es nicht ausgegeben. Generell besteht jede Anweisung aus drei %. Um verschiedene Attribute zusammen mit deren Werte ausgeben zu können, werden sie mit einem & verknüpft.

Beispiel 2:

Mailbox: %EMail Address%ID=1&%%EMail Address%ID=2&%<br>%CR%%

Im obigen Beispiel eines Multi-Value-Attributs wird die Beschreibung des Attributnamen Mailbox vor dem dazugehörigen Wert ausgegeben. Der Wert ist die e-mailadresse, die aus zwei Werten besteht, nämlich der eigentlichen physikalischen Mailbox (Index 1 - ID=1) und des dazugehörigen Servers (Index 2 - ID=2). Die gesamte Ausgabe wird mit einer HTML-Formatanweisung - <br> - und einem CR - %CR%% - abgeschlossen. Auch hier werden die einzelnen Anweisungsteile mit einem '&' verbunden.

Die Ini-Dateien des Writers

Zum Write-NLM nds_wr.nlm gehören vier Ini-Dateien, die im folgenden Abschnitt genauer beschrieben werden.

NDSW.INI (NDS_WR.INI)

Diese Datei enthält alle Attribute, die von sämtlichen Benutzern verändert werden dürfen. Diese sind:

postal address
description
l
ou
facsimile telephone number
telephone number
s
physical delivery office name
postal code
postal office box
full name
sa
;email address

NDSW.SEC (NDS_WR.SEC)

Diese Datei enthält die Angaben des Vertreters, der im jeweiligen NDS-Baum sämtliche Änderungen stellvertretend für den jeweiligen Benutzer durchführen darf. Eine Beispieldatei hierfür ist:

132.199;uni-regensburg.de;fh-regensburg.de
.CN=laf17302.OU=rz.O=uni-regensburg.C=de
Passwort

In der ersten Zeile dieser Datei stehen die erlaubten Domains, aus der der jeweilige Benutzer Änderungen durchführen darf. Dabei macht es keinen Unterschied, ob die Domain als IP-Adresse oder mit ihrem Domain-Namen angegeben wird. Die zweite Zeile beinhaltet das Objekt, das die Änderungen stellvertretend ausführt. In der dritten Zeile steht das dazugehörige Paßwort.

NDSW.IN3 (NDS_WR.IN3)

NDSW.IN3 enthält Attribut(e), das/die zusätzlich nur von Administratoren im gesamten Baum verändert werden kann/können (Siehe NDSW.SE3).

email address

NDSW.SE3 (NDS_WR.SE3)

Diese INI-Datei enthält die Login-Namen der Administratoren.

.CN=amh09530.OU=rz.O=uni-regensburg.C=de
.CN=kaf09503.OU=rz.O=uni-regensburg.C=de
.CN=wee09508.OU=rz.O=uni-regensburg.C=de
.CN=weu09519.OU=rz.O=uni-regensburg.C=de
.CN=wuk09528.OU=rz.O=uni-regensburg.C=de
.CN=Mof05071.OU=dick.OU=chemie.O=uni-regensburg.C=DE
.CN=wuf04055.OU=allgemein.OU=physik.O=uni-regensburg.C=DE
.CN=how01319.OU=niemeyer.OU=wiwi.O=uni-regensburg.C=DE
[end]

Diese Datei muß mit einer Endemarke [end] abgeschlossen werden.

Anhang

Zusätzliche definierte Syntax IDs