设为首页 收藏本站
查看: 1393|回复: 0

[经验分享] 一步一步学习sharepoint2010 workflow 系列第一部分:sharepoint工作流简介 第1章 在你的业务流程上使用sharepoint工作流

[复制链接]

尚未签到

发表于 2015-9-24 08:53:21 | 显示全部楼层 |阅读模式
  注意:我的系统使用windows2008R2中文版和sharepoint2010中文服务器版本,所以在文章的图示中,我会使用原图和我系统中的中文贴图
  
  业务流程总是每天围绕着我们并且影响重要的雇员。无论你喜欢还是不喜欢,在公司你的工作在很大程度上依赖于流程来完成某些事情和获取盈利的。例如在快餐店,遵循特定的流程将原料转化为成品的汉堡包。

工作流是管理业务流程执行的系统。他们解决许多工人面临的最令人不安的问题。汉堡制作过程很简单,但没有任何大型企业复杂的业务流程的疑问,它可以确定什么时候进程已取得进展什么是延缓它。  考虑怎么业务流程常常阻碍是因为沟通不畅。你的业务流程是死是活完全由电子邮件决定?电子邮件已经成为每件事情默认沟通方法,从沟通和决定到任务和文档。考虑一个流程的运行,当一个新的员工入职到你公司。该雇员需要一个新的账户,电子邮件,徽章,电话号码,福利,直接存储(解释一下:雇主就能通过电脑直接将款子打入雇员的银行帐户,因为这样有时会降低支票帐户收费),把所有的事情全部完成需要涉及很多人通过电子邮件沟通。不可避免的是有些事情被丢失了。电子邮件为小公司工作,如果每天有50人在做这些事情呢?你需要一个系统,将管理所有这些活动,否则,你将混乱和效率低下。你需要一个工作流。
   本章定义工作流,并显示它如何与您的业务流程关联。我们将谈论工作流程如何在Microsoft® SharePoint平台使用的功能和SharePoint工作流的架构。当你了解到这些基本知识,我们将更详细的去了解在SharePoint构建工作流的工具和应用,你会发现许多选项。除了这个介绍章节是您的业务流程从哪里来。本书的其余部分是关于在SharePoint平台上建立贵公司的工作流程。所以,让我们确保我们都讲同一种语言。
  1.1 什么是工作流


工作流主要是描述为一个管理个人之间,办事处,部门或整个公司的工作交互的流程。有些工作的完成取决于众多人或系统。由于这些周期性的依赖关系是确定在公司业务流程出现。商业流程运行在整个公司往往是相似的,甚至在不同的类型的公司。

例如,一个管理费用报告的业务流程。大多数公司需要一个定义的业务流程来管理雇员的提交和审批每月的开支。在图1.1的工作流显示了一个员工跟踪他费用,然后把它们提交经理。
DSC0000.jpg 图1.1
  这个流程是最基本的业务逻辑,它决定员工如何进行报销和确定由谁进行批准。一个工作流能帮助流程按步骤执行。业务流程的运行不管是否有一个工作流管理它们。 一些业务流程是自包含的和易于人们管理的。另外还有大量复杂的和让人难以理解的。这些大量复杂的流程更能体现工作流在公司的价值。
  一家公司在经营过程中突出的地方目前正在执行的工作流程,工作流可以带来价值。工作流还可以帮助公司自动化其业务流程。再考虑报销流程的例子,如果你的流程允许所有食品开支少于100元被自动批准并发给报销,应付账款,工作流能管理这个业务流程,并自动批准,而无需涉及你的直线经理。
  工作流程也善于管理并行进程或多个实例同时运行的工作,例如,一家制造汽车制造商可能有一个制造发动机供应商建设的工作流程,另外有为设计的工作流,和为内部的工作流,然后父工作流管理所有的孩子的工作流程和启动另一个进程尽快推动工作流程完成。
  


可以很容易地看到您的工作流程中的投资将有助于管理和自动化贵公司的业务流程。尽量减少在企业的人力依赖过程总是可以节省公司的钱。由于人力成本总是一个公司生产的最昂贵的投资,让我们在我们组织的人尽可能有效地工作。这就是工作流的伟大的投资。   1.2 如何使用sharepoint帮助我们工作?
  SharePoint工作流是一个通过一系列操作的自动化相关的业务流程的对象。这个SharePoint的对象是一个文件或像一个公告或一个任务列表中的项目。例如,当您安装SharePoint审批工作流一个工作流程。您可以将这个工作流使用在文档库中的文件,并指定谁需要批准文件的使用,在另一个动作之前发生。
  sharepoint 文档库 (sharepoint Document libraries )
  sharepoint除了作为信息共享平台外,还可以作为文档管理系统。文档库在sharepoint中是个工具,你可以使用它上传文档到sharepoint
  
  费用报表系统(图1.1)是文档库中常见的例子在SharePoint中。用户可以上传到文档库的开支报告。上传的行动将启动对文件的审批工作流程,以及一系列相关人将收到一封电子邮件,说明他们需要批准的开支报告。当所有已批准的个人开支报告,该文件可以被路由到工资团队站点在那里由工资管理人员处理费用的报告。
   一个SharePoint工作流,如文档审批流程,可以设置管理业务流程,从开始到结束。工作流将处理所有的用户系统内的互动。它还将管理的执行工作流程中的点。此外,SharePoint将提供一个彻头彻尾的开箱用户界面,工作流状态的报告,或者更具体地说,谁必须采取行动对工作流程才能继续进行,或者如果它已执行完毕。
  这个开箱即用的体验在sharepoint上来管理你的业务流程是让人信服的,因为它提供了用户界面和其他工作流,如安全性,报告和日志。这些功能使sharepoint工作流和你的业务流程形成一个强大的组合。
  sharepoint工作流另外一个伟大的实力是个人不需要精通技术可以通过浏览器窗口配置他们的工作流程。 再次考虑开支报告。如果一家公司从头开始建立这个系统,将花费更多的时间和金钱,因为他们不需要所有SharePoint开箱组件。相反,您可以使您的最终用户建立这些业务流程,最低保证 他们需要的是一个浏览器,可能是几分钟。这是符合成本效益的!


