Erweiterung der Startseite (Launching Application) wird nicht erkannt
Author: odegener
Publication Date: 7/2/2018 12:26
Hallo zusammen,
anhand der Anleitung zur Entwicklung einer "Launching Application" (FirstSpirit Online Documentation - Launching Applications (FirstSpirit Start Page)) habe ich eine kleine Erweiterung geschrieben und in dem aktuellen FS Release installiert. Die Komponente kann ich problemlos zur fsroot-Webapp (Startseite) hinzufügen, jedoch taucht die Komponente nicht im Reiter "Startseite" der AdminConsole auf.
Muss die Klasse, die das de.espirit.firstspirit.server.application.ApplicationPlugin implementiert, gesondert in der module.xml registriert werden, damit das Plugin im Reiter "Startseite" ausgewählt werden kann?
Gruß,
Oliver Degener
-
Author: boersteken - 7/9/2018 13:29
Hallo Oliver,
du müsstest deine Klasse, die das ApplicationPlugin implementiert, noch als Public-Komponente in der module.xml angeben. Zusätzlich musst du sicherstellen, dass die Web-App (web.xml und Web-Ressourcen, welche die notwendigen Klassen enthält) angegeben wird.
Grüße
Philipp Börsteken
0 -
Author: odegener - 7/16/2018 13:16
Hallo Philipp,
vielen Dank, mithilfe der Public-Komponente konnte ich das ApplicationPlugin zur Startseite hinzufügen. :smileyhappy:
Allerdings stehe ich nun vor dem nächsten Problem:
Ich würde das Icon gerne direkt aus der JAR ausliefern, sprich ein javax.swing.ImageIcon laden und mit dem ImageSpecialist (getImageFromIcon) in ein FS-Image vom Typ IconBasedImage umwandeln und im getIcon-Aufruf des ApplicationPlugins zurückgeben.
Per Logging kann ich nachvollziehen, dass das ImageIcon korrekt geladen wird, im HTML der Startseite wird aber leider nichts ausgegeben:
<div class="icon">
<img src="" alt="" />
</div>
Kann es sein, dass ein ApplicationPlugin ein FS-Image einer bestimmten Ausprägung (z.B. UrlBasedImage / MediaBasedImage) zurückgeben muss? Im Interface ist eine solche Einschränkung nicht zu erkennen, da mit Icon<?> gearbeitet wird.
Viele Grüße,
Oliver Degener
0 -
Author: tenter - 7/20/2018 12:52
Hi Oliver,
ich denke der Grund ist, dass die Methode getImageFromIcon nicht die richtige für diese Anwendung ist, da wird ein Swing-Icon zurückgegeben, das wird für eine WebApp bestimmt nicht verwendet. Ich denke du brauchst getImageUrl(String url), dann kannst du dein Bild als Ressource in die WebApp konfigurieren - so wird das Bild ausgeliefert und ist über eine Url abfragbar, die du dort eintragen kannst.
Probier das mal aus und gib uns Rückmeldung ob das geklappt hat.
Grüße,
Hannes
0 -
Author: odegener - 7/23/2018 19:10
Moin Hannes,
das stimmt, mit "getImageUrl(String url)" kann ein Bild, das als Ressource in der WebApp liegt, geladen werden - danke!
Dann suggeriert das ApplicationPlugin-Interface allerdings mehr Freiheiten, als tatsächlich zur Verfügung stehen. Hier wäre es in meinen Augen schöner, wenn das Interface die korrekte Verwendung erzwingen würde. Alternativ sollte es sicherlich auch möglich sein, den ApplicationPluginsTag dahingehend zu erweitern, dass die anderen Icon-Typen (MediaBasedImage / IconBasedImage) als Inline-Base64-src ausgegeben werden, sodass alle 3 Typen verwendet werden können.
Viele Grüße,
Oliver
0
Vous devez vous connecter pour laisser un commentaire.
Commentaires
4 commentaires