SharePoint工作流开发点滴(2)

开发第一个SharePiont工作流: HelloWorldSequential 的注意事项

HelloWorldSequential是一个入门级的SharePoint工作流,基本上照着MSDN的教程一步一步来就可以了 ,我写这篇文字的主要目的是将其中一些重要的步骤列举出来,这些步骤的错误处理将直接导致工作流失败 .

准备

HelloWorldSequential的开发环境如下,请确保您的开发环境与此相同或相兼容:

已部署好的可用的SharePoint Server 2007

.Net Framework 3.0(下载)

Visual Studio 2005 Extensions for Windows Workflow Foundation (下载)

ECM starter kit for Visual Studio 2005(下载)

Office InfoPath 2007 RTM 中文版

安装ECM starter kit之后如果出现项目模板丢失的情况请参考我的另外一篇文章<< Visual Studio.net 2005 新建项目对话框中项目模版消失的解决方案>>

添加SharePoint Workflow Actions到工具箱时选择Microsoft.SharePoint.WorkflowActions命名空间 下的控件.

Visual Studio项目

项目模板是SharePoint Server 下的 SharePoint Sequential Workflow Library.

添加并配置工作流活动时请注意所有活动都有一个Correlation Token属性,值得注意的是工作流本身 (Workflow),任务(Task)和修改(Modification)需要不同的Correlation Token.

创建强命名的程序集,因为您的程序集是要加入GAC的.

InfoPath表单

创建空白表单模板时要勾选仅启用浏览器兼容性功能.

在表单选项的安全和信任中,将表单的信任级别设置为域或者完全信任.

用于设置接收参数的xml文件中,接受参数总是以”ows_”开头.

修改组的名称,组的名称默认是MyFields,如果您想要为此表单生成类文件,那么类的名字就是组的名字 ,所以建议修改默认的名称(尤其当您的工作流项目中包含多张需要生成类文件的表单时).

为简单起见,将表单发布到项目文件夹内,否则在部署时需要特别注意.

发布表单时将可访问路径留空,否则安装工作流时会失败

部署

Feature.xml和Workflow.xml可以用插入代码段(Snippet)的方法生成内容,如果您发现您没有相关的代 码段,请参照我的另外一篇文章<< Visual Studio 2005中代码段丢失的解决方案>>.

Feature的ID和Workflow的ID是两个不同的GUID.

Install.bat文件中, 请用可以作为文件夹名称的字符串来替换MyFeature,最好不要包含空格,否则需 要手动将Install.bat文件中的路径前后加引号.

调试

更改了Feature.xml,Workflow.xml和表单文件之后需要重新安装工作流并重启IIS.

如果只是更改了程序集,只需要用新的程序集替换旧的,然后重启IIS就可以了.

时间: 2024-09-20 05:37:06

SharePoint工作流开发点滴(2)的相关文章

SharePoint工作流开发点滴(4)

最近在开发SharePoint工作流总是发生一个错误 :工作流开始之后便显示"已完成"或者开始之后报错" 内部错误". 查看当时的日志,发现下面的段落: 02/06/2007 10:31:03.92 w3wp.exe (0x0758) 0x0F3C Windows SharePoint Services Workflow Infrastructure 72eo Unexpected DehydrateInstance: System.Runtime.Serializ

SharePoint工作流开发点滴(5)

很多朋友在使用Visual Studio开发工作流时都遇到过工作流"启动时失败"的错误,我把我遇到这种情 况时的查错方法和大家分享一下,希望对大家有所帮助,也希望大家可以告诉我更好的方法. 首先在OnWorkflowActivated方法中设置断点来调试,检查断点是否可以成功暂停,如果可以,则可以再 检查一下OnWorkflowActivated中的逻辑代码. 如果断点处不停止就出现了"启动时失败"的错误,也就是说错误发生在工作流激活之前,这种情况就可 以排除代码的

SharePoint工作流开发点滴(7)