在图1.2中,注意,您可以管理的文档库的设置它包含费用报告。 DSC0001.jpg 图1.2


在库设置(Library Settings)选项,工作流设置在管理标题的权限菜单下的链接。在工作流设置“页面(图1.3),你可以添加一个  工作流给库。选择“添加工作流”选择一个你想要的。这是就是这么简单!
DSC0002.jpg 图1.3
   在添加工作流的库和启动的工作流程,将显示一个新的列(图1.4)在文件上的工作流程运行
DSC0003.jpg 图1.4


本列将跟踪执行点的工作流程。工作流程可能会中途的过程中,等待用户交互。经理可能需要批准的费用,才可以继续。此状态将显示在新列如经理批准之前,在完成的工作流程后,将显示在此列 。  
  1.3 作为技术平台的Sharepoint


我们一直在讨论从商业角度看,在SharePoint执行工作流。这只有停留在SharePoint workflow foundation表面。SharePoint工作流利用一个独立的平台,名为Windows工作流(WF),这是。NET3.0应用程序开发框架的一部分。此平台上有许多应用与SharePoint完全无关,你从未SharePoint互动也可以使用WF构建各种启用工作流的业务应用程序的。 SHAREPOINT好处是为应用程序开发人员提供强大的用户界面和提供所需的持久性服务运行所需的WF工作流。这意味着,SharePoint将管理的持久性工作流的,如果它变为空闲,并提供一个用户界面,最终用户可以来启动和停止的工作流程,并确定工作流执行。例如,开支报告工作流程需要持久化,因为它正在等待一个经理批准 。

SharePoint也有开箱即用的现成的编程上的工作流层(图1.5),像SharePoint Designer中的工具,你可以自定义这些工作流如果他们没有满足你的要求。如果您确定一个自定义工作流是必要的,重要的是要考虑的自定义什么类型的工作流满足你的需要。 WF架构和SharePoint支持的两种类型-顺序工作流和状态机。每个类型支持独特的业务类型流程。在我们深入探讨这两种类型之间的差异,让我们来看看foundation架构。 DSC0004.jpg 图1.5
   1.3.1 Windows Workflow Foundation的架构
   WF架构是建立在三个主要的服务层:宿主层(第一层),运行时层(第二层),和编程层(第三层)在图1.5。你可以说,SharePoint工作流坐在第三层的顶部进行服务。开箱即用的工作流,SharePoint Designer中的工作流,Visual Studio的工作流,以及我们的开支报告的例子将建立在这个平台的顶部.

宿主层   工作流是不是一个应用程序在运行过程中需要一个宿主进程。同样地,如果 你在服务器上安装.NET框架,你没有商业应用程序 当您单击完成安装向导。 WF将作为一个平台被建立。 从托管的角度来看,WF需要应用程序来实现几件事情来保持正常运行。
  正如前面提到的,应用程序所需的一部分是宿主进程。 应用程序还必须提供持久能力。通常是一个工作流程长时间运行,这意味着它可能会开始,然后暂停了一段时间,甚至可能 许多个月。工作流等待一个动作发生时,工作流程的状态,需要持久化,当动作发生时,工作流将继续运行。
  宿主层的责任的另一个领域是提供定时和跟踪 能力。如前所述,工作流可能会被暂停,因为它等待 外部行动发生,也可能是有时限的。例如,可能 开支报告工作流程分配的任务经理批准这个报告,但 七天的任务未完成。在这一点上,工作流被唤醒,并重新分配 任务给某人。这也涉及到跟踪,在这你会想 要知道,或跟踪,在这个过程中,工作流目前正在执行。简而言之, 这是宿主部分的计时器的责任和跟踪方面 的过程。交易是在该另一宿主框架的重要方面, 你可以杠杆交易的推出工作流返回到以前的状态,如果一个错误 发生。
  运行时层

这层代表与WF的所有核心服务。例如,在运行时 跟踪,调度和持久性服务,是贯穿所有WF关键活动 工作流的执行和生命周期的。此层接口 宿主层,用于连接外部世界的WF引擎。   编程层
   编程层是SharePoint开发人员的喜爱层,是他们需要担心的只有一层。这一层有开箱即用的活动(SharePoint Designer workflow 活动),可以在workflow执行各种功能,它允许自定义活动和规则进行工作流的互动。活动是工作流的基石。活动进行一系列的工作。工作流是一个结构,包含活动、管理的选择和活动的执行时间。规则允许开发人员可以使用Visual Studio工作流的活动以声明方式创建业务逻辑。例如,你可以创建动态逻辑的规则,然后,随后改变规则不会要求更新工作流的动态链接库(DLL)。在Visual Studio工作流程中SharePoint Designer中的条件是类似松散耦合。
  1.3.2 工作流类型
  工作流执行从一个到另一个步骤有两种方式。一种工作流是顺序工作流按照顺序执行工作, 另一个工作流是一个状态机,其中没有特定的顺序执行。顺序工作流始终向前进步,永远不会回到前面的步骤(图1.6)。
DSC0005.jpg 图1.6


另一方面,状态机,是从一个状态到另一个,直到移动逻辑的结论完成的工作流程。一个好的状态机的例子是一个缺陷跟踪流程跟踪在计算机程序中的错误(图1.7)。 DSC0006.jpg 图1.7


