- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Problem bei Aktualisierung von Datenquellen in Remote-Projekten
Hallo zusammen,
wir mussten in letzter Zeit immer wieder feststellen, dass Datensรคtze, die im Master-Projekt verรคndert und freigegeben werden, in den Remote-Projekten nicht sofort und auch nicht bei einer Generierung aktualisiert werden. D.h. es wird der alte Stand generiert oder sie sind nicht vorhanden (neue Datensรคtze). Ein konkretes Beispiel sind Pressemitteilungen. Man muss im Remote-Projekt dann die Datenquelle auswรคhlen und sie dann manuell aktualisieren (bspw. F5), selbst wenn das Remote-Projekt gerade erst neu geรถffnet wurde. Wieso ist das so?
Vor jeder Generierung wird รผbrigens auch per Script eine neue Revision getaggt. Hier noch einmal der Ablauf:
1. Im Master-Projekt wird ein neuer Datensatz in einer Datenquelle angelegt oder ein bestehender bearbeitet.
2. Dieser Datensatz wird im Master-Projekt freigegeben.
3. Eine Generierung wird in einem Lรคnderprojekt angestoรen, welches die Datenquellen per Corporate Content bekommen hat.
4. Beim Ergebnis der Generierung ist der Datensatz nicht vorhanden oder nicht aktuell.
5. Das Lรคnderprojekt wird geรถffnet, die Datenquelle ausgewรคhlt. Die entsprechenden Datensรคtzen sind nicht aktuell oder nicht freigegeben.
6. Nach Aktualisierung bspw. mit F5 sind die Datenquellen wieder auf dem Stand des Master-Projekts.
7. Nach einer weiteren Generierung ist auch das Ergebnis aktuell.
Ist es wirklich gewollt, dass man bei รnderungen im Master in jedem angebundenen Projekt noch einmal die Datenquellen aktualisieren muss?
Muss mann die Aktualisierung bei der Freigabe oder bei der Generierung noch einmal explizit anstoรen?
Viele Grรผรe
Benjamin
Server-Version: 5.1.311.65223, frisch aufgesetzt, keine Altlasten, neue Projekte
- Labels:
-
Developers
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Wir haben gerade in einem Projekt ein รคhnliches Problem, das habe ich aber nur am Rande verfolgt.
Eine Hoffnung ist, das die Version 5.1.415 Abhilfe schafft.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Wenn es wirklich ein FS Problem ist und kein konfiguratives Problem, dann wรคre ein Workaround-Skript, Modul o.รค. schรถn, bis es in einer spรคteren Version behoben wird. Nach Angabe unseres Kunden soll es wohl schon in der 5.0 so gewesen sein.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Benjamin,
was du oben geschildert hast entspricht dem aktuellen Stand.
Ich versuche das mal kurz zu erlรคutern:
Generell wird bei einer Generierung immer ein gewisser Zeitstempel (Revision) verwendet gegen den die Elemente des Projektes ermittelt werden. Im Master hast du mit der Erzeugung eines neuen Datensatzes neben dem Inhalt nun auch noch eine neue Revision im Projekt erzeugt (T1 - 28.04.2015 15:00). In deinem Zielprojekt wurde die letzten Stunden, Tage nicht gearbeitet und keine inhaltliche Verรคnderung vorgenommen, also ist die Revision hier z.B. (T2 - 26.04.2015 17:00). Bei der Generierung holt der Prozess die hรถchste Revision des Projektes, also z.B. T2. Im Falle der Datenbank werden nun alle Elemente ermittelt die <T2 sind. Du siehst also, hierdurch wird T1 ausgeschlossen. Das ist erstmal soweit ok, denn es gib einen ganz einfachen Workaround fรผr dieses Design.
Du kannst vor deiner Generierung ein Skript mit folgenden Inhalt einfรผgen und dann sollte es auch schon funktionieren:
context.getProject().createTaggedRevision(Generation,needed for external database content);
context.setStartTime(new Date());
Hier wird eine neue Revsion erzeugt mit dem aktuellen Datum und auch auch gleichzeitig dafรผr gesorgt, dass der Generierungsprozeร den aktuellen Zeitstempel erhรคlt.Das ist schon alles!
รhnliche Beitrรคge findest du auch hier in der Community https://community.e-spirit.com/message/10636#10636, https://community.e-spirit.com/community/developer/blog/2011/09/13/creating-time-dependent-content)
Innerhalb des Clients wird durch ein F5 automatisch der Cache aktualisiert, so dass รคhnlich wie im Skript oben die Revision wieder aktuell ist.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Daniel Witt schrieb:
Innerhalb des Clients wird durch ein F5 automatisch der Cache aktualisiert, so dass รคhnlich wie im Skript oben die Revision wieder aktuell ist.
Genau das ist das Verhalten, was ich selbst beobachten konnte. Unser Kunde schilderte aber auch, dass bei der Generierung nicht die aktuellen Daten gezogen werden.
Dabei wird bereits vor jedem Deployment wird dieses Skript ausgefรผhrt:
project = context.getProject();
project.createTaggedRevision("Generation","needed for generation of automatic changed content");
context.setStartTime(new Date());
Da meine Ansprechpartner vor Ort nun erstmal im Urlaub sind, kann ich das Verhalten selbst wohl erst Mitte Mai prรผfen. Vielleicht war es auch nur eine Fehleinschรคtzung aufgrund des Cache im Client.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Benjamin,
benรถtigst Du noch weitere Hilfe oder haben Dir die Antworten von Daniel 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
Marian
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ich kann fรผr die Version 5.1.410 bestรคtigen, dass das beschriebene Vorgehen funktioniert - also vielleicht war es zwischendurch ein Bug. Wenn es bei euren Tests nicht funktioniert, dann kรถnnte ein Update also allem Anschein nach helfen.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Die API hat sich in 5.2 geรคndert, dass Skript muss nun wie folgt aussehen:
project = context.getProject();
project.createTag("Generation","needed for generation of automatic changed content",null);
context.setStartTime(new Date());
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo zusammen,
wir setzen das Skript fรผr die neue Revision ebenfalls ein (Kommentar von Reinhard Lucas) und nutzen im gleichen Auftrag auch noch ein Skript zur Deaktivierung der Freigabe:
context.getProject().setUseRelease(false);
Scheinbar mรถgen sich die Skripte aber nicht. Denn sind die beiden Skripte im Auftrag hinterlegt, funktioniert die Deaktivierung der Freigabe nicht. Wir hatten die Reihenfolge der beiden Skripts bereits geรคndert, das brachte aber nur bis zum nรคchsten FirstSpirit-Update etwas.
Habt ihr das Problem auch beobachtet? Gibt es Tricks oder Empfehlungen um das Problem zu lรถsen?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo,
ich habe genau dasselbe Problem beobachtet. Zwei Bad Hacks auf einmal in einem Auftrag... das geht nun wirklich nicht ๐
Wir haben aktuell 5.2R12 drauf und ich mรถchte sagen, dass die Kombination der beiden frรผher funktioniert hat und erst seit irgend einer neueren FS-Version nicht mehr.
Gruร Heiko

