SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




SharePoint Workflow-Fehler automatisch beheben

Unbeantwortet Dieser Beitrag hat 8 Antworten

Ohne Rang
5 Beiträge
Sh3va erstellt 24 Sept. 2013 12:00
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

ich habe ein Problem mit einem Workflow.
In der jetzigen Version kommt es immer zum Abbruch des Workflows, da der Workflow Einträge in SharePoint-Listen bearbeitet, aber ein Eventhandler im WorstCase dem WF die Berechtigung in dem Augenblick klaut. 

Die momentane Behebung ist das manuelle Beenden des WF und das manuelle Neustarten. 
Hat jemand eine gute Idee für einen Workaround? Das System wird in etwa einem Jahr ersetzt, bis dahin sollte es aber möglich sein, das ganze automatisiert hinzubekommen, oder?

Grüße,
Sh3va

Alle Antworten

Ohne Rang
242 Beiträge
Peter Oswald Als Antwort am 24 Sept. 2013 12:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

klingt irgendwie danach, dass die Bearbeitungsfolge unsauber getrennt ist. Wann feuert denn der EventHandler? Ist das ein VS- oder SPD-Workflow? Kann man hier keine Trennung erreichen, indem der EventHandler dann feuert wenn der Workflow seine Arbeit getan hat?

Ansonsten müsste ja quasi der EventHandler prüfen, ob der Workflow läuft bzw. abgebrochen ist und ihn dann erneut aufrufen...

Ohne Rang
5 Beiträge
Sh3va Als Antwort am 24 Sept. 2013 12:40
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Da hast du leider recht. Die Bearbeitungsfolge ist nicht getrennt. Beide werden getriggert, sobald ein Element in einer SharePoint-Liste geändert wird.

Es handelt sich um einen SPD-Workflow. Die Trennung bekommt man im Moment nicht so leicht hin wegen der Komplexität des Systems. Aus diesem Grund wird es auch mittelfristig eine überarbeitete Version geben.

Nichtsdestotrotz muss eine temporäre Lösung her, um diese Workflow-Fehler zu bereinigen. Auch wenn nur plump gesagt ein Knopf drückt werden soll und dann alle Workflows neu gestartet werden, die sich aufgehängt haben.

An den Eventhandler komme ich nicht dran, da dieser extern programmiert wird/wurde. Mir steht nur der SPD zur Fehlerbehebung zur Verfügung.

 

Ich weiß, das ist nicht der optimale Weg mit SharePoint zu entwickeln, aber wie gesagt. Das wird sich mit der neuen Version alles ändern.

 

Danke für die schnelle Rückmeldung.

Grüße,

Sh3va

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 24 Sept. 2013 13:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du könntest in den Workflow als erste Aktion eine Pause von fünf Minuten einbauen. Der Workflow wartet dann bis der EventReceiver seine Arbeit getan hat und macht erst dann seine eigene Arbeit. Dadurch sollte das schonmal getrennt sein.

Du schreibst oben, daß der EventReceiver u.U. die berechtigungen so setzt, daß dem Workflow der zugriff verweigert wird. Das kannst Du umgehen, indem Du im Workflow einen Identitätswechselschritt einbaust. Damit können Aktionen mit höheren Rechten ausgeführt werden.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
5 Beiträge
Sh3va Als Antwort am 24 Sept. 2013 13:55
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Andi Fandrich"]

Du könntest in den Workflow als erste Aktion eine Pause von fünf Minuten einbauen. Der Workflow wartet dann bis der EventReceiver seine Arbeit getan hat und macht erst dann seine eigene Arbeit. Dadurch sollte das schonmal getrennt sein.

[/quote]

Das wäre auch eine Möglichkeit, die ich schon angedacht habe. Das wäre wohl auch die letzte Möglichkeit, dass Problem kurzfristig zu beseitigen.

 

[quote user="Andi Fandrich"]

Du schreibst oben, daß der EventReceiver u.U. die berechtigungen so setzt, daß dem Workflow der zugriff verweigert wird. Das kannst Du umgehen, indem Du im Workflow einen Identitätswechselschritt einbaust. Damit können Aktionen mit höheren Rechten ausgeführt werden.

[/quote]

 

Ebenfalls eine Möglichkeit, wenn der Eventhandler nicht so arbeitet, wie er es im Moment tut. Aus welchen Gründen auch immer wurde er so programmiert, dass er für den Datensatz in der SharePoint-Liste ALLE Berechtigungen runterschmeißt, und dann komplett neu vergibt.

Aber vielleicht geht es doch? Kenne mich mit der Berechtigungsstruktur in SharePoint nicht allzu gut aus, und es würde trotzdem funktionieren?! Wie kann ich den Identitätswechselschritt einbauen?

 

Danke für die Antwort ;-)

Grüße,

Sh3va

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 24 Sept. 2013 14:37
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Sh3va"]dass er für den Datensatz in der SharePoint-Liste ALLE Berechtigungen runterschmeißt[/quote]

Du mußt nur dafür sorgen, daß der Identitätswechselschritt im Workflow als Websitesammlungsadminiztrator ausgeführt wird. Der hat immer die notwendigen Rechte.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
5 Beiträge
Sh3va Als Antwort am 24 Sept. 2013 17:04
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Also ich habe das mal versucht, aber das Problem bleibt weiterhin.

Ich beschreibe vielleicht mal, wie ich mir eine Lösung vorstellen könnte:

1. Selektierung der Workflow-Fehler (geht ohne Probleme)

2. Beenden der Workflows durch einen WebService (Gibt es einen, der das kann?)

3. Neustart des Workflows durch einen WebService (Ich glaube so einen schonmal gesehen zu haben)

 

Kann mir wer Tipps geben, wo ich sowas finden kann? 

 

Grüße,

Sh3va

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 24 Sept. 2013 17:32
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich bin zwar immer noch der Meinung, Du solltest lieber die Fehler beseitigen als an den Symptomen zu basteln, aber hier (http://spservices.codeplex.com/) gibt es eine JavaScript-Bibliothek, die über die Webservices auf SharePoint zugreift. Es gibt dort auch Funktionen für Workflows. Vielleicht kannst Du das, was Du brauchst dort herauslesen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
5 Beiträge
Sh3va Als Antwort am 24 Sept. 2013 20:14
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Da bin ich auch deiner Meinung. Nur ist eine Lösung quasi schon fertig, nur noch nicht scharf gestellt. Es geht eben auch darum, generell WF neuzustarten, wenn ein Fehler auftritt, nicht nur bei diesem konkreten Beispiel den ich hier beschrieben habe.