2008-08-19 6 views
3

Ich habe eine benutzerdefinierte Aktion in einem Workflow und möchte dem Benutzer einen Fehler melden, wenn etwas schief geht. Was ist der beste Weg, das zu tun?Wie können Fehler am besten aus einem SharePoint-Workflow gemeldet werden?

UPD: Idealerweise möchte ich den Workflow in den Fehlerstatus versetzen und eine Nachricht in das Workflow-Protokoll schreiben. Das scheint nicht möglich zu sein. Was kommt mir am nächsten? Ich möchte eine wiederverwendbare Lösung, die Benutzer bei der Verwendung meiner benutzerdefinierten Aktion in SharePoint Designer leicht einrichten können.


Weitere Details zu der Frage hinzugefügt.

@mauro, das sich um die Speicherung des Fehlers kümmert, aber wie zeige ich den Fehler dem Benutzer auf sinnvolle Weise an?

@AdamSane Das scheint wie eine ziemlich zerbrechliche Lösung. Es geht nicht darum, dies einmal auf einer einzelnen Site einzurichten. Ich brauche etwas, das andere mit SPD hinzufügen können.

Antwort

0

Fügen Sie den Fehler zu einer ausgeblendeten Liste mit diesem Benutzernamen hinzu. Setzen Sie die Sichtbarkeit auf der Liste (für Benutzer) so, dass nur ihre eigenen Werte gelesen/geschrieben werden. Verwenden Sie dann einen benutzerdefinierten Webpart oder FlexListViewer, um den Inhalt dieser Liste anzuzeigen und ihn dem Benutzer anzuzeigen. Sobald Sie diesen Fehler bestätigt haben, entfernen Sie ihn aus der Liste.

Bei Bedarf können Sie eine andere Workflowaktion für diese Nachrichtenliste hinzufügen, die eine Pause von 2 Tagen anzeigt und dann eine E-Mail sendet. Was auch immer, abhängig von Ihren Anforderungen.

Ansonsten können Sie eine benutzerdefinierte db-Tabelle haben, die Sie für fast die gleiche Sache verwenden, auf diese Weise Sharepoint funktioniert die meisten der Arbeit für Sie.

Aktualisieren Dies kann als Feature gepackt und bei Bedarf an jeder Site bereitgestellt werden. Die Stärken dieses Ansatzes (Hinzufügen eines Listenelements zu einer Liste, Abfragen, Benachrichtigen eines Benutzers und E-Mail an einen Benutzer) sind alle in den Sharepoint selbst integriert. In diesem Fall können Sie sich ausschließlich auf Ihre benutzerdefinierte Logik konzentrieren und Sharepoint-Fokus auf die Implementierungsdetails richten.

0

Persönlich würde ich es entweder in einer Protokolldatei oder dem Ereignisprotokoll abhängig von dem Problem protokollieren. Ich denke, es mit einer Benutzerberechtigungen zu speichern wäre eine schlechte Idee, was passiert, wenn dieser Benutzer nicht die richtigen Rechte hat? Oder schlimmer noch, sie erhalten erhöhte Berechtigungen, wenn Sie die Liste in der Exploreransicht durchsuchen.

Die Log-Datei wäre der beste Weg sein, auf diese Weise verlassen Sie sich nur auf das Dateisystem zur Verfügung stehen - Sie Trapping Fehler passiert, während die Verbindung mit der Datenbank usw.

Mauro

0

Wenn Sie den Benutzer benötigen eine Aktion als Folge des Fehlers zu nehmen (zB erneuter Versuch die Workflow) ist es möglich, eine Aufgabe für den Benutzer mit Informationen über den Fehler und die Position der erstellen Arbeitsablauf?

+0

das ist, was ich versuche zu tun, aber Probleme mit dem eigentlichen Fehler: http: // Stackoverflow.com/Fragen/15053/how-to-get-out-Parameter-Arbeits-in-Sharepoint-Workflows und http://stackoverflow.com/questions/33349/looking-up-document-library-items- In-einem-Sharepoint-Workflow –