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

时间:2008-08-19 13:24:20

标签: sharepoint error-handling moss workflow

我在工作流程中有自定义操作,并希望在出现问题时向用户报告错误。这样做的最佳方式是什么?

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


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

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

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

4 个答案:

答案 0 :(得分:1)

当您抛出错误时,您的错误处理程序可以通过电子邮件发送给用户,或者如果列表很大,则更好,将错误状态添加到工作流程项目 - 我认为这是默认功能,但是会在那里提到错误。< / p>

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

答案 1 :(得分:0)

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

如有必要,您可以在该邮件列表中添加不同的工作流操作,即暂停2天,然后发送电子邮件。无论如何,取决于您的要求。

否则你可以使用一个自定义数据库表来实现几乎相同的东西,这样sharepoint可以为你完成大部分工作。

更新这可以打包为一项功能,并根据需要部署到每个站点。这种方法的优势(将列表项添加到列表,查询,警告用户以及通过电子邮件发送给用户)都内置于sharepoint本身。在这种情况下,您可以只关注自定义逻辑,同时让sharepoint关注实现细节。

答案 2 :(得分:0)

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

日志文件是最好的方式,这种方式只依赖于可用的文件系统 - 您不必担心在连接数据库时发生陷阱错误等。

莫罗

答案 3 :(得分:0)

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