【问题标题】:What's the best way to report errors from a SharePoint workflow?从 SharePoint 工作流报告错误的最佳方式是什么?
【发布时间】:2008-08-19 13:24:19
【问题描述】:

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

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


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

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

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

【问题讨论】:

    标签: sharepoint error-handling moss workflow


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      日志文件将是最好的方法,这样您只依赖可用的文件系统 - 您不必担心在连接到数据库等时捕获错误。

      毛罗

      【讨论】:

        【解决方案3】:

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

        如有必要,您可以在该邮件列表上添加不同的工作流程操作,即暂停 2 天,然后发送电子邮件。随便吧,看你的要求了。

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

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

        【讨论】:

          【解决方案4】:

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

          【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-12-08
          • 2018-02-01
          • 2020-07-06
          • 1970-01-01
          • 2010-09-15
          • 1970-01-01
          相关资源
          最近更新 更多