Antwortdokumente im Workplace Designer

Der erstellte URL wird der Methode redirectUrlOnServer der Klasse context übergeben.

Erfassen Sie in einer JavaScript-Bibliothek die Funktionen aus Listing 3. Die Funktionen werden von den Schaltflächen Speichern und Abbrechen im Ereignis onClick aufgerufen. Der Code findet sich in Listing 1. Als Ziel verwenden wir Buch.XSP. Diese Datei enthält die Beschreibung zur Darstellung der Buchdokumente (in Form einer Server Page).

Listing 1: Programmcode für die Schaltfläche Speichern:
import <NameDerScriptbibliothek>;
saveCurrentDocumentEdit(document, context, "Buch.xsp");
Programmcode für die Schaltfläche Abbrechen:
import <NameDerScriptbibliothek>;
openParentDocument(document, context, "Buch.xsp","true");

Listing 2: Programmcode für die Schaltfläche Kommentar
erstellen
import <NameDerScriptbibliothek>;
document.save();
openNewResponseDocument(document, context, "TaskEdit.xsp");

Listing 3 : JavaScript-Bibliothek (Quelle : IBM)
function openParentDocument(document, context, ziel, autoedit) {
var url = new XSPUrl("");
url.setAddress(ziel);
if (document.hasParent()) url.setParameter("id", document.getParentId());
url.setParameter("action", "openDocument");
url.setParameter("autoedit", autoedit);
context.redirectUrlOnServer(url.toString());
}
function saveCurrentDocumentEdit(document, context, ziel) {
if (document.isEditable()) document.save();
openParentDocument(document,context,ziel,"true");
}

Listing 4: Zusätzliche Funktion in der JavaScript-Bibliothek
(Quelle: IBM)
function openNewResponseDocument(document, context, ziel) {
var url = new XSPUrl("");
url.setParameter("parentid", document.getId());
url.setParameter("action", "newDocument");
url.setParameter("autoedit", "true");
url.setAddress(ziel);
context.redirectUrlOnServer(url.toString());
}

Zur Anzeige der Anmerkungsdokumente fügen wir der Maske Buch eine UI-Control View hinzu. Vergeben Sie für die View einen Namen (vwKommentare). Auf dem Register Data im Eigenschaftsfenster ordnen Sie der View im Feld Schemas das am Anfang des Artikels für die Anmerkung erstellte Schema (Anmerkungen) zu. Beachten Sie, dass damit in der Maske Buch zwei Schemas verwendet werden: Schema_Buch für die Maske und Anmerkungen für die View. Für die Option Selection wählen Sie Show all results.

In der View benötigen wir Spalten zur Anzeige, zur Auswahl und zur Verlinkung der Anmerkungsdokumente. Der ersten Spalte ordnen Sie den Wert ErstelltVon zu. Aktivieren Sie auf dem Register Basics für die Spalte die Eigenschaften Check Box und Show values in this column as links. Die zweite und dritte Spalte beinhalten die Felder ErstelltAm und Kurzmeinung. Um für ein Buchdokument nur die zugehörigen Anmerkungen anzuzeigen, erstellen Sie eine vierte Spalte. Über die Formel document.getParentId() im Feld Formula des Registers Data ermitteln Sie für jedes Anmerkungsdokument die ID seines Hauptdokuments. Da deren Anzeige nicht notwendig ist, verbergen Sie die Spalte. Setzen Sie dazu auf dem Register Basics das Feld Visible auf False.

Die ermittelte Dokument-ID des jeweiligen Hauptdokuments verwenden Sie für den Filter der View vwKommentare. Auf dem Register Sort/Filter des Eigenschaftsfensters sorgt die Formel

"column_4 = \"" + document.getId() + "\"";

dafür, dass nur Anmerkungsdokumente, bei denen die ID des Hauptdokuments mit der des aktuell angezeigten Buchdokuments übereinstimmt, in die View aufgenommen werden. Achten Sie darauf, dass der Name der verborgenen Spalte mit dem in der Formel verwendeten übereinstimmt.

Zum Abschluss erstellen Sie noch zwei Schaltflächen in der Maske Buch zum Hinzufügen und Löschen von Anmerkungsdokumenten. Erweitern Sie die JavaScript-Bibliothek um eine zusätzliche Funktion (Listing 2). In dieser wird die aktuelle Dokument-ID dem Parameter parentid übergeben. Damit wird die Verknüpfung zwischen Haupt- und Antwortdokument erzeugt. Das Ereignis onClick der Schaltfläche Kommentar erstellen verwendet die Funktion openNewResponseDocument() und erzeugt das Antwortdokument. Der Code findet sich in Listing 2. Die Schaltfläche Kommentar entfernen nutzt die einfache Aktion Delete selected documents. Bestimmen Sie den Namen der View, auf welche sich die Aktion bezieht, in unserem Beispiel vwKommentare. Abbildung 3 zeigt die erweiterte Maske Buch nach Abschluss aller Veränderungen. Nach dem Deploymentprozess und der Einbindung des Portlets auf einer Seite der Workplace- Umgebung steht Ihnen die veränderte Bücherverwaltung mit der Möglichkeit der Erfassung verschiedener Kommentare zu einem Buch zur Verfügung (Bild 4).

Bild 3. Die Maske für die Kommentare.
Bild 3. Die Maske für die Kommentare.

Bild 4: Die Maske mit Kommentaren in der Nutzung.
Bild 4: Die Maske mit Kommentaren in der Nutzung.