- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Automatic import of *.fsm
Hallo,
ich versuche gerade eine Klasse zu schreiben, die es ermรถglicht FirstSpirit Module automatisiert zu installieren.
Auf meiner Suche bin ich auf diesen Beitrag gestoรen: https://community.e-spirit.com/ideas/1220#comment-2464
Dort wird beschrieben, wie man so etwas implementieren kann. Allerdings funktioniert es bei mir nicht.
Es gibt bei mir in de.espirit.firstspirit.access.Connection keine getManager(Class<?>) methode.
Ich verwende momentan diese Version: de.espirit.firstspirit:firstspirit:fs-server:5.0.318-build-1.0
- Labels:
-
Developers
-
Documentation
-
Knowledgebase

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Danil,
um Module hochladen zu kรถnnen benรถtigst du eine AdminConnection, da man Module รผber die Server- und Projekteinstellungen auch nur als Admin-User vornehmen kann.
Danach kannst du eine Klasse schreiben, die mit den Admin-Userdaten eben eine solche Connection aufbaut. Darรผber kann man sich dann den ModulManager holen
((ManagerProvider) connection).getManager(ModuleManager.class);
Diese Methoden gibt es soweit ich weiร bereits seit FS 4.1 oder 4.2. Du musst dafรผr allerdings die zu eurer FS-Version passende fs-client.jar in den Build-Abhรคngigkeiten haben.
Dann kann das FSM als InputStream hochgeladen und mit "alle Rechte" ausgestattet werden:
InputStream modulInputStream = new FileInputStream(module);
Pair<String, String> pair = modulManager.install(modulInputStream);
modulManager.setModuleTrusted(pair.getKey(), true);
Falls du Services in Modulen verwendest war es bisher auch immer noch notwendig diese zu restarten. Wir starten einfach immer den Preview-Tomcat new (wir laufen nicht auf dem internen Jetty), das ist safe und auch fix per Ant zu automatisieren.
Viele Grรผรe,
Nils
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Nils,
danke fรผr die schnelle Antwort!
Kannst du bitte noch etwas nรคher beschreiben wo ich die "AdminConnection" her kriege?
Ich finde die AdminConnection weder in fs-server.jar noch in fs-client.jar.
Danke im Voraus!
Gruร
Danil.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Nils,
ich denke mit der AdminConnection ist kein Objekttyp gemeint sondern eine Connection die mit den Benutzerinformationen des Admin Benutzers erstellt wurde.
z.b:
String host = "your.firstpirit.host";
int port = 1089;
int mode = ConnectionManager.SOCKET_MODE;
String login = "Admin";
String password = "Admin";
Connection connection = ConnectionManager.getConnection(host, port, mode, login, password);
Die connection
wรคre dann die "Admin"-Connection.
Gruร, Hendrik
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hier bitte beachten, dass der ModuleManager keine API ist und sich damit potentiell bei jedem Release รคndern kann. Fรผr FirstSpirit 5.1 ist es eine entsprechende API-Funktionalitรคt geplant, siehe Automatische Installation von Modulen
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Danil,
benรถtigst du noch weitere Hilfe oder haben dir die Antworten von Nils, Hendrik und Christoph bereits geholfen? In diesem Fall wรคre es super, wenn du die "richtige Antwort" entsprechend markierst, damit auch andere Community-Teilnehmer diese auf den ersten Blick finden. Solltest du zwischenzeitlich eine eigene Lรถsung gefunden haben, wรคre es nett, wenn du diese hier bereitstellst.
Viele Grรผรe
Tim
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ich habe es letztendlich wie folgt realisiert:
ServerConnection connection = (ServerConnection) ConnectionManager.getConnection(
host, port, mode, username, password);
...
ModuleManager moduleManager = connection.getManager(ModuleManager.class);
und der Rest wie im Beitrag vom Nils
Viele Grรผรe
Danil.

