Skip to main content

Datenquelle per Skript aktualisieren?

Comments

9 comments

  • Zendesk API User
    Author: StefanSchulz - 4/16/2012 12:11

    Eventuell hilft hier schon ein db.refresh()?

    Stefan.

    0
  • Zendesk API User
    Author: Jan_Wehe - 4/16/2012 13:50

    Anstelle von:

    store = us.getStore(Store.Type.CONTENTSTORE, true, true);

    db = store.getStoreElement("datenquelle", IDProvider.UidType.CONTENTSTORE);

    hatte ich auch schon folgendes ausprobiert, leider ohne Erfolg:

    store = us.getStore(Store.Type.CONTENTSTORE, false);

    db = store.getStoreElement("datenquelle", IDProvider.UidType.CONTENTSTORE);

    db.refresh();

    0
  • Zendesk API User
    Author: witt - 4/16/2012 21:53

    Hallo Herr Wehe,

    von welcher Stelle aus rufen Sie die Codezeilen auf? Mit welcher FirstSpirit Version arbeiten Sie aktuell?

    0
  • Zendesk API User
    Author: Jan_Wehe - 4/17/2012 7:48

    Ich habe die Codezeilen in einem Skript stehen, das ich über das Menü aufrufe.

    Wir benutzen firstSpirit 4.2.454.47473

    0
  • Zendesk API User
    Author: aVogt - 4/18/2012 13:11

    Hallo,

    bisher verwende ich bei Datenquellen immer den TEMPLATESTORE.

    Event. hilft es auch vor der Abfrage noch ein

    context.setStartTime(new Date());

    zu setzen. (Das hat mal bei der Auftragssausführung geholfen).

    Grüße Andreas

    0
  • Zendesk API User
    Author: Jan_Wehe - 4/20/2012 7:26

    Leider ist es mir auch über den TEMPLATESTORE nicht gelungen die Datenquelle zu aktualisieren.

    Hat noch jemand einen Tipp für mich?

    0
  • Zendesk API User
    Author: gockel - 4/20/2012 9:00

    Es gibt keinen API-Weg um die Gui (Datenquelle) zu aktualisieren. Ich sehe die Notwendigkeit aber auch nicht. Datenimporte sollten doch sinnvollerweise ohnehin auf dem Server (Auftragsverwaltung) durchgeführt werden und nicht aus dem JavaClient heraus. Ein nach dem Import neugestarter JavaClient hat dann auch alle Daten die importiert wurden. JavaClients die während des Importes offen sind, bekommen die Daten erst nach einem manuellen Refresh, sofern sie die entsprechenden Sichten (Datenquellen) im Client vorher schon angezeigt haben. Das ist aber doch auch korrekt.

    Wenn es nur um die Ausgabe der Anzahl des Content2 (das ist nicht das Gui-Objekt) geht (also in einem Client, der veraltet ist), dann sollte es reichen auf dem Schema ein #resetReadTimestamp() aufzurufen und ein #refresh auf dem Content2.

    Content2 content;

    final Schema schema = content.getSchema();

    schema.resetReadTimestamp();

    content.refresh();

    context.logInfo("entity count=" + content.getData().size());

    0
  • Zendesk API User
    Author: Jan_Wehe - 4/20/2012 10:10

    Ich weiß, dass dieser Weg vermutlich nicht der Beste ist, aber folgendes Szenario haben wir:

    - auf einen Server (nicht der firstSpirit Server) werden XML-Dateien hochgeladen

    - diese werden per PHP-Skript in die externe Datenbank importiert, die an firstSpirit angedockt ist (Datenquellen)

    - dann soll firstSpirit bestimmte Detailseiten neu generieren und publizieren, da sich diese durch den XML-Import geändert haben könnten

    Der letzte Schritt funktioniert aber nicht, da die Datenquelle nach dem Import nicht aktualisiert wird. Von daher werden keine neuen Detailseiten generiert und die Änderungen erscheinen nicht auf der Webseite.

    Wenn ich die Datenquelle im Java-Client manuell aktualisiere und danach die Generierung/Publizierung starte funktioniert alles.

    0
  • Zendesk API User
    Author: Peter_Jodeleit - 4/20/2012 12:55

    Bitte mal ein "schema.rollback()" probieren.

    0

Please sign in to leave a comment.