工作流启动时,该错误可能是放置在一个挂起状态,在那里等待开发人员分配到的错误并开始工作。此后,开发人员开始工作,并修复它,把错误设定一个最终状态。当一个错误是最终修复状态,测试人员确认结果。如果他们发现它不是不是最终的,他们将回退到挂起状态。这种能力让时光倒流到以前的状态只有使用状态机工作流。   有些业务流程将需要一个状态机有些则不会。需要全面考虑您的业务流程要求,然后再开始建立自定义工作流,因为顺序工作流难以改变成状态机工作流,反之亦然,这一点很重要。你通过这一步骤思考,你会发现,一些工作流程工具,只能做的顺序工作流(SharePoint Designer),而其他的工具,可以做两种类型(与Visual Studio)。如果你开始建立一个工作流程与工具,该工具不支持状态机,当你意识到你需要改变路线,你只能重新开始。底线是了解企业的​​要求来确定需要哪种类型的工作流程,然后再开始。
   1.4 工作流启用的sharepoint对象
  现在,您已经了解一个工作流程是什么,你可能会疑惑 工作流如何显示和共享信息。对于这项任务时,SharePoint 工作流程依赖于许多不同类型的对象,如列表,列表项,库, 文档,表单,内容类型,网站列,视图,Web部件,网站和网站集。 回到我们的开支报告的例子,文档库中文档上传时工作流运行。除了文件之外,工作流也可以运行在其他一些类型的sharepoint对象上。
  1.4.1 列表项
   正如文档,工作流可以运行在通用SharePoint列表项上。例如,您可以设置审批程序在公告列表(announcement List)上。有了这个设置,公告将不会显示给最终用户,直到他们批准。另一种有效的使用列表中的项目是任务列表和问题清单(都是开箱即用的SharePoint列表类型)。当一个任务或问题分配给某人,和个人解决的任务或问题,工作流的任务可能前进到另一个人负责核查它才可以完成定稿。如果那人发现错误,工作流可以重新分配返回到原来的用户的列表项。图1.8显示了工作流菜单项目列表项。
DSC0007.jpg 图1.8
  你可以通过这个菜单项,你可以在该项目上的启动一个新的工作流实例。
  1.4.2 InfoPath Form
   InfoPath表单当数据存储在表单库(图1.9),它被认为一份文件,它属于SharePoint对象的文档库类别。
DSC0008.jpg 图1.9
  


它的普遍附件在工作流的表单。举个实例,费用报告系统。通常情况下,公司要求员工使用一个标准的费用报告模板。公司对这些模板通常有特殊的要求和独特外观。在Microsoft Office InfoPath 2010的客户端应用程序是一种用户可以填写的有效的建立表单的工具。    InfoPath的优势在于它非常简单的创建表单,甚至对新手用户。如果你熟悉微软Word,你会很快的使用InfoPath。InfoPath给您可以灵活控制的外观和感觉的一种表单。infopath比Excel文件有更多的用户界面的灵活性。像微软Office文档,工作流可以被绑定到InfoPath表单,当用户在表单中的所有适当的地方填充,工作流程管理业务背后的过程,并获得批准或拒绝。我们讨论其他表单在本章1.6.4,第7章和第9章更详细的介绍。
1.4.3 内容类型
  在SharePoint内容类型是一个重要的概念,然而,他们已经 高度记载,在这本书并不会被非常详细覆盖。在A基本水平,内容类型是一个可重复使用的元数据和元数据的方法的包装块集合。 例如,假设你想在你的网站集中每个列表或者库有三个列 。而不是去每个列表手动添加每个列,您可以创建一个内容类型有三个列, 然后添加内容类型的列表或库。当你需要作出改变的内容这可以显着节省时间并提供大量的重用类型。
  此外,内容类型可以有一个或多个分配给它的工作流。 如果你有一个复杂业务流程同许多类型工作流程,需要同时执行, 部署工作流到内容类型可是一个好主意, 当一个工作流被部署到内容类型,工作流程的新实例 可以启动,该内容类型的列表项的不管在哪个 SharePoint列表里,这引入了跨多个列表的可重用性。

请注意下拉列表中的新的开支报告 DSC0009.jpg 图1.10   


这说明您如何可以使用内容类型允许多个不同的消费报告模板,例如,表单和工作流在HR部门的消费报告不同于销售部门。在这个事情下,需要两个不同的内容类型允许用户选择套用他们的表单和工作流。   1.4.4 sharepoint 站点
   您还可以绑定到SharePoint网站,然后将其称为网站工作流工作流。当所有其他的SharePoint对象的例子可以归结为列表项(是否是一个文档,表格,或内容类型),工作流部署到一个站点可以运行动作和做出反应,对所有列表,文档库和站点项。例如,一个网站,有许多文档库和许多文件。一个适合的工作流程,将在网站级别上运行,可以检查该网站内的每个文件,并确保所有的文件已路由对已经批准并且为空的拒绝。工作流程可以跨整个SharePoint网站执行,并从在浏览网站内容发起。
  1.5 开箱即用的sharepoint工作流


