2.6. Formatierungsschema#
Es kann wünschenswert, oder wie im Fall von Benutzername und E-Mailadresse notwendig, sein, Attribute aus den Werten anderer Attribute zu erzeugen. Zum Beispiel speichern und exportieren Schulverwaltungssoftwares häufig keine Benutzernamen und E-Mailadressen, die zur eingesetzten Infrastruktur passen.
Aus diesem Grund unterstützt die Importsoftware die Erzeugung von Attributen mit
Hilfe von konfigurierbaren Schemata. Das Format ist das gleiche wie das bei den
Benutzervorlagen in Univention Corporate Server - Handbuch für Benutzer und Administratoren [1] eingesetzte. Es existieren
dedizierte Konfigurationsschlüssel für die Attribute email
, record_uid
und username
. Darüber hinaus können Schemata für beliebige Univention Directory Manager
Attribute (mit dem Namen des Attributs als Schlüssel) hinterlegt werden.
Im folgenden Beispiel werden die E-Mail-Adresse aus Vor- und Nachname berechnet
und die email
wird als record_uid
gesetzt:
{
"scheme": {
"email": "<firstname>[0].<lastname>@<maildomain>",
"record_uid": "<email>"
}
}
Die Verwendung von selbst referenzierenden Attributen, z.B. zur Voranstellung von Ländervorwahlen ist nicht möglich. Um dies zu erreichen, sowie wenn Attribute in modifizierter Form für die Erzeugung weiterer Attribute verwendet werden sollen (z.B. nur der erste Teil eines Doppelnamens für eine E-Mailadresse), können Format-Hooks geschrieben werden. Ihre Erstellung und Verwendung wird in Format-Hooks beschrieben.
Warnung
Benutzernamen sollten keine von Windows reservierten Namen enthalten. Siehe dazu die Microsoft Dokumentation für weitere Informationen. Benutzernamen, die diesen Regeln nicht entsprechen, werden von UCS@school standardmäßig abgelehnt, da sie zu Folgefehlern, vor allem bei der Anmeldung an und Nutzung an Microsoft Windows Clients, führen können.
Reservierte Namen sind zum Beispiel CON, PRN, AUX oder NUL. Sie finden eine vollständige Liste in der Microsoft Dokumentation.
Neben den reservierten Namen selbst, sind auch Benutzernamen nicht erlaubt, die mit einem reserviertem Namen beginnen und denen ein Punkt folgt.
Schemata, die zu diesen Benutzernamen (z.B. con.mustermann
) führen können, sind daher zu vermeiden.
Zur Illustration wird gezeigt, wie aus den oben angeführten Schemata für
email
und record_uid
der entsprechende Wert berechnet wird, wenn
folgende Beispiel CSV-Datei als Eingabe verwendet wird:
"Schulen","Vorname","Nachname","Klassen","Telefonnumer"
"schule1","Bea","Schmidt","schule1-1A","0421-1234567890"
2020-07-09 15:28:34 INFO user_import.create_and_modify_users:141 ------ Creating / modifying users... ------
[..]
2020-07-09 15:28:34 INFO user_import.create_and_modify_users:186 Adding ImportStudent(name='B.Schmidt',
school='schule1', dn='uid=B.Schmidt,cn=schueler,cn=users,ou=schule1,dc=uni,dc=dtr', old_dn=None) (source_uid:NewDB
record_uid:b.schmidt@schule.local) attributes={'$dn$': 'uid=B.Schmidt,cn=schueler,cn=users,ou=schule1,dc=uni,dc=dtr',
'display_name': 'Bea Schmidt', ``'record_uid'``: u'b.schmidt@schule.local', 'firstname': 'Bea',
'lastname': 'Schmidt', 'type_name': 'Student', 'school': 'schule1', ``'name'``: 'B.Schmidt',
'disabled': '0', 'email': u'b.schmidt@schule.local', 'birthday': None, 'type': 'importStudent', 'schools': ['schule1'],
'password': 'xxxxxxxxxx', 'source_uid': u'NewDB', ``'school_classes'``: {'schule1': ['schule1-2B']},
'objectType': 'users/user'} ``udm_properties</property>={u@@property@@>'phone'``: [u'0421-1234567890'],
'overridePWHistory': '1', 'overridePWLength': '1'}...