1

我正在修改一些现有的 SPD WF,并努力解决一些概念,包括为什么 2 个看似相似的 WF 不会产生相同的输出。

你们中是否有人使用过 SharePoint Designer / Workflows 并且知道任何好的资源(比 MSDN 介绍更详细)或有关此事的提示。例如关于调试以及如何检查设置以及如何连接来自多个工作流的信息......

换句话说:想出你最好的 SPD WF 链接和提示 :o)

我目前无法选择其他解决方案,因此欢迎提供任何提示。我有关于 SharePoint Designer 工作流的 USPJ 特刊。这还不错,但那里肯定有更多好东西:o)

4

2 回答 2

1

从您的问题看来,您正在达到 SharePoint Designer 旨在解决的解决方案的限制。

确实没有调试支持,因为向导方法不需要它,但实际上我们知道这真的很有帮助!同样,连接工作流正在突破界限,为此我会考虑迁移到 Visual Studio。您可以考虑在适当的情况下开发自定义操作,作为创建完整 Visual Studio 工作流的解决方法或桥梁(这里是带有源代码的示例)。

我首先要看的 Web 资源是SharePoint Designer 团队博客(显然)和EndUserSharePoint.com 上的工作流文章

此外,具有合理数量的 SharePoint Designer 工作流内容的书籍:

于 2009-09-22T09:47:41.127 回答
1

我从编程工作流程和使用 SPD 部署它们中学到了以下内容。

1.不要依赖于在工作流标注中传递您需要的所有字段:定义看似合理的内容,但请记住,一旦您可以访问 SPList 项目,您就可以在工作流中围绕对象模型进行操作,而无需反复更改接口并重新部署。

即,一旦您在 .actions 文件中定义了这三件事并将它们传递给您的工作流程

public static DependencyProperty __ContextProperty = DependencyProperty.Register("__Context", typeof(WorkflowContext), typeof(YourWorkflowClass));
public static DependencyProperty __ListIdProperty = DependencyProperty.Register("__ListId", typeof(string), typeof(YourWorkflowClass));
public static DependencyProperty __ListItemProperty = DependencyProperty.Register("__ListItem", typeof(int), typeof(YourWorkflowClass));

您已设置为访问在部署时可能忘记显式传递的任何内容。

2. 直接使用上下文创建您想要的共享点项目的实例时要小心,因为您可能会在不知不觉中传递调用工作流的人的权限。即这样做

SPWeb tmpweb = __Context.Web;
SPSite site = new SPSite(tmpweb.Url);
SPWeb web = site.OpenWeb();

而不是这个:

SPWeb web = __Context.Web;

3.如果您没有将Visual Studio安装在与SharePoint相同的盒子上,则很难设置调试。

于 2009-09-29T14:41:16.517 回答