现在你有一个想法,所有类型的对象在SharePoint的工作流执行,我们应该进一步探讨的开箱即用的工作流程。在本章的1.2节,我们介绍了审批工作流。这是在SharePoint的定义的工作流之一。 SharePoint提供了六个工作流,最终用户可以配置在其网站上。你不需要程序员引入价值的工作流程到您的组织。这些工作流程可通过用户界面添加各种SharePoint对象并要求几乎没有任何配置。图1.11显示了开始一个新的工作流程在SharePoint的Excel文档的页面。    DSC00010.jpg 图1.11
   1.5.1 三态工作流(Three-state workflow)
  三态工作流是杠杆作用在问题跟踪列表。 问题跟踪列表跟踪通过3个状态-活动的(Active),审查(Ready for Review)和完成(Complete) 这个工作流程可定制和使用其他列表或自定义 SharePoint列表的三个状态的名字。
   1.5.2 审批工作流(Approval workflow)
   一个最简单的工作流程,审批工作流肯定是最受欢迎的。它 涉及路由SharePoint一块内容到所有指定的审批请求。 他们批准或拒绝的内容。提交过程可以是串行,或平行,审批可以 在任何时候批准。
   1.5.3 收集反馈工作流 (Collect Feedback workflow)
  收集反馈工作流获取提交文件的状态给平行成员。这个工作流程路由文档 到指定的团队成员,在这种情况下,每个人都可以权衡和贡献 他们的反馈意见上的文件。之后通过团队传阅,反馈 编译和提交通知。
  1.5.4  收集签名工作流 (Collect Signatures workflow)
  替代审批工作流程,审批过程中并没有 对文档的更改,收集签名工作流,将要求每个审批者 对该文件数字签名。之后这些签名收集到 工作流,采取脱机文件和批准 将仍然可以辨认。请注意,此工作流只能从Office发起 客户端,如Microsoft Office Word中。它不能在浏览器中发起。
  1.5.5 处置审批工作流 (Disposition Approval workflow)
  这个工作流程允许让您管理文档过期和保留。这使得 你来决定文件过期时会发生什么。是一个可选项,替代删除文件,归档,并发送电子邮件通知 。
  1.5.6 翻译管理工作流 (Translation Management workflow)
   使用此工作流程,协助手工流程转换办公室文件从一种语言到另一种。这个工作流工作在两个列表类型-翻译管理库和翻译人员列表。一份文件需要翻译时,上传到翻译管理库,和翻译人员在翻译列表接收任务来启动各自的语言翻译通过源文件。当所有的翻译任务的完成,翻译管理工作流完成。
  1.6 建立自定义sharepoint 工作流的工具
   在SharePoint的范围内,有许多工具为不同的受众建立您的SharePoint工作流时使用。其中有些是完全可选的。最终用户可能会喜欢SharePoint Design,但会被Visual Studio吓倒,Visual Studio可能是必须的,他们正在试图去了解。关键了解所有可用的工具,怎么做是有帮助的,每一个服务目的是什么。
  1.6.1 SharePoint Designer 2010
   SharePoint Designer是一个强大的工具,可用于自定义SharePoint网站。其许多独特的功能是用来改变网站的外观和感觉,创建,添加,移动Web部件,并带来列表数据和外部数据到SharePoint页面。你可以在SharePoint Designer中的很好的操作工作流。
  建立SharePoint Designer中的工作流程是一种受欢迎和普遍使用的 方法。该工具易于使用,因为它提供了一个向导般的体验给用户 (图1.12),比Visual Studio代码编辑器。
   DSC00011.jpg 图1.12


sharepoint Designer 不是一个工具对一般的用户来说,但是,微软将使用工具的用户分类在有能力的用户组(那些不是程序员,但是能足够精通其他微软办公软件的如Excel和Access的人群)。使用Sharepoint Designer 不像使用浏览器,工作会更简单和直观。这本书将涵盖Sharepoint Designer中的工作流,在第3,4,5有更深入的介绍。   1.6.2 Visual Studio.NET 2010
   尽管Sharepoint Designer 有高度可用性和可靠的工作流工具,你的业务需求可能需要更多比Sharepoint Designer 可以提供的。这时Visual Studio 就可以发挥作用了。 Visual Studio增加了你的工作流可以执行的活动类型方面的灵活性。这时因为Visual Studio 提供了一个完整的开发流程。而Sharepoint Designer 只是基于向导的。
  你拖活动的地方Visual Studio给你设计接口。 另外,每个工作流和活动将有自己的代码,你可以调用或扩展。 在Visual Studio中内置.NET 3.5框架,和和Windows Workflow Foundation的平台. Windows Workflow Foundation的工作流可 打包并部署到SharePoint.这将允许您以应付即使是最 复杂的业务需求。
  图1.13在Visual Studio中显示了一个工作流程看起来就像什么。各种 活动制定了工作流设计器界面。通过查看活动 名称和它们是如何彼此关联,你可以看到工作流 在做什么。
   DSC00012.jpg 图1.13
  1.6.3 Visio 2010
  Visio 2010 为Sharepoint 工作流实施者带来了很好的新功能-一个新的模板叫做Microsoft Sharepoint Workflow. 这个模板(图1.14)允许有能力的用户(spd)或者开发人员(vs2010)通过业务分析建立的自定义工作流模型。 在Visio早期版本,你能使用通用流程图表模板和添加形状和连接器到visio设计界面给基本事件流模型。 随着新的Sharepoint工作流模板,有能力的最终用户和开发人员能在visio中完成工作和导入到Sharepoint Designer然后再到Visual Studio。 这种重用,节省了时间和效益的要求。因为是完美的工具连接。如何实现一个visio2010 sharepoint 工作流将在第6章讨论。

DSC00013.jpg 图1.14  
   1.6.4 Forms
  表单和SharePoint工作流是一个强大的组合。 在业务流程中的许多数据在表单内被捕获, 业务流程反馈指定的值到表单。例如,对于开支报告工作流, 员工通常填写表单输入他们的开支。提交表单将启动一个业务流程以获取批准。 基本业务中无数的其他表单和工作流组合的都能被找到。常见的形式的例子包括 收集个人信息(健康保险福利),采购订单,发票,支付时间过期请求,请求新的Sharepoint站点, 和服务台票据。业务流程和表单形成很紧密的关系,和sharepoint工作流形成强大的组合。 表单数据保留和数字可用性,搭配这些关键业务流程的自动化, 实现组织的投资丰厚的回报。纸是过去,工作流程的未来!

  在SharePoint中,三个主要的工具是用于在建立工作流程可以执行的表单。在列表和库中添加元数据,你可以使用开箱即用的表单。对于更复杂的形式,您可以使用OfficeInfoPath 2010和ASP.NET表单。 InfoPath是一个极好的非程序员的表单设计工具为最终用户,而ASP.NET试图解决开发商面临最苛刻的要求。图1.15开箱即用表单的例子显示在SharePoint可用于收集来自用户的信息,并启动工作流。   DSC00014.jpg 图1.15