我们知道,SharePoint的工作流是通过任务来驱动的,在真实场景中,我们可能会希望工作流的任务 处理方式能够更加灵活,比如批量处理.通过Office Communicator等IM软件处理任务等等,这时候我们 就需要以编程的方式在外部完成任务. 按照正常的想法,SharePoint的任务列表也是一个SPList,所以我们会这样尝试: SPSite site = new SPSite("http://windstyle"); SPWeb web = site.OpenWeb(); w

SharePoint工作流开发点滴(6)

一直以来都被MOSS的工作流权限问题所困扰. 我们虽然将任务分配给了某人,但事实上,所有在任务列表中有编辑权限的用户都可以编辑该任务. 而我们并不希望用户能够看到不属于自己的任务. 我曾经尝试过采用以下两种方法解决这一问题,未果. 1.更改任务列表的视图. 通常我们会把工作流任务分配给某人或者某组,所以我的想法是将任务列表的"我的任务"视图和"按我 的用户组"视图合并为一个新的"所有我的任务"视图; 设置"所有我的任务"视图为

SharePoint工作流开发点滴(3)

在利用ECM Starter kit Beta2中的模板开发工作流的时候经常会切换到其它窗口,比如要为InfoPath 表单模板生成类文件,要安装工作流等等. 可不可以把这些工作都集成到Visual Studio.net 2005 IDE中呢?答案是肯定的,利用VS.net 2005 IDE 的外部工具功能,就可以轻松实现. 方法 点击工具菜单下的外部工具,将会弹出来一个非常容易理解的外部工具对话框,在这里可以进行外部工 具的添加,删除和修改以及排序的工作. 下面来说明一下怎样利用外部工具更方便

SharePoint工作流开发点滴(1)

模板(Template),关联(Association)和实例(Instance) 模板:部署到站点集中的工作流功能(Feature),用来描述该功能所包含的程序集和表单等信息. 关联:将工作流模板与列表(List)或者内容类型(Content Type)联系起来,并向工作流提供初始值或参 数.对应的表单叫做Association. 实例:在列表或内容类型项上启动的工作流.对应的表单叫做Initiation. 也就是说,实例是基于关联的,而关联又是基于模板的.一个列表或者内容类型可以拥有许多来自

SharePoint 2013开发入门:代码定义列表

在SharePoint的开发中,用Visual Studio自定义列表是经常会用到的,因为很多时候,我们并不会手动创建列表,而手动创建列表在测试服务器和正式机之间同步字段,也很麻烦,所以我们经常用代码来定义列表或者文档库. 尤其在工作流的开发中,我们经常会用到代码定义任务列表,或者历史记录列表,用来存储我们需要存储的相关数据.而在Visual Studio 2013中,定义列表也提供了模板,通过模板创建,我们很容易就可以定义需要的列表了. 下面,让我们简单学习下,如何使用VS定义自定义列表. 1

创建、部署和卸载SharePoint工作流解决方案包(WSP)

在Visual Studio 2005时代,Visual Studio的插件提供了一个批处理文件(*.bat)来部署 SharePoint工作流:在Visual Studio 2008时代,Visual Studio支持直接部署SharePoint工作流.虽然 使用Visual Studio 2008来设计.开发以及部署SharePoint工作流非常方便,但如果想要把开发好的工作 流部署到其他服务器,就会发现,Visual Studio 2008并没有将工作流生成为一个WSP文件,也没有提供 批

SharePoint 2013开发入门:WebPart入门

这是我们介绍SharePoint开发入门的第一篇,在这一篇里,我们会介绍SharePoint开发的几个关键物理路径,一些开发技巧和最基础的WebPart开发. 开发工具 在SharePoint 2013开发中,我们使用的是Visual Studio 2012/2013均可,但是VS2012要额外安装Microsoft Office Develop Tools for Visual Studio 2012,可以使用Microsoft Web PlatForm Install进行安装. 几个关键位置