Zoals u waarschijnlijk weet, is Lotus Notes Domino een applicatieplatform waarmee u applicaties kunt ontwikkelen die zowel te gebruiken zijn via een Lotus Notes-client, als via een webbrowser. De webbrowser-applicaties zijn grofweg op te delen in twee categorieën:
- applicaties die informatie tonen
- webapplicaties
informatie tonen op uw website of intranet
Om informatie te tonen op een website of intranet, kunt u een contentmanagementtool gebruiken, zoals bijvoorbeeld het contentmanagementframework van e-office:
TeamSpirit CMT. Eventueel kunt u in combinatie met deze contentmanagementtool gebruik maken van de
Visual Page Editor, een tool waarmee u eenvoudig webpagina's kunt opmaken. Op deze manier kunt u informatie uit uw Lotus Notes Domino-omgeving eenvoudig beschikbaar stellen voor gebruik via een browser en netjes presenteren.
webapplicaties
Een ander type applicatie is de webapplicatie bestemd voor interactief gebruik. Bij dit type applicaties worden zogenaamde formulieren getoond in de browser, waarbij de gebruiker de ingevulde gegevens opslaat in de browser. Wat nu als het gewenste formulier met enige regelmaat aangepast moet worden? Dan kunt u kiezen uit twee scenario's: u zet een webdesigner aan het werk die het bestaande formulier aanpast of een nieuw formulier aanmaakt, of u maakt slim gebruik van de dynamiek van Lotus Notes. De Lotus Domino-database is namelijk een documentgeoriënteerde database, waarbij tabelstructuren eenvoudiger aan te passen zijn dan in de zogenaamde relationele DatabaseManagementSystemen (DMS). In feite kan een Lotus Notes-document een vrij te bepalen hoeveelheid velden bevatten, waarbij het datatype niet bepaald wordt door het DMS.
formulierengenerator
Als u geregeld formulieren in uw webapplicaties aanpast of vervangt, kan het handig zijn gebruik te maken van een formulierengenerator. In deze generator wordt een formulier geconfigureerd door aan de Lotus Notes-kant een aantal elementen vast te leggen. De opbouw van een formulier zou als volgt kunnen zijn:
- formuliernaam 1
- veldnaam 1 + datatype 1
- veldnaam 2 + datatype 2
- veldnaam 3 + datatype 3
- formuliernaam 2
- veldnaam 1 + datatype 1
- veldnaam 2 + datatype 2
- veldnaam 3 + datatype 3
- veldnaam 4 + datatype 4
Door bovenstaande opzet als een soort configuratie te beschouwen, is het mogelijk om dynamisch een webformulier op te bouwen. Hiervoor kunt u binnen Lotus Domino van twee technieken gebruik maken:
- webagents
- servlets
Het principe is bij beide technieken hetzelfde. Het proces wordt aangestuurd met een url, die ofwel een agent, ofwel een servlet opstart. In de parameters van de url wordt aangegeven welk formulier het betreft, en het proces bepaalt aan de hand van deze informatie welke velden er in de browser getoond moeten worden. Voor het opslaan kan hetzelfde mechanisme worden gebruikt. De submit bepaalt aan de hand van de url welk formulier het betreft en leest de html velden uit en zet deze om naar Lotus Notes-velden met het juiste datatype. Dit mechanisme is in een relationeel databasemanagementsysteem ondenkbaar.
De configuratie van een webformulier kan nog veel uitgebreider. Bijvoorbeeld door aan te geven of er meerdere velden achter elkaar getoond moeten worden of dat er dynamisch bepaalde keuzelijsten gevuld moeten worden. Een configuratie zou er bijvoorbeeld als volgt uit kunnen zien:
Bovenstaand voorbeeld heeft een formulier genaamd:
ConfigPolis: Motor
Daaronder is een workflow gespecificeerd (de status documenten) en daaronder zijn velden geclusterd in modules. Binnen een module kan van verschillende layouts gebruik worden gemaakt. In het bovenstaande geval worden er 4 kolommen gebruikt. Deze layout zal er voor zorgen dat velden in 4 kolommen worden getoond met in de eerste kolom een label, de tweede kolom een veld, in de derde kolom een label en in de vierde kolom een veld.
In feite zal een Lotus Domino-agent of servlet de hierboven beschreven configuratie renderen en daar dan een webformulier van maken. Bij het opslaan wordt het omgekeerde proces gehanteerd; hierbij worden de html-velden gekoppeld aan de configuratie van het formulier.