2008-08-19 32 views
3

J'ai une action personnalisée dans un workflow et j'aimerais signaler une erreur à l'utilisateur en cas de problème. Quelle est la meilleure façon de faire cela?Quelle est la meilleure façon de signaler les erreurs d'un flux de travail SharePoint?

UPD: Idéalement, je voudrais mettre le flux de travail dans l'état d'erreur et consigner un message dans le journal de flux de travail. Cela ne semble pas possible. Quel est le plus proche de moi? Je veux une solution réutilisable, quelque chose qui est facile à configurer pour les utilisateurs lors de l'utilisation de mon action personnalisée dans SharePoint Designer.


Ajout de plus de détails à la question.

@mauro qui prend soin de stocker l'erreur, mais comment puis-je afficher l'erreur à l'utilisateur d'une manière qui a du sens?

@AdamSane Cela semble être une solution plutôt fragile. Il ne s'agit pas de mettre en place une seule fois sur un seul site. J'ai besoin de quelque chose que d'autres peuvent ajouter en utilisant SPD.

Répondre

0

Ajoutez l'erreur à une liste masquée avec ce nom d'utilisateur. Définissez la visibilité sur la liste (pour les utilisateurs) pour seulement lire/écrire leurs propres valeurs. Utilisez ensuite un composant WebPart personnalisé ou FlexListViewer pour afficher le contenu de cette liste et l'afficher pour l'utilisateur. Une fois qu'ils reconnaissent cette erreur, supprimez-la de la liste.

Si nécessaire, vous pouvez ajouter une action de flux de travail différente sur cette liste de messages, qui indique une pause de 2 jours, puis un e-mail. Peu importe, en fonction de vos besoins.

Sinon, vous pouvez avoir une table db personnalisée que vous utiliserez à peu près la même chose, de cette façon, sharepoint fait la plupart du travail pour vous.

Mise à jour Ceci peut être emballé comme une fonctionnalité et déployé sur chaque site selon les besoins. Les points forts de cette approche (ajout d'un élément de liste à une liste, interrogation, alerte d'un utilisateur et envoi d'un e-mail à un utilisateur) sont tous intégrés au point de partage lui-même. Dans ce cas, vous pouvez vous concentrer uniquement sur votre logique personnalisée, tout en laissant le point de partage se concentrer sur les détails d'implémentation.

0

Personnellement, je le connecte à un fichier journal ou au journal des événements en fonction du problème. Je pense que le stockage en utilisant les autorisations d'un utilisateur serait une mauvaise idée, que se passe-t-il si cet utilisateur n'a pas les droits corrects? ou pire encore, ils obtiennent des autorisations élevées en parcourant la liste en mode Explorateur?

Le fichier journal serait la meilleure façon, de cette façon on ne compte que sur le système de fichiers étant disponibles - vous n'avez pas à vous soucier des erreurs de piégeage qui se produisent tout en se connecter à la base de données, etc.

Mauro

0

Si vous avez besoin à l'utilisateur de prendre des mesures à la suite de l'erreur (par exemple, une nouvelle tentative du flux de travail) est-il possible de créer une tâche pour l'utilisateur avec des informations sur l'erreur et l'emplacement du workflow?

+0

c'est ce que j'essaie de faire, mais ayant des problèmes en train d'obtenir l'erreur: http: // stackoverflow.com/questions/15053/how-to-get-out-paramètres-travail-en-sharepoint-workflows et http://stackoverflow.com/questions/33349/looking-up-document-library-items- flux de travail in-a-sharepoint –