第7章提供详细构建自定义的InfoPath表单和在SharePoint Designer中的工作流使用表单。对于Visual Studio的工作流表单,请参阅第9章。    1.6.5 对象模型( object model)
  有时,您可能需要通过自定义代码以编程方式与工作流交互。例如,当有一个自定义的报告在经理的仪表盘上显示各种关键业务流程状态。另一个例子是,当你需要每周一次的基础上启动一个新的工作流,但你要自动启动该工作流和独立的人机交互。这些案件可以借助于 编程的代码部署通过各自的对象模型与工作流交互。对象模型技术也将被覆盖 在第12章中对此进行了更详细的说明。使用这些对象模型,你可以 :
  

  • 启动或停止在SharePoint对象的工作流程。
  • 获取运行的工作流在SharePoint对象名单。
  •   检测和删除挂起的工作流程。
  

  • 对工作流程的状态报告
1.7 新的工作流功能   
  
   随着SharePoint2010版本发布,一个新的功能工作流可用。这才是真正的自定义工作流,几个新的特点使开发工作流程更容易。举个例子来说,引入了可重复使用SharePoint Designer 2010中的工作流。随着SharePoint 2010设计工作流可以部署在一个可重复使用的流行,这使得设计者工作更有效率。在2007年的版本中,你不得不重新创建每个工作流实例并部署(Visual Studio的工作流除外)。在2010版本,您创建和维护一个在同一个地方的工作流程。此外,您可以安装它接收到许多列表和更新,如果有人编辑原有的工作流程。在除了可重复使用的工作流程,许多有用的工作流在2010中发布。各节概述了一些关键的改进。
  1.7.1 Visio 2010 SharePoint workflows
  在Office Visio2010的新功能将让SharePoint业务分析师高兴。 在Visio2010,你可以建模你的Sharepoint工作流,利用该模型以帮助激发业务审批 。最好的部分是,你已经固化高级别的流程,你可以导出工作流为模板并导入它到Sharepoint Designer 然后开始建立所有的步骤。这将大大提高 为开发人员的需求收集和转换的效率。见第6章 获取更多信息。
  1.7.2 Customizing the out-of-the-box workflows
  你有没有用过在SharePoint 2007开箱即用的工作流,但 它没有做到你要求它做的的呢?如果是这样,你一定会很高兴听到 这些开箱即用的工作流可定制,在SharePoint Designer 2010中(图 1.16)。更多信息见第5章。
   DSC00015.jpg 图1.16
  1.7.3 New actions and conditions in SharePoint Designer
  SharePoint Designer 2010中提供了一个新的开箱即用的条件和活动。 例如,你现在可以在工作流管理权限,以前你不能这样做 。此外,您还可以与记录中心 以满足您的保留策略。

1.7.4 Reusable workflows (可重用工作流)  正如在本节的介绍中提到,现在您可以范围内的各种对象上创建可重用的工作流程 并将它们部署到该网站或网站集级别被使用。主要的好处是,你不再需要保持 相同的工作流的多个副本。第3章告诉您如何建立一个可重复使用 在SharePoint Designer中的工作流。   

1.7.5 Site workflows  网站工作流的可重复使用的工作流的概念更进了一步。除了 能够运行在一个网站列表,库或列表项,网站工作流 可以在在网站上运行。一个很好的商业的例子是一个工作流程确保 整个网站的文件,无论在其居住的清单,批准。一个网站 工作流程可以遍历所有的库,并检查每个文件,查看 它是否已被批准或没有。 更多信息参阅第3章。
  1.7.6 Task processing customization
  大多数工作流任务委托给确定的人。当一个任务分配,工作流 通常等待该任务一个动作发生,然后继续工作流 处理。在SharePoint 2007中,任务处理的是静态的,你不能改变的 的开箱即用的工作流处理的任务,和他们相关的事件。 在SharePoint 2010中,您可以完全自定义流程后续任务事件的活动。当一个任务分配时,过期,被删除,并完成时活动 可以反应。当这些事件发生时,你可以注入你的自定义活动去转变任务处理流程。自定义SharePoint Designer中的工作流的任务是讨论 在第4章详细解释。在Visual Studio工作流任务,请参阅第10章 。
   1.7.7 Workflow templates in SharePoint Designer


在SharePoint2007中,你不能移动一个SharePoint Designer工作流从这个farm到另一个farm。所以,如果你有farm的开发,测试,和系列产品,不能将工作流的原型进行开发和提升它到产品。2010年版,让您保存工作流作为一个SharePoint解决方案包(WSP)的文件和导入和导出到另一个farm!   1.7.8 Viewing workflow status with Visio web access
   在SharePoint Server企业版提供一个有用的新的报告功能是通过Visio图表,以查看工作流的状态的能力。如果您第一次建立您的工作流在Visio 2010,然后导入工作流到SharePoint Designer中,你可以启用Vissio Web访问在这个工作流上。整个工作流的生命周期,Visio图表将动态更新,以反映目前正在执行的工作流程。请注意在图1.17的复选框。
   DSC00016.jpg 图1.17
  
   你可以看到,工作流获取并执行的轨道。在这种示例中,它已执行完毕。有关如何设置此的更多信息,请参阅第6章。
   1.7.9 Importing SharePoint Designer workflows into Visual Studio
  2010版本中来了一个令人惊叹的新功能,就是导出Sharepoint Designer 工作流到Visual Stuido(图1.18)。 之前的版本当一个需求确定时,你通常会创建一个Sharepoint Designer工作流,因为它很简单的就可以创建。 当一年过后,你发现你的需求变得很复杂,需要一个Visual Studio工作流。在2007版本中,你不得不重新创建Sharepoint Designer 工作流使用在重头创建的visual studio.现在,由于新的功能,你不会失去宝贵的时间去设计建立流程。
   DSC00017.jpg 图1.18
  
  1.7.10 Visual Studio 2010 environment improvements  vs2010 环境改善
  显然,使用visual Studio为Sharepoint 2010 建立自定义工作流已经大大简化。许多人都会同意在建立sharepoint2007工作流时, 需要努力的去创建工作流的包装,工作流本身的部署。使用Visual Studio2008创建Sharepoint2007工作流,你需要建立所有的功能 DDFS(批处理文件),manifests文件,keys,tokens,和GUID,这一切都是手工创建的。在Visual stdio2010中这一切都不需要你手工创建了, 它为你自动申城,所需的只是右键单击。如需详细步骤,请参阅第8章。
   1.7.11 Pluggable workflows  (可插入工作流)
  sharepoint2007 没有简单的方法使运行的工作流从外部网络接受更新。 随着新的可插入的能力。sharepoint2010工作流能执行到某一点,然后等待外部进程信息。 开发人员需要实现事件处理或web服务处理外部进程请求,然后响应到工作流本身的方法,通知它继续进程。 关于这一主题的更多信息,请参阅第12章。

1.7.12 New event handlers (新的事件处理)  Sharepoint2010 提供了一个 新的事件处理,在一个工作流初始化或完成做出反应的能力。 这些处理可能是外部工作流或者嵌入的工作流。例如,你可能要一些代码记录每一个资料库中的某种类型的工作流 的开始和完成。随着新的事件处理程序,这是很容易的。参见第12章,有关事件处理程序的更多信息。

1.8 Building custom workflow solutions (建立自定义工作流解决方案)  在你准备到后面的章节中,并准备启动建立工作流之前,最重要的是考虑需求的工作流是如何诞生、执行和完成的。 我们已经讨论了你可以使用许多工具来构建自定义的工作流,当然你可以仔细比较这些工具并且讨论工作流图形。 这在异界,你可以将会设计,选择范围,并选择创作工具为你的基本的业务流程。

1.8.1 Diagramming business processes (业务流程图)  当收集完应用程序的需求,你通常工作是自上而下的。 首先,你需要确定高级别的需求,然后你要获得更多更详细的,必要的需求。 sharepoint工作流也不例外。 你首先要建立高级别的业务流程模型。实际上,确定什么是你需要构建的? 当你收到批准从企业的利益相关者, 你可以考虑你将如何构建它。
  开始构建模型图,打开Visio 2010.你将发挥一个新的图表模板叫Sharepoint工作流。 你可能觉得不得不开始使用此模板。因为,你要建立的sharepoint工作流。 使用此模板会很容易得到。模板里有很多形状,清楚的呈现了Sharepoint知识。 获取创建列表项,发送文档集到仓库和等待字段更改的形状。为了sharepoint的人员这些可能不会搞乱。 然而,你可能不会想要用这些图,正非技术性的利益相关者面前。   

代替sharepoint工作流模板,开始于一个标准的流程图模板。 在流程图模板中,重点放在什么特别满足业务需要。 从开始你应该集中确定各种状态在工作流中可能会使用。 一个状态定义时间,当工作流等待一些事情发生时处理。 图1.19显示一个销售高尔夫球设备的购物车工作流的流程图模型。 在高级别,此业务过程中只有四个状态。   DSC00018.jpg 图1.19  
  1. Pending payment(等待付款)-当提交订单时,工作流等待付款。


2. Pending manufacturing(等待制造)-买方定制产品,从而导致工作流等待制造部门。
3. Pending shipping(等待运送)-在订单完成之前,工作流必须等待运送。这可能设计装配,包装和交付。
4. Fulfilled (完成)-履行的订单发货后,订单完成。  相应的工作流可定会更复杂比这个流程图。 但是这是一个好的开始。看到此图的人可以很快知道工作流将要做什么。 这个高级别的图被企业利益相关者接受,你可以移到下一个低级别。
  获取它到低级别的意思不是立即使用Visio创建Sharepoint 工作流模板。 首先,让我们展开四个状态。图1.20 显示付款贯穿的状态。
   DSC00019.jpg 图1.20
  
  等待付款状态,首先检查付款方式。如果付款是使用信用卡,检查信用卡。如果它通过检查,工作流等待到达检查邮件,并确认银行。 在信用卡或检查方法,如果付款清楚等待状态,工作流完成。否则一个不同的工作流处理坏支付启动,并终止当前工作流。
图1.20仍是比较高的级别。它将这件事变得易于处理。再次提醒,在早期处理中重点放在什么地方。 创建其他三个状态图和运行流程图让利益相关者通过。如果一路绿灯,你可能准备开始使用Sharepoint 工作流模板了。
  1.8.2 Identifying human interaction and SharePoint objects (识别人机交互和Sharepoint对象)
   现在你知道什么是高级别的业务流程了吧。它是将你的注意力转到如果去实现它。第一步是你采取的流程图,创建和确定你所期望的人机交互。人机交互可以上传一个文件,或者提交数据表格。你还必须考虑你的工作流将触碰的Sharepoint对象。在高尔夫设备电子商务的例子,工作流开始当提买方提交他们的订单。那些订单可能被记录日志到Sharepoint列表 和当一个新项目添加时你的工作流被自动启动。
  从人机角度上来看,让我们再次考虑等待付款状态。请注意,如果付款在检查,工作流等待检查到达的邮件,并明确银行。 这两个点都是例证。其中,人机交互,可以帮助工作流的进展。例如,邮件部门正在等待检查的工作流到来。 同样,应收账款的员工可以监视银行存款和通知工作流当检查通过。

