Zum Hauptinhalt gehen

API-Frage zur Klasse FileSystem

Kommentare

7 Kommentare

  • Zendesk API User
    Author: marro - 11/29/2013 10:56

    Hallo Sebastian,

    der absolute Pfad hängt davon ab, ob es sich bei der Modulkomponente um eine projektspezifische ProjectApp oder Webapp oder um eine serverweite Komponente handelt.

    In Deinem Fall entspricht der Pfad des FileSystem-Objekts dem Konfigurationsverzeichnis Deiner Projekt-Modulkomponente, welches auf Dateisystemebene folgendem Pfad entspricht:

    <Pfad zur FirstSpirit-Installation>\data\projects\project_<id>\modules\<MODULE_NAME>.<MODUL_COMPONENT_NAME>

    Viele Grüße

    Donato

    0
  • Zendesk API User
    Author: Sebastian1 - 12/4/2013 16:16

    Hallo Donato,

    vielen Dank für die Antwort! Ich hatte gehofft, dass man diese Information auch irgendwie abfragen kann sowas wie:

    "configDir.getAbsolutePath()"

    Ich hätte allerdings noch ein damit zusammenhängendes Problem. Die API

    ProjectAppManager projectAppManager = ((ManagerProvider) userService.getConnection()).getManager(ProjectAppManager.class);

    FileSystem configDir = projectAppManager.getConfDir(MODUL_COMPONENT_NAME, MODULE_NAME, projectId);

    kommt aus der Developer-API. Unsere FS-Version ist dabei 4.2.446

    In dieser Version is die Aufrufreihenfolge

    getConfDir(MODUL_COMPONENT_NAME, MODULE_NAME)

    Wir habe hier jetzt auch einen Fall für FS 4.2.461. Da ist der Aufruf genau andersherum.

    getConfDir(MODULE_NAME, MODUL_COMPONENT_NAME)

    Wie kann man das projektspezifische Modulverzeichnis 4.2er-versionsunabhängig auslesen?

    Viele Grüße,

    Sebastian

    0
  • Zendesk API User
    Author: gockel - 12/5/2013 6:54

    Hallo Sebastian,

    ProjectAppManager projectAppManager = ((ManagerProvider) userService.getConnection()).getManager(ProjectAppManager.class);

    FileSystem configDir = projectAppManager.getConfDir(MODUL_COMPONENT_NAME, MODULE_NAME, projectId);

    > kommt aus der Developer-API. Unsere FS-Version ist dabei 4.2.446

    > In der API-Doku habe ich dazu nichts gefunden

    Das ist auch gut so, denn ProjectAppManager ist ganz und gar KEINE API, weder Developer noch Access-API und sollte in keinem Fall verwendet werden. Es ist nicht sichergestellt, dass solche Zugriffe in zukünftigen Versionen überhaupt noch funktionieren.

    Deshalb findet sich die Klasse hier auch nicht:

    http://www.e-spirit.com/odfs42/dev/

    > Wie kann man das projektspezifische Modulverzeichnis 4.2er-versionsunabhängig auslesen?

    Es gibt API-Wege um an das Konfig-Verzeichnis zu kommen. Du hast leider nicht geschrieben innerhalb welchen du dich befindest.

    Hier ein paar Einstiegspunkte:

    Gruß


    0
  • Zendesk API User
    Author: Sebastian1 - 12/5/2013 8:30

    Hallo Sebastian,

    danke für die Antwort. Eine Möglichkeit, die ich auch gefunden habe ist:

    LegacyModuleAgent agent = context.requireSpecialist(LegacyModuleAgent.TYPE);

    FileSystem configDir = agent.getProjectAppConfig(MODULE_NAME, COMPONENT_NAME, projectId);

    Das funktioniert solange ich mich nicht im ScheduleContext befinde, dort bekomme ich dann eine Exception:

    (de.espirit.firstspirit.server.scheduler.ScriptTaskExecutor): error during script execution : java.lang.IllegalStateException: No specialist found for 'de.espirit.firstspirit.agency.LegacyModuleAgent$1@b5b1afa1'!

    Kannst du mir da noch einen Tipp geben?

    Vielen Dank,

    Sebastian


    0
  • Zendesk API User
    Author: gockel - 12/5/2013 8:56

    Der genannte Fehler sollte eigentlich nicht mehr auftreten seit 4.2.436 Die interne ID dazu ist #96877.

    Wende dich doch bitte hierfür an unseren Helpdesk um das zu verifizieren.

    Update:

    Wie wird das Skritp ausgeführt? Mit einer speziellen Benutzer-Verbindung?

    Gruß

    0
  • Zendesk API User
    Author: Sebastian1 - 12/6/2013 12:27

    Das script wird über keine eigene Benutzer-Verbindung ausgeführt. Es ist Bestandteil (Aktion) eines Auftrags, der durch eine executable class gestartet wird.

    Die executable class wiederum wird in einem script im JavaClient aufgerufen, welches an einen Arbeitsablauf gebunden ist.

    0
  • Zendesk API User
    Author: MichaelaReydt - 1/21/2014 9:22

    Hallo,

    das genannte interne Ticket (#96877) wurde ja wie bereits erwähnt gelöst und der Fix sollte ab den FirstSpirit Versionen 4.2.436.44498 und 5.0.3.44401 verfügbar sein.

    Hattest Du Dich für die Verifizierung nochmal an den Helpdesk gewendet? Konnte die Frage gelöst werden oder sind noch weitere Antworten gewünscht?

    Viele Grüße

    Michaela

    0

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