IBM nieuwsbrief e-office Sametime extenden in java componenten
      
welkom     nieuws 2012     nieuws 2011     nieuws 2010     Lotus Notes Domino     e-office

Sametime extenden in java componenten
Sinds Sametime 7.5 is de Sametime Connect client op het eclipse framework gebouwd. Vanuit andere eclipse applicaties is het relatief eenvoudig om Sametime functionaliteit her te gebruiken door middel van de Sametime toolkit.

Hieronder leggen wij in vogelvlucht uit wat u kunt doen als u gebruikmaakt van deze toolkit.

We hebben een HR systeem waarin de medewerker informatie staat opgeslagen. In een sidebar plugin worden de jarigen getoond. De lijst met jarigen wordt via een webservice of via de Java UI classes in Notes 8.5.1 opgehaald.

Om gebruik te maken van de Sametime functionaliteit kunt u verschillende services inzetten:

  • CommunityService
  • PeopleService
  • GroupService
  • BuddyListService
  • LiveNameService
  • BusinessCardService
  • DirectoryFactoryService

De bovengenoemde services zijn benaderbaar vanuit de ServiceHub.

Het instantiëren van de CommunityService gaat bijvoorbeeld als volgt:
communityService = (CommunityService) ServiceHub.getService(CommunityService.SERVICE_TYPE);

Vervolgens hebben we twee datastromen. We hebben de lijst met verjaardagen, bijvoorbeeld naam, verjaardag. En de lijst met Sametime gebruikers, waarbij het van belang is om de Sametime gebruikersnaam te matchen met de namen uit de verjaardagenlijst. Er zijn verschillende mogelijkheden om persoonsinformatie uit Sametime te halen en er zijn ook verschillende informatietypen in Sametime beschikbaar. Het Person object bijvoorbeeld geeft alle informatie van een persoon als livename weer. Je kunt dus aan een dergelijk object de Sametime status, locatieinformatie of welke mogelijkheden (video, chat, call) deze gebruiker heeft, koppelen. Een ander type is bijvoorbeeld ContactInfo. Vanuit dit object kunt u bijvoorbeeld directory informatie ophalen.

Verder zijn er nogal wat afwegingen voordat u de applicatie kunt ontwikkelen. Wat is bijvoorbeeld de lijst waarmee u begint? Is dat de lijst met verjaardagen of de Sametime contactlijst? De lijst met verjaardagen zal over het algemeen korter zijn dan de lijst met Sametime contacten. Daarnaast kan de lijst met verjaardagen beter beschikbaar zijn dan Sametime (voor Sametime dient namelijk apart te worden ingelogd). Dus eerst wordt de lijst met verjaardagen opgehaald en deze wordt in de plugin geladen.

IBM breidde de swt AbstactTreeViewer uit met wat handigheden. Door de lijst met verjaardagen in de TreeViewer te plaatsen, wordt er direct een gestructureerde lijst aangemaakt die later uitgebreid kan worden met bijvoorbeeld de Livenames en BusinessCard uit Sametime. Bij het laden van de plugin wordt dus eerst de TreeViewer geladen en vervolgens de data uit het HR systeem opgehaald en in de TreeViewer geplaatst. De Treeviewer maakt hierbij gebruik van een ContentProvider en een LabelProvider. De LabelProvider zorgt ervoor dat de juiste teksten en images in de tree worden getoond.

Als de gebruiker zich aanmeldt op Sametime dan wordt dit door de ServiceHub gezien en zal de lijst in de TreeViewer opnieuw opgebouwd worden om de Sametime functionaliteit toe te voegen. Op basis van de namen uit de verjaardagenlijst worden de corresponderende personen in de Sametime directory opgezocht. Hiervoor zoekt het systeem contactinformatie (ContactInfo object) op vanuit de DirectoryService. Hierbij kan namelijk op naam gezocht worden. De contactinfo bevat het Sametime ID behorende bij gezochtte naam. Met het Sametime ID kan het Person object uit de PeopleService worden opgehaald. Met het Person object kan vervolgens een livename in de TreeViewer worden geplaatst.

Voor aanmelden bij Sametime:


Na aanmelden bij Sametime: