从SharePoint工作流报告错误的最佳方法是什么?

时间:2020-03-05 18:40:43  来源:igfitidea点击:

我在工作流程中有一个自定义操作,想在出现问题时向用户报告错误。最好的方法是什么?

UPD:理想情况下,我想将工作流程置于错误状态并将消息记录到工作流程日志中。这似乎不可能。我能找到的最接近的是什么?我想要一个可重用的解决方案,在SharePoint Designer中使用我的自定义操作时,用户可以轻松地进行设置。

在问题中添加了更多详细信息。

@mauro负责存储错误,但是如何以有意义的方式向用户显示错误?

@AdamSane这似乎是一个相当脆弱的解决方案。不必在单个站点上设置一次。我需要其他人可以使用SPD添加的内容。

解决方案

回答

将错误添加到具有该用户名的隐藏列表中。在列表上(对于用户)设置可见性以仅读/写他们自己的值。然后使用自定义Web部件或者FlexListViewer查看该列表的内容并将其显示给用户。他们确认该错误后,将其从列表中删除。

如有必要,我们可以在该消息列表上添加其他工作流操作,即暂停2天,然后发送电子邮件。无论如何,取决于要求。

否则,我们可以拥有一个用于几乎同一事物的自定义数据库表,这样,sharepoint会为我们完成大部分工作。

更新可以将其打包为功能,并根据需要部署到每个站点。这种方法的优点(将列表项添加到列表,查询,提醒用户以及向用户发送电子邮件)都内置在共享点本身中。在这种情况下,我们只能专注于自定义逻辑,而让共享点专注于实现细节。

回答

就个人而言,我会根据问题将其记录到日志文件或者事件日志中。我认为使用用户权限存储它不是一个好主意,如果该用户没有正确的权限怎么办?或者更糟糕的是,他们还是通过在资源管理器视图中浏览列表来获得较高的权限?

日志文件是最好的方法,这样我们就只依赖于可用的文件系统,而不必担心在连接数据库等过程中会发生陷阱错误。

毛罗

回答

当我们引发错误时,错误处理程序可以向用户发送电子邮件,或者如果列表很大,则可以将错误状态添加到工作流项目中,我认为这是默认功能,尽管在那里会提到错误。

http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/fault-handling-in-sharepoint-workflows/

回答

如果由于错误而需要用户采取某些措施(例如重试工作流),是否可以为该用户创建一个包含错误和工作流位置信息的任务?