我正在努力修改一些现有的SPD WF并且与一些概念相混淆,包括为什么2个看似相似的WF不会产生相同的输出。
您是否有人使用过SharePoint Designer / Workflows并且知道任何好的资源(比MSDN介绍更详细)或有关此问题的提示。例如。关于调试以及如何检查设置以及如何连接来自多个工作流程的信息......
换句话说:提出你最好的SPD WF链接&提示:o)
我目前无法选择其他解决方案,因此欢迎任何提示。我有关于SharePoint Designer工作流程的USPJ特刊。它不错,但必须有更多的好东西:o)
答案 0 :(得分:1)
从您的问题中可以看出,您正在达到SharePoint Designer旨在解决的解决方案的极限。
确实没有调试支持,因为向导方法不应该需要它,但实际上我们知道这会有所帮助!同样,连接工作流程正在突破界限,我会考虑转移到Visual Studio。您可以考虑开发自定义操作(如果适当)作为解决方法或桥梁来创建完整的Visual Studio工作流(这里是examples with source code)。
我首先要看的是SharePoint Designer Team Blog(显然)和workflow articles on EndUserSharePoint.com。
此外,具有合理数量的SharePoint Designer工作流内容的图书:
Workflow in the 2007 Microsoft Office System:没有详细介绍使用SPD,导致使用Visual Studio(2005)构建工作流程。
Professional Microsoft Office SharePoint Designer 2007:启动,变量,步骤,条件,操作,注意事项。工作流程是许多人的一个章节。
Microsoft Office SharePoint Designer 2007 Bible:架构,条件,行动,管理,高级技术,批准。工作流程是许多人的一个章节。
答案 1 :(得分: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.在使用Context直接创建您想要的sharepoint项目实例时,请注意,因为您可能会在不知不觉中传递调用工作流程的人员的权限。即做这个
SPWeb tmpweb = __Context.Web;
SPSite site = new SPSite(tmpweb.Url);
SPWeb web = site.OpenWeb();
而不是:
SPWeb web = __Context.Web;
3.如果您没有将visual studio安装在与sharepoint相同的盒子上,则很难设置调试。