Zum Hauptinhalt gehen

Automatic import of *.fsm

Kommentare

6 Kommentare

  • Zendesk API User
    Author: Anonymous - 1/29/2014 15:22

    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

    0
  • Zendesk API User
    Author: dmihajluk - 1/29/2014 15:44

    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.

    0
  • Zendesk API User
    Author: Hendrik - 1/30/2014 11:35

    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

    0
  • Zendesk API User
    Author: feddersen - 2/12/2014 7:09

    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

    0
  • Zendesk API User
    Author: pavone - 2/12/2014 7:16

    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

    0
  • Zendesk API User
    Author: dmihajluk - 2/12/2014 7:37

    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.

    0

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.