5.7 Dashlets auf dem Dashboard

5.7 Dashlets auf dem Dashboard

Ab den Versionen 11.10.53 bzw. 12.0.20 des enaio® webclient können Dashlets für das Dashboard konfiguriert werden. Diese stehen dann im Widget „Dashlets“ zur Auswahl. Diese Seite beschreibt, wie sich die Dashlet API in diesem Kontext – im Vergleich zum Vorschaubereich - verhält.

Wo das Dashlet läuft

Ein Dashlet kann an zwei Stellen erscheinen:

  • Vorschaubereich – Im enaio® webclient und in der Desktop-Anwendung des enaio® webclient befindet sich der Vorschaubereich rechts vom Arbeitsbereich und ist damit parallel geöffnet. Infos zu markierten Objekten einer Objektliste (z. B. in einer Trefferliste, an einem Standort, in einer Workflow-Akte) werden an das Dashlet übermittelt.

  • Dashboard - Widget „Dashlets“ – der Administrator hinterlegt die Dashlets in der Datei dashlets-widget.json (gleicher Ablageort und gleiche Felder wie dashlets.json: uri, title_DE/EN/FR, iconId, platforms, groups, users – siehe 5.1 Konfiguration & Entwicklung). Benutzer fügen das Widget “Dashlets” im Bearbeitungsmodus des Dashboards hinzu; jedes konfigurierte Dashlet erhält ein Symbol in der Werkzeugleiste des Widgets.

Das Dashlet lädt genauso wie im Vorschaubereich – gleiches iframe, gleiche Kommunikationsbibliothek, gleicher Nachrichtenaustausch. Unterschiede gibt es nur bei den Daten, die das Dashlet erhält, und bei den sinnvollen API-Aufrufen, denn im Kontext des “Dashboards” gibt es kein geöffnetes bzw. markiertes Objekt und keine Trefferliste.

Sichtbarkeit je Benutzer und Gruppe

Wie im Viewer lässt sich ein Dashlet auf bestimmte Benutzer oder Gruppen einschränken, über die Felder groups und users. Das Widget wertet sie genauso aus wie der Viewer:

  • Ein Eintrag ohne groups und users ist für alle sichtbar.

  • Sind sie gesetzt, erscheint das Dashlet, wenn der Benutzer in einer der genannten Gruppen ist oder selbst aufgeführt ist (ODER-Verknüpfung, Groß-/Kleinschreibung spielt keine Rolle).

Einträge lassen sich damit unverändert aus dashlets.json übernehmen - die dort konfigurierte Einschränkung gilt auf dem Dashboard genauso.

onInit-Event

Das Dashlet erhält onInit (Dashlet) beim Auswählen – und erneut bei jedem Zurückwechseln (es gibt keinen Objektzustand, der erhalten bleiben müsste; die Daten werden einfach neu gesendet). Die Payload trägt den Dashboard-Kontext:

Feld

Auf dem Dashboard

Feld

Auf dem Dashboard

context

"dashboard"

sessionInfo

gefüllt (Sprache, Session, Basis-URL, Client-Typ …)

userInfo

gefüllt

dapi

gefüllt (die aufrufbaren API-Methoden)

activeCustomDashlet

die Konfiguration des ausgewählten Dashlets

selectedEntries

[] (keine Auswahl)

lastSelectedEntry

{}

locationInfo

{}

osDashletInit

teilweise gefüllt: Benutzer-/Session-Teile vorhanden, Objekt-Teile (objecttype, objectident) undefined

onUpdate-Event

Wird auf dem Dashboard nie gesendet. onUpdate (Dashlet) reagiert auf einen Wechsel der Objektauswahl im Vorschaubereich – auf dem Dashboard gibt es keine Objektauswahl, ein Dashlet erhält dort nur onInit.

Dashlet-Methoden

Alle Aufrufe werden vollständig beantwortet – ein Dashlet, das auf eine Antwort wartet, bleibt nie hängen.

Methode

Auf dem Dashboard

Methode

Auf dem Dashboard

openLocation

funktioniert – sobald eine Objekt-ID bekannt ist

openIndexData

funktioniert – sobald eine Objekt-ID bekannt ist

openHitListByIds

funktioniert – sobald IDs bekannt sind

resetSessionTimeout (Dashlet)

funktioniert - das Dashlet ist Teil des Webclients

getSelectedObjects

antwortet mit einem leeren Array – auf dem Dashboard ist nichts ausgewählt

refreshHitListObjects

eine Aktion, keine Abfrage: nimmt eine Liste von IDs, aktualisiert diese Trefferlisten-Einträge und antwortet mit einem Boolean. Auf dem Dashboard gibt es keine Trefferliste – der Aufruf ist ein harmloses No-Op und antwortet mit false.

Geräte

Auf Smartphones und Tablets zeigt das Widget “Dashlets” den Hinweis „nicht unterstützt“ an und lädt keine Dashlets.
Auf dem Desktop funktioniert das Widget “Dashlets” in jeder Größe.
Welche Dashlets erscheinen, steuert das Feld platforms des jeweiligen Eintrags.