做到这一点的方式之一是通过任务。之前的工作流等待检查到来,它可以创建一个任务分配给邮件部门里的某个人。 当邮件检查流程,他将编辑这个任务在Sharepoint中,通知工作流这个任务被接收。同样你可以分配一个任务给应收账款任何一个人,当 他们看到检查清除任务,那个人可以编辑任务。
人机互动的这些例子都说明了一个工作流等待一个 事件发生,然后再继续。你需要通过这些互动 以及如何告知工作流程进行。  这是一个能帮助设计Visio中高级的Sharepoint图模型。 这模板绝对适合自己设计的工作流程。任务的例子, 形状称为分配待办事项。通过拖放到图中的形状, 您所指定的工作流程将创建一个任务分配给某人。 图1.21展现我们原来高级别的流程图在Sharepoint 工作流模板中被创建。   
   DSC00020.jpg 图1.21
  
  你将注意到两个盒子为检查处理被替换 收集数据从用户的图形和分配待办事项图形。 你还会注意到图是细粒度的。注意电子邮件发送的形状,你可以看到如果付款失败。 首先,工作流发送电子邮件到付款失败的买家。然后创建列表项记录。 实际上,启动失败的工作流程是在其他地方定义的。在之后工作流启动,当前工作流设置它的状态时失败的付款并终止流程。 后面的三个状态将一点点开发出来。
  什么类型的人使用SharePoint工作流Visio模板? 在SharePoint中的每个形状的Visio工作流模板对应一个动作 设计工作流程。正因为如此,Visio图表,开发人员需要知道不少 有关SharePoint Designer中的工作流程位使用Visio工作流程的工作流程模型 模板。这就是为什么我建议,非技术人员使用的流程图 和更多的技术经验使用SharePoint工作流模板。 我的建议是,让非技术业务分析师重点高层次的业务流程, 让别人有经验的建立工作流在SharePoint工作流模板的设计工作。
   本节简要介绍了第6章,“自定义Visio的SharePoint,关于如何在Visio图表工作流程更详细的工作流。“看看第6章。此外,工作流程的最佳功能之一工作流模板被导入到Sharepoint Designer。这因为所有的行动和条件,是预先创建的,是一个很大的节省工作流开发

时间。   
  1.8.3 Determining the deployment scope (确定部署范围)
  随着工作流设计到现在处于一个低级别。它将我们的注意力放在工作流的范围。 范围包括几个不同的事情。首先什么让工作流运行。(例如,一个站点,一个文档,一个列表项,还是内容类型)? 其次,如果工作流需要重用,哪里能提供它(站点,站点集,还是farm)?
   在高尔夫设备的例子中,可以很容易的看到,工作流运行的顶部是列表项。这个列表本身可能是订单,并且每个订单(列表项)有自己的工作流实例。另外,一个工作流可以运行在一个文档上运行,一个内容类型上,或者站点本身。最后面的叫做站点工作流。工作流在运行在站点,而不是在一个项目上。


可重复使用的意思是你想用户可以在站点上和多个列表上添加工作流。例如,所有现成的开箱即用的工作流都是重复可用的。他们可以使用一次以上。我们的高尔夫电子商务示例不需要可重复使用,因为它满足业务一次性业务需要。如果需求需要重复,你要决定在哪个方位上部署工作流。这里涉及四个可能的选项,站点,站点集,Web应用程序和farm。  使用Sharepoint Designer或者Visual Studio可以在任何一个站点或者站点集创建工作流。 在Sharepoint Designer中,你能在一个单一的站点上创建一个可重用工作流。 如果你想工作流在全部站点集可用,你需要提升工作流到全局可重用工作流。 另外,如果你想工作流在全部的Web应用程序或者全部的farm可用, 你将需要Visual Studio 工作流 .
  1.8.4 Choosing appropriate workflow authoring tools  (选择合适的工作流创作工具)
   有一些工具可以来构建自定义工作流,但SharePoint Designer中能脱颖而出的原因是多方面的,包括它易于使用和速度。SharePoint Designer也有些是需要Visual Studio 进行补充的,重点是知道哪种工具能完成工作。
  SHAREPOINT DESIGNER
  SharePoint Designer首先有两个创作选项。SharePoint Designer工作流是声明的, 意思是工作流死扩展标记语言(XOML)基础上的,而不是编译代码(如Visual Studio工作流) 以下有6个令人信服的原因在使用SharePoint Designer 创建你的自定义工作流。
  ■ 它是容易学习的-语言和术语内工作流组件容易被理解,因为它是用容易理解的英语写的。 向导和熟悉的界面也可以使用。例如,当创建工作流电子邮件消息时,对话框结构类似于电子邮件客户端的样子。
  

■ 它是快速编写软件,一个典型的工作流使用复杂的编程语言可能需要一整天的开发。使用 SharePoint Designer可能只需要几分钟。这个速度在SharePoint Designer上影响大部分功能。    
  

■  它比之前的SharePoint Designer2007上允许用户更强大的创建工作流,新的版本包括许多更多功能和值得关注的精致的开发流程。它现在更容易的工作和移动工作流步骤。此外,还有更多的动作(Action)比以前,如实用的工作流,让你操作文本字符串,如他们的电话号码和管理人员名称的工作流。此外还有复杂的工具被引入。如平行块运行,它允许多个活动同时发生。所有的这些概念和功能都比之前版本更强大。   
  ■ 它的工作流能适应适度复杂的-它很容易配置你的工作流去做决定,使用所谓条件的组件。有些动作允许运行工作流修改数据和发送通知给用户。
  



