Při napojení Domino serveru prostřednictvím LDAP na portál (ať už plnohodnotný portál nebo nějaký klon – např. Quickr) je zajímavé využít People Finder portlet. Seznam polí, které má smysl aktualizovat je:

LDAP field Popis Příklad
Osobní data
cn Uživatelské jméno v Lotus Notes CN=Jan Novak/O=CubeTeam
givenName Křestní jméno Jan
initials Iniciály (nebo zkratka) JN
sn Příjmení Novák
ibm-personalTitle Tituly Ing.
Telefony
OfficePhoneNumber Telefonní číslo +420–5533–7585
mobile Číslo mobilního telefonu +420–601–123456
facsimileTelephoneNumber Číslo faxu +420–2533–7586
Adresa
roomNumber Číslo kanceláře č.125
localityName Jméno lokality, regionálního zastoupení Brno
street Ulice Dlouhá 5
postalAddress Město Brno
OfficeZIP PSČ 619 00
countryName Země uživatele Česká republika
Pozice uživatele
jobTitle Název pozice Senior programátor
employeeType Kategorie zaměstnance Vedoucí oddělení
o Divize Divize vývoje aplikací a služeb
ou Oddělení Oddělení vývoje aplikací
departmentNumber Tým Projekt XY
manager Uživatelské jméno nadřízeného CN=Tomas Dvorak/O=CubeTeam

Všechny pole jsou typu TEXT, kromě:

  • cn a manager – typ NAMES (manager obsahuje uživatelské jméno nadřízeného – tím se tvoří hierarchická struktura organizace)
  • roomNumber – typ NUMBER (pokud do něj chcete zapisovat TEXT, je ho třeba ve formuláři Person v adresní knize změnit nebo smazat)

Posledním polem, které má smysl aktualizovat je pole jpegPhoto a tady se dostáváme k jedné zákeřnosti, LDAP vyžaduje, aby toto pole bylo typu Arbitrary Data. Z tohoto důvodu musíte odstranit toto pole z formuláře Person odstranit. Jeho správné naplnění provedete následujícím způsobem:

Dim stream As NotesStream
Set stream = session.CreateStream
If stream.Open("<>") Then
      Dim jpegPhoto As NotesItem
      Set jpegPhoto = P.GetFirstItem("jpegPhoto")
      If( Not jpegPhoto Is Nothing) Then
         temp = stream.Read()
         Call jpegPhoto.SetValueCustomDataBytes("Arbitrary Data", temp)
         Call stream.Close
      End If
End If

Následuje seznam polí, které nemají velký význam:

businessCategory, carLicense, description, displayName, employeeNumber, homePostalAddress, ibm-generationQualifier, ibm-middleName, ibm-otherEmail, ibm-personAwarenessIdentity, ibm-primaryEmail, labeledURI, localityName, pager, preferredLanguage, secretary, seeAlso, uid, userPassword