Tipps & Tricks - Tachometer

Das Applikationselement "Tachometer" eignet sich für die Darstellung von Geschwindigkeiten, Lautstärkepegeln, Druck, Temperatur oder Füllständen. In diesem Beitrag wird gezeigt, wie man mit dem Tachometer die Anzahl der am Portal angemeldeten Benutzer darstellen kann.

Die Beispielapplikation können Sie hier herunterladen und anschließend wie gewohnt importieren.

Velocity-Template zur Initialisierung

Die Beispielapplikation enthält nur eine Seite.

Im Eigenschaftendialog dieser Seite ist auf dem Reiter "Allgemein" die Option "Velocity-Template zur Initialisierung" ausgewählt. Damit wird das Velocity-Template "usersOnline.vmi" eingebunden. Das Velocity-Template hat die Aufgabe, die angemeldeten Benutzer auszulesen und die Anzahl im sharedState zwischenzuspeichern, damit aus der Tachokontrolle heraus auf diesen Wert zugegriffen werden kann.

$Response.setIgnoreWrite(true)
#set($userList = $Portal.getUsersOnline(false))
#set($userSet = $CollectionFactory.createSet())
$userSet.addAll($userList)
$SharedState.putAt("usersOnline",$userSet.size())
$Response.setIgnoreWrite(false)

Tachometer einstellen

Auf der Seite "Benutzer Online" finden Sie das Tachometer-Element. Im Eigenschaftendialog wird auf dem Reiter "Tacho" eingestellt, welche Daten im Tacho angezeigt werden sollen. Als Startwert eignet sich hier der statische Wert 0. Als Endwert wird für dieses Beispiel der Wert 1000 gewählt. Genauso gut könnte man hierfür die Anzahl der Benutzer aus der Datenbank auslesen und im SharedState zwischenspeichern. Für den angezeigten Wert wird der Systemwert "usersOnline" aus dem Verarbeitungskontext (dem SharedState) verwendet.

Wenn gewünscht, kann die Seite "Benutzer Online" auch als Portlet definiert und auf Portalseiten hinzugefügt werden.