IBM nieuwsbrief e-office een telefoon applicatie bouwen met XPages
      
welkom     nieuws 2012     nieuws 2011     nieuws 2010     Lotus Notes Domino     e-office

een telefoon applicatie bouwen met XPages
U las in een eerdere nieuwsbrief al iets over XPages. XPages is een nieuwe Domino techniek, gebaseerd op JSF. JSF staat voor JavaServer Faces. JSF is een java raamwerk
. In onze nieuwsbrief van oktober 2008 schreven we hier al een artikel over.

Nu de Domino 8.5 designer officieel is uitgebracht, kunnen we in een nieuw te ontwikkelen applicatie gebruik gaan maken van de XPages technologie.

We gaan een simpele interne telefoonboek applicatie bouwen en we laten u meekijken hoe we dit gaan doen. We gebruiken hierbij de informatie uit de Domino directory (names.nsf). We willen een weboverzicht van onze collega's en kunnen zoeken naar een bepaalde collega. Kan niet moeilijk zijn toch? We beperken ons in deze uitleg tot het geven van een overzicht en het maken van een zoekfunctie. Het is uiteraard ook mogelijk de XPages applicatie uit te breiden zodat we ook details op het scherm kunnen tonen en wijzigen.

Om te beginnen starten we de Domino Designer versie 8.5 op. Als u deze voor het eerst opstart, zult u zien dat de designer er nu behoorlijk anders uitziet dan Domino 8.0.

Klik om de afbeelding te vergroten

Het opstarten duurt wat langer en het inladen van een database ook, maar ook voor web applicaties die nog geen gebruik maken van XPages technologie, is de nieuwe designer een aanrader. Al is het alleen maar vanwege de ingebouwde stylesheet editor. We sluiten het welkomscherm af en maken een nieuwe applicatie door te kiezen voor File - New application. We geven de applicatie een naam en klikken op OK.

We gaan nu zelf een XPage maken. Klik met de rechtermuis-toets op XPages en dan op New XPage. We noemen deze xpage phonebook en klikken op OK. De XPage wordt aangemaakt.

Klik om de afbeelding te vergroten

Kijk goed naar het scherm: links boven zien we het form en rechts zijn de controls zichtbaar. De controls zijn de verschillende elementen die we op het scherm kunnen plaatsen. Dit kunnen velden en buttons zijn, maar ook hele Views. We plaatsen nu een View op het scherm.

Klik om de afbeelding te vergroten

We slepen een View naar het schermvlak. Er verschijnt een dialoog venster waar we moeten opgeven welke View we willen weergeven. Door op de blauwe ruitjes die achter de verschillende opties staan te klikken, kan een formule worden ingevoerd om de waarde voor de betreffende optie te bepalen. Dit kan erg handig zijn. Nu selecteren we het adresboek als applicatie. Vervolgens kunnen we de View selecteren door op het pijltje achter View: te klikken. We selecteren de “_people” Vview. Nu selecteren we de kolommen die we willen tonen. We selecteren Name, Telephone en e-mail.



Door op OK te klikken plaatsen we de View op onze XPage. We hebben nu een Xpage die van alle personen uit de Domino Directory de naam, het telefoonnummer en het e-mailadres toont, zonder ook maar iets te hoeven aanpassen in het adresboek zelf. Laten we kijken hoe dit er uit ziet. U kunt de Xpage previewen door in het menu design voor preview te kiezen en vervolgens voor de gewenste browser.

Klik om de afbeelding te vergroten

We krijgen nu een overzicht van alle personen uit de Domino directory:

Klik om de afbeelding te vergroten

We willen ook nog een zoekfunctie. Daartoe slepen we een textbox vanuit de controls naar net boven het Viewpanel. Een textbox is een invoerveld. We moeten op het moment dat we de textbox op het formulier hebben geplaatst, deze nog aan een sessie variable koppelen die we zoekWaarde noemen. Klik hiertoe op het tekstveld en kies dan voor data. Kies vervolgens bij bind data using voor Advanced en dan bij use voor scoped variables. Vervolgens selecteren we bij scope session scope en voeren we “zoekWaarde” in als variable name. De properties tab ziet er dan als volgt uit:



Vervolgens stellen we in dat wanneer er op een toets in het zoekveld wordt gedrukt, de View opnieuw wordt opgebouwd. Dit doen we door naar de tab events te gaan. In de tab events klappen we keys open en selecteren we onkeypress. Vervolgens selecteren we bij server options partial update en klikken we op select elements. Er verschijnt een popup window waaruit we de View selecteren (viewPanel1). De event tab ziet er dan als volgt uit:



We moeten nu in de View instellen dat hij alleen de waarden uit de View toont die beginnen met de tekst uit het zoekveld. Dit doen we door op de View te klikken en naar all properties te gaan.



Vervolgens klappen we data en daaronder data open. Er is een property keys. Door op het blauwe ruitje achter deze property te klikken kunnen we kiezen wat voor waarde we willen ingeven. Een static value of een dynamic value. We kiezen voor “Compute value..” vervolgens geven we het volgende script in om alleen View entries te tonen die beginnen met de opgegeven zoektekst: sessionScope.get(“zoekWaarde”);

De optie keysExactMatch moet u vervolgens op false zetten.



Als we de XPage nu previewen, hebben we een tekstveld boven de View. Door hier tekst in te voeren, toont Domino alleen de personen waarvan de achternaam begint met de ingegeven tekst.

Zie hier onze eerste XPage applicatie. Hij is weliswaar nog niet mooi, maar dáár komen we nog op terug volgende maand!