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

问题描述:

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

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


增加了问题的更多细节。

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

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

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

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

否则,你可以有一个自定义的数据库表,你使用几乎相同的东西,这种方式共享点为你做大部分工作。

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

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

日志文件将是最好的方法,你只依赖于文件系统是可用的方式 - 你不担心捕获错误发生,同时连接到数据库等

莫罗

当你抛出错误时,你的错误处理程序可以通过电子邮件向用户发送电子邮件,如果列表很大,则可以更好地向工作流程项目添加错误状态 - 我认为这是默认功能,但因为错误会在那里提及。

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

如果需要用户采取一些行动作为错误的结果(例如重试工作流程)是有可能创造一个任务有关错误信息的位置用户工作流程?

+0

这就是我想要做的,但有问题实际上得到错误: http:// *。com/questions/15053/how-to-get-out-parameters-working-in-sharepoint-workflows and http://*.com/questions/33349/looking-up-document-library-items- IN-A-的SharePoint工作流 – 2008-09-18 14:25:45