■ 它不需要Visual Studio.NET编码或经验-Visual Studio是很强大的,它需要时间才能精通它。
SharePoint Designer2010中不需要代码但允许用户公共编程工具如变量,暂时存储数据以及功能(叫动作)。

  
来执行各种任务。SharePoint Designer学习曲线比Visual Studio要短的多。

  
  
  ■  它采用熟悉的界面-SharePoint Designer使用相同的界面和其余的Office2010,允许企业用户更迅速的使用。此外基于超链接配置过程将允许任何人熟悉。
  
   任何人去创建SharePoint Designer 工作流都将发现SharePoint Designer的价值。在过去,业务人员没有角色在开发的心软件功能中。SharePoint和SharePoint Designer已经改变这点,允许用户不用去写代码创建功能并能共享给其他用户。
   .Net开发人员将在谁能快速的创建复杂的工作流留下印象,他们可能一直在寻找在设计初期能创建一个新工作流, 然后导入Visual Studio.net 添加更多的功能,产生的结果比使用Visual Studio.NET从始至终的创建工作流要快的多。 这个过程是辅助在使用SharePoint Designer创建好工作流,然后可以导入到Visual Studio。
   很多企业有一组人希望知道业务流程好但不要开发。这些用户赏识容易的转换已存在的流程到SharePoint 工作流使用SharePoint Designer.
  最后,SharePoint管理员和高级用户可能会发现SharePoint Designer2010 工作流更大的价值。 这是因为他们经常问快速转化业务需求到SharePoint解决方案使用什么。
   VISUAL STUDIO WORKFLOWS
   当你意识到你需要一个工作流,并且你正在考虑使用SharePoint Designer因为它比较易于使用。重点是比较Visual Studio工作流过程。两者都有利弊,应该在确定使用某一个之前提出意见。Visual Studio工作流在第8章详细讲解。


最重要的是考虑哪个技术能熟练的开发工作流。SharePoint Designer主要为有能力的用户和站点管理员使用。Visual Studio主要为有编程背景的开发人员使用的。如果你没有任何的.NET编程背景资源,那么SharePoint Designer是你最好的选择。请注意,SharePoint Designer带来一些开箱即用的功能,但是这些功能很宽泛,它可能不能适应你的复杂业务需求,这可能需要你从组织外寻找一位.NET开发人员。 DSC00021.jpg
  
  



第一个区别已经提到,SharePoint Designer是一个无代码环境,Visual studio是代码中心环境,这是明显的区别。
第二个区别是,SharePoint Designer只支持顺序工作流。这可能是个问题因为许多业务程序不能获取顺序 但从一个状态到另一个预知状态。例如,考虑计算机程序的bug跟踪系统。一个错误可能会被放入等待状态, 等待开发人员解决bug。这个开发人员开始工作并修复bug,将bug的改变。伺候测试者确认改错误被终结和发现 它没有解决,让它回退到等待状态。这种能力是状态机工作流,而不是顺序工作流,所以SharePoint Designer 不能作为可行性选择。


1.9 真实的例子
第1章  采购订单,并完成工作流( Purchase order and fulfillment workflow)
在第一章结束。此工作流概念架构从开始到结束。你会得到一个好主意的决定,并用于规划和设计自己的自定义业务的技术的过程。
第2章  Requirements document workflow
这个简单的例子,使用三态工作流编译 并获得批准 软件需求文档 应用程序。
第3章 PTO request workflow
这SharePoint Designer工作流允许用户提交带薪休假(PTO)的要求,并得到经理的批准请求。
第4章 Capital expenditure request workflow
我们建立一个表单,允许用户提交一个资本开支 要求时,他们需要一个新的公司主动资金。一 自定义任务的过程中使用的请求得到批准。
第5章 Document sets, security and expense reports,and sales order external data workflow
本章有三个例子。第一类包括演练 如何发送一个文档集包含销售演示 为保留记录中心的材料。第二 涉及的开支报告的工作流程,管理安全。 用户可以上传他们的费用报表,和SharePoint 设计工作流程的改变报告的安全,所以只有 管理人员可以看到和批准或拒绝的费用。最后 例子是一个SharePoint Designer工作流,跟踪销售 外部SQL数据库中存储的订单。工作流使用 商业连接服务(BCS)和外部内容类型 连接到外部数据。
第6章 Training request workflow
Visio 2010中使用的模型训练要求的工作流程。 工作流程是在Visio创建,它的导入到SharePoint Designer,然后发布到SharePoint。
第7章 Expense report InfoPath form
InfoPath是用于创建自定义的开支报告的表单 用户可以输入和发布他们的开支。这是一个很好的处理 为任何新的InfoPath。如创建高级的InfoPath主题 从SharePoint数据的动态下拉菜单,定制开箱即用表单,以及工作流初始表单 也包括在本章点设计工作流程。
第8章  Maintenance order fulfillment workflow
使用Visual Studio创建的工作流来管理履行大学宿舍维护请求
第9章  Service request workflow
使用Visual Studio创建一个履行服务请求的技术服务台。 例如在很大程度上依赖于自定义InfoPath和ASP.NET表单为请求 。
第10章 Capital expenditure request workflow
创建和第4章类似的工作流,只是在Visual Stido中,而不是SharePoint Designer中 这是一个良好比较两者的创作工具。
第11章  Create custom subsite action and subsite exists custom condition
一个自定义Visual Studio工作流活动和条件被创建 然后发布到SharePoint Designer 为有能力的最终用户。 该动作约束子站点通过SharePoint Designer 工作流 。
第12章 Pluggable workflow
本地服务工作流被创建去发送和接受信息从外部。 这个例子显示一个事件处理沟通和一个运行的工作流实例 。

  下一章
  
  
一步一步学习sharepoint2010 workflow 系列第一部分:sharepoint工作流简介 第2章 你的第一个工作流
    本人声明



  本博客内的文字和图片除标明出处和转贴的外,均系本人原创作品,如转载或使用,不是用于盈利目的,尽请使用,但请注明引自这里和作者的名字;有商业用途的,请与本人联系,协商后再作使用,否则我将采取法律手段维护自己的利益。谢谢合作。meiweijun@163.com  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-117975-1-1.html 上篇帖子: 使用JSOM创建一个SharePoint网站计数器 下篇帖子: SharePoint 2013 搜索——部署
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表