Komponentenskripts

Umsetzung im Beispiel

In den Ausgaben 1 bis 6/2006 von Expert´s inside Lotus Notes/Domino haben wir in einer Reihe von Artikeln die Anwendungsentwicklung mit dem Workplace Designer näher betrachtet. Aufbauend auf dem dort entwickelten Beispiel einer einfachen Buchverwaltung wollen wir im Folgenden ein Komponentenskript nutzen. In der Beispielanwendung können die Bücher verschiedenen Bereichen und Unterbereichen zugeordnet werden. Diese sind zu erstellen, bevor mit der eigentlichen Bucherfassung begonnen wird. Über ein Komponentenskript soll nun gewährleistet werden, dass bereits beim Beginn der Arbeit mit der Komponente Bereichsdokumente zur Zuordnung der einzelnen Bücher zur Verfügung stehen.

Öffnen Sie die Komponente im Workplace Designer. Wechseln Sie anschließend im Navigator zu Scripts/Component Scripts (Bild 1). Führen Sie auf den Eintrag Component Scripts einen Doppelklickaus. Die Liste der unterstützten Ereignisse wird angezeigt. Gleichzeitig wird der JavaScript- Editor geöffnet. Erfassen Sie für das Ereignis CreateInstance den benötigten JavaScript- Programmcode (Listing 1). Über den Befehl print() kann im Programmcode die Ausgabe von Debuginformationen in die Protokolldatei SYSTEMOUT. LOG des Portalservers erfolgen. Diese Technik wurde bereits im Artikel „Die Java-API im Workplace Designer“ der Ausgabe 6/2006 gezeigt.

Bild 1: Die Maske für die Eingabe des Komponentenskripts.
Bild 1: Die Maske für die Eingabe des Komponentenskripts.

print ("Bibliothek_7: Erstellung der Bereichsdokumente");
var newDoc : DBDocument;
newDoc = database.createNewDocument("Bereiche");
newDoc.setForm("Bereiche");
newDoc.setStringValue("/Bereiche/Bereich", "Lotus Domino");
newDoc.setStringValue("/Bereiche/Unterbereich", "Administration, Entwicklung");
newDoc.save(true);
newDoc = database.createNewDocument("Bereiche");
newDoc.setForm("Bereiche");
newDoc.setStringValue("/Bereiche/Bereich", "IBM Workplace");
newDoc.setStringValue("/Bereiche/Unterbereich", "Administration, Entwicklung");
newDoc.save(true);
print ("Bibliothek_7: Erstellung Bereichsdokumente abgeschlossen");

Durch das Skript werden beim Erstellen einer Instanz basierend auf dem Schema Bereiche zwei neue Dokumente für die Bereichszuordnung erzeugt. Einer sofortigen Bucherfassung steht somit nichts mehr im Wege.

Wie das Beispiel zeigt, bieten Komponentenskripts eine gute Möglichkeit, grundlegende Einstellungen einer Komponente bei deren Instanzierung vorzunehmen.