ich stehe erneut vor einer Herausforderung und suche nach euren persönlichen Erfahrungswerten.
Bisher habe ich workflows nur in visual basic geskripted. Dort wurde ein Session objekt erstellt und anschließend auf dieses „authentifizierte“ Sessionobjekt ein neuer Job angelegt.
Jetzt steht ich bei den neuen Javascript Serverjobs vor dem Rätsel, wie das Äquivalent aussieht.
Die Dokumentation gibt mir leider keinen Aufschluss und beim Ausführen des Jobs via job.run() erscheint lediglich die Fehlermeldung, dass der ausführende Nutzer nicht die entsprechenden Rechte besitzt ( dieser Nutzer ist ein Server_Root Nutzer).
Wie handhabt ihr JS Serverjobs in Workflow Serverevents?
in Server-Events ist man teilweise nicht als der Benutzer an sich unterwegs (nur wenn der Event bereits direkt vom Benutzer ausgeführt wurde), sondern als der Server_Root (meist id 3) welcher selbst keinerlei Rechte hat. Wenn man nun einen Job ausführt, muss man den User-Kontext zum passenden Benutzer wechseln.
Hierzu gibt es den speziellen Parameter $$$SwitchContextUserName$$$, $$$SwitchContextUserID$$$ bzw. $$$SwitchContextUserGUID$$$ über den man den gewünschten Benutzer Kontext angeben kann. Dabei kann es schnell zu ungewollten Rechteausweitungen kommen, daher diese Funktion immer mit Vorsicht verwenden.
hast du möglicherweise Flags=16 gesetzt?
Bei Jobs wie dms.GetResultList steuert dies, dass das XML als File und nicht als Parameter zurück gegeben wird.