Search the FirstSpirit Knowledge Base
Guten Tag,
wir haben im Projekt ein Serverauftrag (läuft alle 15 Minuten automatisch), der einen Publizierungsauftrag für Strukturseiten, einen UX-Bridge-Aktivierungsauftrag und einen Publizierungsauftrag für die UX-Bridge über eine Contentprojektion hat.
Nun ist folgendes passiert:
1. Serverauftrag läuft
2. Erstellt Strukturseiten im Arbeitsverzeichnis
3. Publiziert seinen Ausgabe auf ein Netzlaufwerk
4. In der Datenquellen für die UX-Bridge-Contentprojektionsseite wird ein Eintrag manipuliert und freigegeben
5. UX-Bridge-Aktivierungsauftrag wird ausgeführt
6. Publizierungsauftrag für die UX-Bridge über eine Contentprojektion
Durch das 4. Ereignis wurden durch die UX-Bridge Informationen maniouliert, die wir für Strukturseiten aus dem 2. Ereignis relevant gewesen wären. Im Ereignis 5 und 6 werden dann aktuellere Informationen gesendet, wie wir noch nedd verarbeiten können.
Nun stellt sich uns die Fragen, wie wir dies verhindern können, ohnen einen extra Workflow zu schreiben.
Mit freundlichen Grüßen
Wo findet die Manipulation der Datensätze statt? Ich hatte dich erst so verstanden als fände die auch in einem Task des Auftrages statt. Jetzt scheint es aber woanders zu sein, korrekt? Wo passiert das?
Mir ist noch nicht klar, wieso sich die Revisionen unterscheiden. Du kannst aber mal im Kontext den Startzeitpunkt vor jeder Generierung explizit setzen. Sinnvollerweise auf den gleichen Zeitpunkt. Siehe Zeitpunkt der Generierung mit context.setStartTime() festlegen
Hallo Christian,
das sollte eigentlich nicht so sein. Der komplette Auftrag sollte auf demselben Stand laufen und somit Änderungen, die nach dem Start des Auftrags am Projekt vorgenommen wurden, ignorieren.
Wird eventuell innerhalb des Auftrags die Startzeit des Auftrags manipuliert? Anders kann ich mir das Verhalten nicht erklären.
Viele Grüße
Donato
Wir haben die Version 5.1.410.67084 und manipulieren weder den Startpunkt des Auftrages noch benutzen wir eine eigenen Verbindung zum Server für einen Generierungsauftrag.
Ich kann aus deiner ursprünglichen Beschreibung nicht genau ablesen, ob du hier von einem Auftrag sprichst, der nur mehrere Tasks enthält oder ob in eurem Szenario ein Auftrag weitere Aufträge anstößt.
Da habe ich mich wohl nicht gut ausgedrückt. 😞
Wir haben einen Serverauftrag der Aufgaben (Tasks), wie eine Generierungsaufgabe und UX-Bridge Aktivierungsaufgabe, beinhaltet. Der Serverauftrag stößt keine anderen Serveraufträge an.
In den Logs der Generierungstasks steht ziemlich am Anfang die Information, auf Basis welcher Revision die Generierung ausgeführt wird. Kannst du das für die beiden Tasks mal prüfen?
Ich warim Uraub daher kommt meine Antwort etwas später.
Ich habe mir die Logfiles angeguckt und eine Unstimmigkeit festgestellt:
Serverauftragkonfiguration:
1. Generierungsaktivität für HTML
2. Deploymentaktivität für das HTML
3. Skriptaktivität für die Aktivierung der UXB
4. Generierungsaktivität mit der Contentprojektion für die UX-Bridge XML-Nachricht
Die erste Aktivtäthat eine andere Revision als die 4. Aktivität, wenn ich zwischen Durch einen Datenquelleneintrag freigebe.
Wenn ich den Serverauftrag nochmals startet und nichts freigebe, haben 1. und 4. die gleiche Revision.
Wo findet die Manipulation der Datensätze statt? Ich hatte dich erst so verstanden als fände die auch in einem Task des Auftrages statt. Jetzt scheint es aber woanders zu sein, korrekt? Wo passiert das?
Mir ist noch nicht klar, wieso sich die Revisionen unterscheiden. Du kannst aber mal im Kontext den Startzeitpunkt vor jeder Generierung explizit setzen. Sinnvollerweise auf den gleichen Zeitpunkt. Siehe Zeitpunkt der Generierung mit context.setStartTime() festlegen
Wir geben einen Datensatz per Worfklow in FirstSpirit frei. Dieser startet einen Scrip, das wiederum ein FirstSpirit Modul startet. Dieses Script gibt den Datensatz nur frei. Es werden keinen anderen Daten manipuliert. Es erfolgt nur eine Freigabe. Die Daten des Datensatzen wurden schon vor dem Starten des Serverauftrage geändert aber nicht freigegeben.
Wenn ich context.setStartTime() nehmen würde, müsste ich mir die Zeit vom "Generierungsaktivität für HTML" Task abspeichern und später auslesen. Kann ich Variablen zwischen Tasks innerhalb eines Serverauftrages setzen und auslesen oder muss ich innerhalb eines Tasks den nachfolgenden Task manipulieren (also das Setzen von Scripttasks Variablen).