sharepoint高效率工作流开发

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

本章主要阐述SharePointDesigner2007(SPD)的工作流应用及利用WF对SharePointDesigner工作流组件(动作和条件)进行扩展,讲解利用WF和VisualStudio2008开发工作流模板的方法。本章提供视频教程:采用SPD设计工作流的默认方式和定制后的方式。本章包括:n工作流开发概述n采用SharePointDesigner设计工作流nSharePointDesigner工作流的扩展n采用VisualStudio2008开发工作流模板7.1工作流开发概述SharePoint基于WF(WindowWorkflowFoundation)构建了它的工作流功能。WF是SharePoint工作流框架的基础,要深入了解SharePoint工作流的开发,首先应该了解WF的一些基础知识,本章对WF的技术细节并不会过多讲解。本节将讲述SharePoint工作流的基础知识,并介绍系统自带的工作流模板的使用和默认的工作流任务操作方式。7.1.1工作流开发环境的搭建如果使用VisualStudio2005开发SharePoint工作流应用,首先需要安装VisualStudio2005的WF扩展——VisualStudio2005ExtensionsforWindowsWorkflowFoundation,可以在以下地址下载:=5D61409E-1FA3-48CF-8023-E8F38E709BA6&displaylang=zh-cn。然后安装OfficeSharePointServer2007SDK。采用VisualStudio2005开发SharePoint工作流,无论是开发环境的搭建还是开发时调试和测试,都比较烦琐。VisualStudio2008已经发布正式版了,VS2008提供了对SharePoint工作流开发更好的支持,直接集成了开发、部署和调试。本章的示例将采用VS2008来进行。为了便于调试和测试工作流,选择直接在SharePoint服务器环境下开发,因此VS2008要直接安装在SharePoint服务器上。7.1.2SharePoint工作流的基本概念SharePoint工作流是一个预先定义好的对列表项或文档库文档的处理流程。一个工作流实例跟一个列表项或文档进行关联,工作流实例不能脱离列表项存在。当需要用户处理数据的时候,比如进行审批操作,系统会创建一个任务到某个任务列表中,审批用户操作列表中的任务来实现跟流程实例的交互。工作流实例可以在列表新建、修改时自动启动,或者可以由用户手动启动。MOSS支持两种工作流的开发方式。l利用SharePointDesigner可以设计简单的无代码顺序工作流。在SharePointDesigner中,可以直接创建跟某个列表或文档库关联的工作流,在工作流中,可以直接访问列表项的字段,获取字段的值作逻辑判断或者给字段赋值,给用户分配审批任务并动态生成审批界面。SharePointDesigner设计的工作流只能跟一个列表(或文档库)关联,单个工作流无法用于多个列表,不同列表(或文档库)的工作流处理逻辑即使一样,也只能分别进行设计。采用SharePointDesigner设计工作流的优点是操作简单,无须编译和部署,缺点是只能实现顺序操作逻辑,无法实现退回等循环逻辑,审批界面自动生成,也无法实现一些复杂的操作。7.2节将演示采用SharePointDesigner设计工作流的步骤。l利用VisualStudio可以开发复杂的顺序或状态机工作流。在VisualStudio2008中,可以直接在WF设计器中开发工作流,工作流开发好后,编译成DLL,然后采用Feature部署到SharePoint服务器,在网站中将Feature激活后,工作流即可使用了,可以把这种工作流关联到多个列表。所以又称VisualStudio2008设计的工作流为工作流模板。VisualStudio2008开发工作流的优点是能实现很复杂的流程逻辑,开发出来的工作流模板可以供多个网站、多个列表使用。流程任务的操作界面可以采用infopath或者直接采用aspx页面,这样就可以实现较复杂的页面操作。缺点就是开发部署比较复杂,对开发人员要求较高。7.1.3SharePoint工作流的操作方式SharePoint的工作流的默认操作方式并不适合用户的操作习惯,一般来说其他工作流产品的操作方式是用户在一个页面上完成所有操作,包括查看业务数据(被审批数据)、填写审批意见等。而SharePoint工作流的操作方式是:业务数据跟审批数据分离,业务数据可以用列表项或文档库中的文档来表示,用户审批的时候默认只看到审批页面,只有单击链接才能查看业务数据,这种操作方式对文档审批还是说的过去的,但是对列表数据的审批操作就有点“不够人性化”了。在实际的项目中,需要对用户的操作习惯进行引导。SharePoint默认提供了很多工作流模板,这些工作流模板跟采用VS2008开发的工作流模板操作上是一样的。下面看一下系统自带的“审批”工作流模板的使用。要在SharePoint中使用一个工作流模板,首先需要将工作流模板跟文档库或列表关联,操作步骤如下。Step1在文档库的设置页面单击“工作流设置”链接,如图7-1所示。图7-1工作流设置Step2在添加工作流页面中,选择工作流模板为“审批”,输入工作流名称为“文档审批”,单击“下一步”,如图7-2所示。图7-2添加工作流任务列表是用户存放工作流给审批用户分配的任务列表项的列表,可选择系统已经存在的任务列表或者新建一个任务列表。历史记录列表用户存放工作流运行工程中产生的日志信息。Step3在工作流参数设置页面中,选择任务分配对象为“串行”,输入两个用户作为审批者,选择“文档被拒绝”时取消工作流,选择“工作流完成后”为“更新审批状态”,如图7-3所示。单击“确定”按钮完成设置。图7-3设置工作流参数设置工作流参数页面又叫做工作流关联界面,本示例中的关联界面是采用InfoPath表单开发的,这个表单叫做工作流关联表单,7.4.7节将讲述工作流关联表单的开发。Step4为了方便审批用户的操作,需要将用户任务WebPart添加到网站的首页,如图7-4所示。图7-4添加用户任务WebPart工作流的配置操作已经完成,下面我们看一下这个工作流的使用。Step1在文档库中新建或上传一个文档,然后在下拉列表中选择“工作流”选项,如图7-5所示。图7-5选择“工作流”选项Step2单击“文档审批”工作流,如图7-6所示。图7-6选择工作流Step3在接下来的配置审批参数页面中,可以输入审批信息,如图7-7所示。再单击“启动”按钮。图7-7配置审批参数这个配置审批参数的页面在工作流启动(初始化)的时候出现,因此叫做初始化表单,可以采用infopath开发,在7.4.8节将具体讲述工作流初始化表单的开发。现在文档审批工作流已经启动,返回到文档库页面,可以看到文档库上多出来一个“文档审批”栏,如图7-8所示。通过“文档审批”栏中的链接可以链接到工作流监控和管理页面,如图7-9所示。通过工作流监控和管理页面,可以查看工作流任务的分配和完成情况,强制终止工作流。图7-8文档库中工作流链接图7-9工作流监控页面用第一个审批用户的账号登录系统,可以在用户任务Web部件中看到需要操作的任务,如图7-10所示。图7-10工作流任务单击任务链接,在接下来的任务操作页面中可以通过链接查看被审批的文档,通过下方的“批准”和“拒绝”按钮进行审批,如图7-11所示。图7-11任务页面任务操作页面又称为任务表单,可以采用infopath开发,在7.4.4节将具体讲述。用第2个审批用户的账号登录系统,进行批准操作。两个审批用户都批准之后,返回到文档库页面,可以看到文档审批的状态已经变成“已批准”,如图7-12所示。图7-12文档库7.2采用SharePointDesigner设计工作流SharePointDesigner可以设计无代码的工作流,对列表项或文档启用处理逻辑。SharePointDesigner只能设计出简单的顺序工作流,本节了解一下具体的操作方法。7.2.1列表项流程示例本节演示一个员工请假流程的设计:员工提交请假单,由审批人进行审批,审批人批准之后,自动添加一个日程到日历列表中,如果不批准,则邮件通知提交人。具体的操作步骤如下。Step1创建列表。新建一个自定义列表,名称为“员工请假”,添加如图7-13所示的栏。图7-13创建列表Step2启用列表的内容审批。通过“列表设置”→“版本控制设置”,启用列表的内容审批。设置“仅限可批准项目的用户”可以查看列表中的草稿项目,如图7-14所示。图7-14启用内容审批Step3新建工作流。用SharePointDesigner打开站点,选择“文件”→“新建”→“工作流”命令,如图7-15所示。图7-15新建工作流Step4指定工作流名称和启动方式。在定义新工作流界面中,输入工作流名称为“员工请假流程”,选择附加到“员工请假”列表,再选择“允许从项目中手工启动此工作流”,如图7-16所示。图7-16定义新工作流界面Step5添加审批步骤。将步骤名称改为“经理审批”,在操作中,选择“从用户处收集数据”,单击“此用户”链接,在弹出的对话框中选择一个审批人,如图7-17和图7-18所示。图7-17添加审批步骤图图7-18选择审批用户Step6设计审批步骤需要采集的数据。单击“数据”链接,在自定义任务向导中输入任务名称为“请假审批”,如图7-19所示,再单击“下一步”按钮。图7-19添加“请假申请”添加一个名称为“审批意见”的多行域,如图7-20所示。添加一个名称为“是否同意”的选项类型域,选项为“批准和拒绝”,如图7-21所示。图7-20添加“审批意见”域图7-21添加“是否同意”域以上的操作实际上是创建了一个任务内容类型,并且创建了其编辑表单,如图7-22所示。图7-22请假审批内容类型Step7修改审批任务ID变量名。通过添加“从用户处收集数据”动作创建了一个任务内容类型,在工作流运行的时候,会创建一个任务列表项,这个列表项的ID会被放到流程的变量中,以便从工作流中可以访问任务数据。我们把存放这个任务列表项ID的变量名修改为“请假审批任务ID”,如图7-23和图7-24所示。图7-23修改工作流变量名图7-24重新选择任务ID绑定到的变量Step8添加审批完成后的处理逻辑。再添加一个工作流步骤,名称为“审批完成”,如图7-25所示。图7-25添加审批完成步骤Step9添加判断条件。经理审批同意时需要批准列表项,并且将请假休息添加进日程列表中,首先需要添加判断经理审批是否同意的条件,查找到审批任务列表项的是否同意字段,进行判断即可。从“条件”菜单中选择“比较任意数据源”,如图7-26和图7-27所示。图7-26添加比较任意数据源条件图7-27比较任意数据源比较任意数据源条件是“如果值等于值”的形式,第一个值可以绑定到当前列表项的任意字段,或者是其他列表项的字段。这里我们要把它绑定到任务列表的“是否同意”字段。单击“值”,再单击“绑定”图标,在定义工作流查找窗口中,选择数据源为“任务”,选择域为“是否同意”,设置匹配值为任务ID匹配工作流变量中的“请假审批任务ID”,如图7-28所示。图7-28绑定到是否同意字段设置条件为任务的“是否同意”字段值等于“批准”,如图7-29所示。图7-29设置判断条件为“批准”Step10添加列表项审批操作。在“操作”中选择“设置内容审批状态”,并将内容审批状态设置为“已批准”,如图7-30所示。图7-30添加审批操作Step11创建日历信息。添加一个“创建列表项”操作,选择列表为“个人日历”(若不存在,则先创建此日历列表),将日历的标题设置为“请假”,将开始时间和结束时间绑定到当前列表项的相应字段,如图7-31所示。图7-31创建日历项Ste

1 / 88
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功