3

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

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


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

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

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

4

4 回答 4

1

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

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

于 2008-08-19T17:03:41.557 回答
0

Personally I would log it to either a log file or the event log depending on the issue. I think storing it using a users permissions would be a bad idea, what happens if that user does not have the correct rights? or worse still they get elevated permissions by browsing the list in explorer view?

The log file would be the best way, that way you rely only on the file system being available - you dont have to worry about trapping errors happening whilst connecting to the database etc.

Mauro

于 2008-08-19T14:29:27.390 回答
0

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

如有必要,您可以在该消息列表上添加不同的工作流操作,即暂停 2 天,然后发送电子邮件。不管怎样,看你的要求。

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

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

于 2008-08-19T13:44:59.210 回答
0

If you need the user to take some action as a result of the error (e.g. retrying the workflow) is it possible to create a task for that user with information on the error and the location of the workflow?

于 2008-09-18T08:16:06.303 回答