j_mueller
Elite Observer

Element in FirstSpirit Client anzeigen / öffnen oder Systemdialoge verwenden

Jump to solution

Hallo eSpirit Community,

wir verwenden einige Beanshell-Skripte um z.B. MediaStore Elemente zu suchen, denen Metainformationen fehlen. Diese geben wir bislang einfach in der Konsole aus. Schön wäre es jedoch einen Dialog mit allen gefundenen Medien angezeigt zu bekommen.

Meine Frage lautet daher: Gibt es die Möglichkeit hier Dialoge des Clients zu benutzen (wie bspw. Dialog "Verwendungen anzeigen") oder zumindest einen eigenen Dialog zu implementieren, der dann die Elemente beim Doppelklick auch im Client anzeigt.

Die Instanz des FirstSpirit Clients kann man ja herausfinden, leider habe ich in der (API-)Doku keine weiteren Informationen zum Thema finden können.

Schöne Grüße

Julius Müller

1 Solution

Accepted Solutions
gockel
Crownpeak employee

Hallo,

hierfür gibt es die Operations dieses Packages http://www.e-spirit.com/odfs50/dev/de/espirit/firstspirit/ui/operations/package-summary.html

Im konkreten Fall wäre das die DisplayElementOperation:

Ein wenig Pseudo-Code

Media myMedia;

operationAgent = specialistBroker.requireSpecialist(de.espirit.firstspirit.agency.OperationAgent.TYPE);

displayElementOperation = operationAgent.getOperation(de.espirit.firstspirit.ui.operations.DisplayElementOperation.TYPE);

displayElementOperation.perform(myMedia);

View solution in original post

10 Replies
gockel
Crownpeak employee

Hallo,

hierfür gibt es die Operations dieses Packages http://www.e-spirit.com/odfs50/dev/de/espirit/firstspirit/ui/operations/package-summary.html

Im konkreten Fall wäre das die DisplayElementOperation:

Ein wenig Pseudo-Code

Media myMedia;

operationAgent = specialistBroker.requireSpecialist(de.espirit.firstspirit.agency.OperationAgent.TYPE);

displayElementOperation = operationAgent.getOperation(de.espirit.firstspirit.ui.operations.DisplayElementOperation.TYPE);

displayElementOperation.perform(myMedia);

Hallo Herr Gockel,

vielen Dank für die schnelle Antwort!

Leider erhalte ich den Fehler:

Class or variable not found: de.espirit.firstspirit.ui.operations.DisplayElementOperation.TYPE

Ich sehe auch bei mir im Eclipse im Package operations nur das Interface "RequestOperation".

Edit: FS-Version ist: 4.2.446.45868

Schöne Grüße

Julius Müller

0 Kudos
gockel
Crownpeak employee

Hallo Herr Müller,

da hilft nur eine Aktualisierung auf 5.0 Smiley Happy

DisplayElementOperation gibt es erst seit 5.0.102 (siehe auch den @since Eintrag unter DisplayElementOperation)

Ach, schade... Na gut, trotzdem danke!

Das Feature werden wir dann wohl nach der Aktualisierung benutzen. Können dann auch FirstSpirit-eigene Dialoge verwendet werden? Ich dachte mir schon ein paar mal, dass es ja nur unnötig Arbeit ist Dialoge zu programmieren, die denen von FirstSpirit nachempfunden sind...

Schöne Grüße

Julius Müller

0 Kudos

Hallo Herr Müller,

wir haben eine ähnliche Anforderung und keine Lösung.

Wir iterieren über bestimmte Source und benötigen eine Liste von Elementen. Z.B. mit Dokumenten, die nicht gültig sind, oder denen bestimmte Metadaten fehlen.

Haben Sie eine Lösung für ihr Problem gefunden?

Danke für die Info und viele Grüße,

Stefanie Krause

0 Kudos

Hallo Frau Krause,

leider nicht. Aktuell geben wir einfach die Referenznamen in der Konsole aus. Diese kann man dann kopieren und so die Elemente über die "Suche nach Referenznamen" anspringen.

Sicherlich könnte man die Elemente auch noch in einem selbst geschriebenen Dialog anzeigen, ein direktes Öffnen funktioniert aber wie von Herrn Gockel geschrieben erst ab FirstSpirit 5.0.

Einziger Workaround, der mit zur Zeit einfällt wäre via Web-Link. Workflows z.B. welche E-Mails verschicken, haben einen Link zum Element im Body-Text. Der sieht ungefähr so aus:

http://espirit:8000/start/FIRSTspirit.jnlp?app=client&project=XXX&name=XXX&type=Content2&id=1234&ent...

Als Parameter wird das im Workflow befindliche Element übergeben. Das ist aber für unseren und sicherlich auch für Ihren Anwendungsfall nicht wirklich praktikabel, da so immer eine neue Instanz des JavaClients geöffnet wird.

Schöne Grüße

Julius Müller

0 Kudos

Hallo Herr Müller,

ja, das haben wir auch schon überlegt, ist aber für unseren Fall leider nicht praktikabel.

Wir haben uns als Ersatz eine Seitenvorlage gebaut, die über den Page- und Mediastore iteriert und alle Elemente als Liste anzeigt, die den gewünschten Kriterien entsprechen.

Als kleine "Krücke" habe ich das Content-Highlighting aus FS genutzt, d.h. bei Klick auf einen Listeneintrag wird zu dem entsprechendem Element in die Inhalte- bzw. Medienverwaltung gesprungen. Ist nicht wirklich schön, und das Problem ist auch, dass man den aktuell angemeldeten User in der Preview nicht bekommt, aber besser als nichts 🙂

Viele Grüße,
Stefanie Krause

0 Kudos
gockel
Crownpeak employee

Hallo Frau Krause,

das Problem ist auch, dass man den aktuell angemeldeten User in der Preview nicht bekommt

ich weiss zwar nicht, um welche Version es bei Ihnen geht, aber auch in FS 4.2 sollte es über das in die Inline-Preview injizierte JavaScript Objekt FS4BRIDGE und ein daraus aufgerufenes Skript, möglich sein den aktuellen User zu ermitteln.

Gruss

Gockel

0 Kudos

Hallo Frau Krause,

das klingt auch schon mal nicht schlecht. Vielleicht können Sie ein Code-Snippet dazu posten?

Schöne Grüße

Julius Müller

0 Kudos