|
/
/
|
Beschreibung des Formats für Datenlieferungen von Einrichtungen
Version 1.0, 19.4.2005
Wenn Einrichtungen viele Strukturdatenänderungen liefern bzw.
auch Personendaten ändern oder löschen wollen können sie dies mithilfe
einer Erweiterung des international standardisierten LDIF-Formats tun.
Die Spezifikation des Standards heißt
RFC 2849.
Diese Seite hier beschreibt das Eingabeformat für Datenlieferungen, insbesondere auch die erweiterten Möglichkeiten, die wir zusätzlich zu dem Standard-LDIF definiert haben.
Bitte beachten Sie, dass wir uns auf LDIF-Records mit "changetypes"
beschränken, die für den laufenden Betrieb eines Verzeichnisdienstes
am besten geeignet sind.
- Header:
Am Anfang der Datei muss ein Header stehen, der nicht zum LDIF-Standard
gehört, mit den Daten des in der Einrichtung zuständigen Administratoren. Diese Daten, insbesondere das Passwort, werden vor der ersten Datenlieferung einer Einrichtung per Telefon abgeklärt:
EINRICHTUNG: Universitaet Tuebingen
AUTOR: x500-manager@uni-tuebingen.de
PASSWORT: x500passwort
KODIERUNG: [ISO8859-1 | UTF8]
DATEN:
Kommentar: Bitte die deutsche Schreibweise der
Parameter beachten.
Wenn keine Angaben zur KODIERUNG gemacht werden,
wird eine UTF-8-Kodierung angenommen. In jedem Fall sollten Umlaute nicht
als ae, ue, etc. kodiert sein.
Weiterhin ist die Leerzeile zwischen HEADER und DATEN, sowie zwischen
DATEN und dem Rest der Datei zu beachten.
Dieser Header ist nicht Teil des LDIF-Standards, und wird nur von der
eva|wiss-Software interpretiert.
- Daten:
Hier wird unterschieden zwischen verschiedenen Möglichkeiten der Datenänderung. Zuerst die im LDIF-Standard vorgesehenen 4 Änderungstypen (changetypes):
- Neueintrag: changetype: add
Beispiel:
dn: cn=Erika Mustermann, ou=Fakultät für Medizin, o=Universität Tübingen, c=de
changetype: add
objectClass: person
cn: Erika Mustermann
sn: Mustermann
mail: e.mustermann@gmy.de
Kommentar: Alle hier nicht spezifizierten, aber vom eva|wiss-Datenschema benötigten Objektklassen (wie z.B. top oder inetOrgPerson)
werden automatisch von unserem Konvertierungsprogramm eingefüt.
- Löschung: changetype: delete
Beispiel:
dn: cn=Erika Mustermann, ou=Fakultät für Medizin, o=Universität Tübingen, c=de
changetype: delete
Kommentar: Da der gesamte Eintrag gelöscht wird,
reicht die Angabe des dn und der Löschanweisung.
- Änderung: changetype: modify
Beispiel:
dn: cn=Erika Mustermann, ou=Fakultät für Medizin, o=Universität Tübingen, c=de
changetype: modify
add: mail
mail: erika.musterm@gmy.de
-
add: telephoneNumber
telephoneNumber: +49 7071 123456
-
replace: facsimileTelephoneNumber
facsimileTelephoneNumber: +49 7071 654321
-
delete: personalTitle
-
delete: businessCategory
businessCategory: Pathologie
Kommentar: Für die Änderungen stehen add,
replace und delete zur Verfügung. Im obigen Beispiel wurde eine
zusätzliche Mail-Adresse eingefügt, eine Telefonnummer
hinzugefügt,
eine Faxnummer verändert, der akadem. Titel gelöscht und ein Teil
der Arbeitsgebiet-Beschreibung gelöscht. Zur Trennung der einzelnen
Operationen sind Bindestriche ("-") notwendig.
- Änderung des dn: changetype: moddn
Beispiel:
dn: cn=Erika Mustermann, ou=Fakultät für Medizin, o=Universität Tübingen, c=de
changetype: moddn
newrdn: cn=Erich Mustermann
Kommentar: Im obigen Beispiel wird der dn von Erika
Mustermann auf Erich Mustermann verändert.
Beispiel:
dn: cn=Erika Mustermann, ou=Fakultät für Medizin, o=Universität Tübingen, c=de
changetype: moddn
newsuperior: dn: ou=Fakultät für Mathematik, o=Universität Tübingen, c=de
Kommentar: Hier wird der Eintrag von Erika Mustermann von der Fakultät für Medizin zur Fakultät für Mathematik verschoben.
Die folgenden zwei Änderungstypen sind proprietäre
Erweiterungen des LDIF-Standards, die nur von der evawiss-Software
verstanden werden:
- Löschung eines Teilbaumes: changetype: subtreedelete
Das LDIF-Format sieht standardmäßiges Löschen ganzer Teilbäume nicht vor. Um Ihnen die Arbeit zu erleichtern, haben wir deshalb eine entsprechende Funktion geschaffen.
Beispiel:
dn: ou=Fakultät für Medizin, o=Universität Tübingen, c=de
changetype: subtreedelete
Kommentar: Hier wird der gesamte Teilbaum ou=Fakultät für Medizin gelöscht.
- Hinzufügen eines Teilbaumes: changetype: subtreejoin
Weil es bei den größeren Einrichtungen immer wieder vorkommt,
dass Abteilungen zusammengelegt werden, haben wir auch hier eine Funktion
geschaffen, die es erlaubt, Einträge mit zugehöriger Struktur
einer anderen schon existierenden Abteilung zuzuordnen. Im Gegensatz zu
einer Umbenennung, welche mit moddn ausgeführt werden kann, werden
hier also einer Abteilung weitere Einträge hinzugefügt.
Beispiel:
dn: ou=Institut für Tiermedizin, ou=Fakultät für Medizin, o=Universität Tübingen, c=de
changetype: subtreejoin
newsuperior: ou=Fakultät für Landwirtschaft, o=Universität Tübingen, c=de
Kommentar: Das Institut für Tiermedizin samt aller darunterliegenden Einträge wird verschoben und ou=Fakultät für Landwirtschaft hinzugefügt, wobei die bereits vorhandenen Einträge unterhalb von ou=Fakultät für Landwirtschaft weiterbestehen.
- Verwendete Attribute:
Folgende Attributnamen dürfen in den Datenlieferungen vorkommen:
| dn |
Eindeutiger Name des Eintrags, der den
Platz in der Hierarchie bestimmt |
| dfnDistribution |
Sichtbarkeit des Eintrags; 1=nur innerhalb der Organisation sichtbar - in Planung, noch nicht implementiert, 2=deutschlandweit sichtbar, 3=in EU-Staaten mit adäquatem Datenschutz sichtbar, 4=weltweit sichtbar |
| cn |
Vor- und Nachname einer Person |
| sn |
Nachname einer Person |
| mail |
E-Mail-Adresse |
| personalTitle |
akademischer Titel |
| o |
Name einer Einrichtung |
| ou | Name einer Unterabteilung einer Einrichtung (Fakultät, Lehrstuhl, Seminar, Abteilung, etc.) |
| labeledURI |
Adresse einer Internetseite (http://www...): Nur für Organisationsstrukturdaten |
| businessCategory |
Organisationsart, wie Universität, Fachhochschule, Berufsakademie, etc.: Nur für Einrichtungseinträge |
- Verwendete Objektklassen:
Achtung: Bitte beachten Sie die amerikanische Schreibweise der Objektklassen.
1.) Die in Datenlieferung erforderlichen Objektklassen:
| person |
Personeneintrag |
| organization |
Einrichtungseintrag |
| organizationalUnit |
Unterabteilungseinträge, z.B. Fakultät, etc. |
2.) Die vom Konvertierungsprogramm ergänzte Objektklassen, die auch
in der Datenlieferung vorkommen dürfen:
| top |
Wurzel der Objektklassenvererbungshierarchie |
| organizationalPerson |
siehe RFC 2256 |
| inetOrgPerson |
siehe RFC 2798 |
|