Jedną z funkcji ogólnopolskiej akademickiej usługi LDAP ma być dostarczenie
użytkownikom sieci Internet swoistej książki adresowo-informacyjnej
(white pages), w której są gromadzone:
- dane dotyczące struktury organizacyjnej jednostek,
- dane dotyczące pracowników poszczególnych jednostek.
Usługa ta ma być kontynuacją akademickiego serwisu X.500,
koordynowanego w środowisku akademickim przez UMK od 1992 roku.
Protokół LDAP daje dużo większe możliwości
w zakresie dostosowania danych do potrzeb naszego rodzimego języka.
Jednoznaczne
nazwy wyróżnione obiektów
(distinguished names) w LDAP-ie mogą zawierać
znaki nie-ASCII, podczas gdy w X.500 konieczne było usuwanie znaków diakrytycznych w nazwach wyróżnionych.
Wszystkie znaki spoza tablicy ASCII są przechowywane w bazie danych LDAP w postaci UTF-8.
Interfejsy służące do wprowadzania i wyprowadzania
danych mogą stosować dowolny system kodowania danych wejściowych
i wyjściowych (przy założeniu, że sam interfejs jest w stanie zidentyfikować
przyjęte kodowanie i odpowiednio przekonwertować dane do lub z formatu UTF-8, patrz raport
Opracowanie prototypu narzędzi do obsługi polskich znaków diakrytycznych w zasobach LDAP).
W LDAP-ie, zgodnie z
RFC2596, Use of Language Codes in LDAP,
można stosować podtypy atrybutów do specyfikacji języka, w którym jest wyrażona
wartość atrybutu. Taka możliwość znacznie ułatwia przygotowywanie
wielojęzycznych interfejsów do bazy danych (w X.500 najczęściej
stosowało się wielowartościowe atrybuty w celu przypiania wartości w innym
języku, rozróżnienie roli poszczególnych wartości nie było więc możliwe,
dlatego dla potrzeb polskiego projektu X.500 został zdefiniowany
dodatkowy schemat pozwalający na przypisywanie poprawnych polskich nazw
poprzez specjalne "polskie" atrybuty).
Aby z podtypów lang atrybutu był pożytek należy jednoznacznie ustalić
reguły wprowadzania danach oraz priorytety przypisywane atrybutom i atrybutom z
podtypami językowymi.
Zakładamy, że podstawowym celem jest udostępnienie poprzez serwer LDAP
danych
polskiemu użytkownikowi, dlatego wszystkie główne atrybuty (tj.
atrybuty bez podtypów językowych)
otrzymują wartości odpowiadające napisom polskim.
Oznacza to, że atrybutom
o,
ou,
cn,
description,
personalTitle,
title,
plposition,
postalAddress itp. są przypisywane
prawidłowe polskie nazwy. Wszystkie te atrybuty są wielowartościowe,
dodatkowe wartości mogą zawierać nazwy zastępcze, inne tytuły
naukowe, funkcje itp., a także
odpowiedniki wartości w języku polskim "okrojone" z polskich akcentów.
Te ostatnie wartości atrybutów mogą być pożądane dla poprawy
efektywności wyszukiwania danych poprzez podanie poszukiwanego wzorca.
Dzięki istnieniu tych wartości użytkownik może podać uproszczoną postać
polskiej nazwy (gdy np. nie może wprowadzić z klawiatury znaków z
polskimi akcentami).
Wartościom atrybutów prezentowanym w języku angielskim
zawsze towarzyszy przyrostek
;lang-en po typie atrybutu.
Istotną rolę w schemacie danych LDAP dotyczącym gałęzi organizacyjnej
odgrywa atrybut
displayName.
Jest on atrybutem
nieobowiązkowym w klasie
pleduOrg.
Z założenia jest atrybutem jednowartościowym, służącym do przypisania
instytucji, jednostce, osobie jednoznacznej nazwy (atrybuty
o,
ou,
cn mogą być
wielowartościowe, co uniemożliwia automatyczne wybieranie pożądanej
wartości). Na ogół jego wartość odpowiada nazwie występującej w
pierwszym komponencie jednoznacznej wyróżnionej nazwy wpisu.
displayName może mieć również
zastosowanie, gdy wiadomo, że dana instytucja, jednostka, osoba
znana jest popularnie
pod inną nazwą niż ta, która może zostać pobrana z atrybutu
o,
ou lub
cn
i tę właśnie nazwę chcemy widzieć jako wyróżnioną (np. pogrubioną,
powiększoną) w interfejsie użytkownika.
Atrybut
displayName może mieć przypisany podtyp
lang-en - przenosi wówczas wartość w języku angielskim, zakłada
się, że taki atrybut jest również jednowartościowy.
W przypadku atrybutów wyróżnionych (tworzących jednoznaczną nazwę
wyróżnioną), które mogą mieć wiele wartości, a dodatkowo jest stosowany
atrybut
displayName należy ustalić procedurę
wyboru nazwy traktowanej jako nazwa główna.
Oto priorytety poszczególnych atybutów, przy poszukiwaniu
nazwy instytucji / jednostki organizacyjnej / osoby prezentowanej
jako nazwa główna.
Priorytety atrybutów (od najwyższego)
- w interfejsie polskim
-
wartość displayName
wartość o / ou / cn zgodna z wartością w
jednoznacznej nazwie wyróżnionej wpisu;
- w interfejsie angielskim
-
wartość displayName;lang-en
wartość o;lang-en / ou;lang-en / cn-lang-en (uwaga: o;lang-en może być atrybutem
wielowartościowym, wówczas nie jest możliwy wybór preferowanej wartości,
dlatego należy stosować displayName;lang-en)
Instytucja, np. "Uniwersytet Mikołaja Kopernika w Toruniu", powinna być
lokalizowana bezpośrednio pod wpisem dotyczącym kraju (
c=PL).
Jej podstawowa klasa obiektów to
organization. Klasami pomocniczymi
są
eduOrg i
pleduOrg.
Atrybut
o jest obowiązkowy - zawiera nazwę instytucji
występującą w jednoznacznej nazwie wyróżnionej wpisu (czyli pierwszy
człon tej nazwy, nazwa ta może zawierać polskie znaki).
Drugą wartością tego atrybutu jest
nazwa przetranslowana do postaci ASCII (obcięte znaki diakrytyczne)
- ta wartość jest używana do wyszukiwana danych w przypadku, gdy w polu
wyszukania użytkownik nie wpisze poprawnej polskiej nazwy.
Dla atrybutu
o nie powinny być stosowane podtypy
lang-pl. Atrybuty z podtypem
lang-en są przeznaczone
do przenoszenia nazwy angielskiej instytucji i popularnych angielskich
nazw zastępczych, czy angielskich skrótów nazw.
Zaleca się stosowanie atrybutu
displayName.
We wpisie dotyczącym instytucji można również zamieścić dodatkowe
atrybuty:
telephoneNumber | numer telefonu instytucji
|
facsimileTelephoneNumber | numer faksu instytucji
|
postalAddress | adres instytucji (ulica, kod pocztowy,
miasto)
|
postalCode | kod pocztowy miasta
|
l | lokalizacja: miasto / region
|
businessCategory | kategoria zawodowa
|
seeAlso | nazwa wyróżniona innego wpisu związanego z danym wpisem
|
description | opis dotyczący jednostki organizacyjnej
|
eduOrgHomePageURI | strona domowa jednostki
|
W odniesieniu do atrybutów
postalAddress,
businessCategory,
l,
description stosują się zasady opisane w
Założeniach, czyli nazwy angielskie są umieszczone w
atrybucie z podtypem
lang-en.
4. Opis jednostki organizacyjnej (klasa macierzysta organizationalUnit)
Jednostka organizacyjna, np. "Wydział Humanistyczny", powinna być
lokalizowana bezpośrednio pod wpisem dotyczącym instytucji lub pod wpisem
tej jednostki organizacyjnej, której podlega (nie ma ograniczenia
dotyczącego liczby jednostek organizacyjnych w gałęzi drzewa).
Podstawową klasą obiektów jednostki organizacyjnej jest
organizationalUnit. Klasami pomocniczymi
są
eduOrg i
pleduOrg.
Atrybut
ou jest obowiązkowy - zawiera nazwę jednostki
organizacyjnej
występującą w jednoznacznej nazwie wyróżnionej wpisu (czyli pierwszy
człon tej nazwy, nazwa ta może zawierać polskie znaki).
Drugą wartością tego atrybutu jest
nazwa przetranslowana do postaci ASCII (obcięte znaki diakrytyczne)
- ta wartość jest używana do wyszukiwana danych w przypadku, gdy w polu
wyszukania użytkownik nie wpisze poprawnej polskiej nazwy.
Dla atrybutu
ou nie powinny być stosowane podtypy
lang-pl. Atrybuty z podtypem
lang-en są przeznaczone
do przenoszenia nazwy angielskiej instytucji i popularnych angielskich
nazw zastępczych, czy angielskich skrótów nazw.
Zaleca się stosowanie atrybutu
displayName.
We wpisie dotyczącym instytucji można również zamieścić dodatkowe
atrybuty:
telephoneNumber | numer telefonu jednostki organizacyjnej
|
facsimileTelephoneNumber | numer faksu jednostki
organizacyjnej
|
postalAddress | adres jednostki organizacyjnej (ulica, kod pocztowy,
miasto)
|
postalCode | kod pocztowy miasta
|
l | lokalizacja: miasto / region
|
businessCategory | kategoria zawodowa
|
seeAlso | nazwa wyróżniona wpisu związanego z danym wpisem
|
description | opis dotyczący jednostki organizacyjnej
|
eduOrgHomePageURI | strona domowa jednostki
|
W odniesieniu do atrybutów
postalAddress,
businessCategory,
l,
description stosują się zasady opisane w
Założeniach, czyli nazwy angielskie są umieszczone w
atrybucie z podtypem
lang-en.
5. Opis funkcji w jednostce organizacyjnej (klasa macierzysta organizationalRole)
Wpis związany ze stanowiskiem funkcyjnym, czyli np. "Kierownik Instytutu", jest
lokalizowany bezpośrednio pod wpisem dotyczącym
jednostki organizacyjnej, w której jest pełniona dana funkcja.
Podstawową klasą obiektów osoby jest
organizationalRole. Klasą pomocniczą jest
pleduOrganizationalRole.
Atrybutem obowiązkowym jest
cn, zawierający nazwę funkcji.
Jedna z jego wartości jest przenoszona na postawie pierwszego członu
nazwy wyróżnionej wpisu. Inne wartości mogą zawierać nazwy dodatkowe w
języku polskim oraz nazwę przetranslowaną do postaci ASCII
(obcięte znaki diakrytyczne),
używaną do wyszukiwana danych w przypadku, gdy w polu
wyszukania użytkownik nie wpisze poprawnej polskiej nazwy.
Atrybut z podtypem
lang-en służy do przechowywania angielskiej
wersji nazwy funkcji.
Zaleca się stosowanie atrybutu
displayName do umieszczania
powszechnie stosowanej nazwy funkcji.
We wpisie dotyczącym osoby pełniącej funkcję można również zamieścić dodatkowe
atrybuty:
roleOccupant | nazwa wyróżniona osoby pełniącej daną
funkcję
|
telephoneNumber | numer telefonu jednostki organizacyjnej
|
facsimileTelephoneNumber | numer faksu jednostki
organizacyjnej
|
postalAddress | adres jednostki organizacyjnej (ulica, kod pocztowy,
miasto)
|
postalCode | kod pocztowy miasta
|
l | lokalizacja: miasto / region
|
description | opis dotyczący jednostki organizacyjnej
|
roomnumber | numer pokoju służbowego
|
mail | służbowy adres e-mail
|
W odniesieniu do atrybutów
postalAddress,
l,
description stosują się zasady opisane w
Założeniach, czyli nazwy angielskie są umieszczone w
atrybucie z podtypem
lang-en.
6. Opis osób (klasa macierzysta person)
Osoba, czyli pracownik instytucji, np. "Jan Kowalski", jest
lokalizowana bezpośrednio pod wpisem dotyczącym
jednostki organizacyjnej, której podlega.
Podstawową klasą obiektów osoby jest
person. Klasami dodatkowymi są
klasy strukturalne:
organizationalPerson (wywodząca się
z
person) oraz
inetorgperson (wywodząca się z
organizationalPerson), natomiast klasami pomocniczymi:
eduPerson i
pleduPerson.
Atrybuty
cn i
sn są obowiązkowe - zawierają
odpowiednio imię i nazwisko osoby oraz nazwisko.
Są to atrybuty wielowartościowe, przy czym jedna z wartości musi
pokrywać się z wartością w pierwszym członie jednoznacznej nazwy
wyróżnionej wpisu.
Dodatkowe wartości tych atrybutów to
nazwy przetranslowane do postaci ASCII (obcięte znaki diakrytyczne)
- te wartości są używane do wyszukiwana danych w przypadku, gdy w polu
wyszukania użytkownik nie wpisze poprawnej polskiej nazwy.
Dla atrybutów
cn,
sn nie powinny być stosowane podtypy
lang-pl i
lang-en.
Zaleca się stosowanie atrybutu
displayName do umieszczania
powszechnie stosowanej nazwy osoby (np. imię Jolanta, a nie oficjalne
Maria Jolanta).
We wpisie dotyczącym instytucji można również zamieścić dodatkowe
atrybuty:
uniident | numer identyfikacyjny pracownika
|
telephoneNumber | numer telefonu służbowego
|
facsimileTelephoneNumber | numer faksu
|
postalAddress | adres służbowy (ulica, kod pocztowy,
miasto)
|
postalCode | kod pocztowy miasta
|
l | lokalizacja: miasto / region
|
businessCategory | kategoria zawodowa
|
seeAlso | nazwa wyróżniona wpisu związanego z daną osobą
|
description | opis dotyczący osoby (zainteresowania
zawodowe, hobby)
|
mobile | numer telefonu komórkowego
|
roomNumber | numer pokoju służbowego
|
labeledURI | strona domowa
|
mail | adres e-mail
|
homePhone | telefon domowy
|
homePostalAddress | adres domowy
|
eduPersonAffiliation | klasyfikacja w grupie zawodowej (pracownik
administracji, kadra dydaktyczna, student)
itp.)
|
eduPersonOrgDN | nazwa wyróżniona instytucji, w której
jest zatrudniona osoba
|
eduPersonOrgUnitDN | nazwa wyróżniona jednostki
organizacyjnej instytucji, w której
jest zatrudniona osoba
|
eduPersonPrimaryOrgUnitDN | nazwa wyróżniona głównej
jednostki organizacyjnej, w której
jest zatrudniona osoba
|
eduPersonNickname | powszechnie używane imię osoby
|
eduPersonPrincipalName | identyfikator osoby w sieci
komputerowej (user@domain), nie zawsze pokrywa się z e-mailem
|
W odniesieniu do atrybutów
postalAddress,
businessCategory,
homePostalAddress,
description stosują się zasady opisane w
Założeniach, czyli nazwy angielskie są umieszczone w
atrybucie z podtypem
lang-en.