SP2010开发和VS2010专家"食谱"--第二章节--工作流

本章内容:

  1. 创建顺序工作流。
  2. 创建带有初始表单的网站工作流。
  3. 从工作流创建任务。
  4. 创建自定义任务表单。

Introduction

        根据国际工作流联盟(http://www.WFMC.org)标准组织,完全致力于流程,这样定义工作流:
        业务流程的自动化,整体或部分,其中文档、信息或任务根据一系列过程规则,从一个参与者传递到另一个参与者操作。
        简单说来工作流时管理业务流程执行的系统。组织应用工作流有以下原因:
1. 审批和跟踪;
2. 高效;
3. 连贯一致;
4. 更好客户支持。
        无论什么原因,它通过将业务流程打碎成小的活动,以逻辑顺序执行来应用。
        工作流中,活动是最小的可执行片段。以管理雇员事件和费用报表的业务流程为例。这里,当雇员提交报表时,通知被发送到管理者,做出批准或拒绝的决策。一旦完成,通知会发送回到雇员。业务流程中发生的每一步都被认为是活动。这里有三种:
1. 标准活动;
2. 控制流活动;
3. 容器活动。
        标准活动是执行像发送邮件,执行.NET代码或创建任务等的活动。控制流活动是用来作为决策点的活动,例如if-else、while循环等。这些活动要求你提供决策规则。这些规则可以被定义为基于声明或代码。声明的规则储存在拓展名为.rules的XML文件中。容器活动是可以主持其他活动,并创建综合活动。例如顺序活动,条件活动组等。一些控制流活动也是容器活动。
        SharePoint 2010 工作流是基于Windows Workflow Foundation(WF)。WF是.NET 3.5 Framework的一部分。使用WF,你可以生成许多启用工作流的应用程序,不需要和SharePoint互动。你的应用程序也可以主持其他工作流并执行它们。这样,你的应用程序必须管理被主持的工作流的生命周期。因为工作流可能是长期运行的过程,系统重启或重置不应该终结工作流过程。工作流实例状态依然被保持在数据库或XML中。主持工作流的应用程序叫宿主应用程序。宿主应用程序可以提供自定义的交流和其他服务,使得你的工作流域外部应用程序高效互动。宿主拥有workflow runtime engines,以及一些runtime services帮助工作流活动执行它们的功能。
        SharePoint 是一个宿主应用程序。提供runtime engine使工作流得以执行。有runtime服务如persistence服务--储存工作流时里状态到内容数据库。拥有communication服务管理SharePoint工作流上任务的沟通。任务是SharePoint域用户沟通的方式。事务服务也管理工作流中事务性情境,如出现异常时回滚到之前状态。。SharePoint也提供timer服务和tracking服务,保存工作流实例历史到历史列表。timer服务帮助自动一段时间后从无意义的状态重新工作流。在我们的例子中,如果管理者没有在5天内回应任务,我们就编写唤醒拖延活动给管理者发送警告。
        WF支持状态机和顺序工作流。SharePoint基于WF支持这两种类型。顺序工作流中,活动被以逻辑顺序放置,有明确的开始和结束。活动向流图一样一步步执行。顺序工作流中没有返回到之前步骤。书序工作流适用于不需要人互动的自动流程,像移动文档从一个库到另一个库、或以用户提交以后特定的顺序,系统自动进行审批、库存核查和发送通知到完成部门。它们也被用在当你像让用户遵从某种模式。状态机工作流在第三章节“高级工作流”中讲解。VS2010提供了模板开发这两种工作流。为了定义工作流,我们创建一个项目,并添加活动到工作流designer界面中来构建我们的逻辑流。
        SharePoint中,工作流定义可以与列表或文档库、内容类型和网站关联。当与列表或库关联时,工作流在项目上运行。你可以手动启动工作流或在新项目被创建或修改时自动启动。因为站点工作流没有指定运行的项目,所以必须通过点击链接这些外部事件启动工作流或者通过代码使用外部应用程序启动。
        当工作流和内容类型关联时,工作流可以在任何项目上启动,只要包含这个内容类型就,而与项目所属的列表或库无关。我们将在第四章节“列表定义和内容类型”了解。
网站工作流对于SharePoint2010中是新引进的。不依靠列表或库。存在于网站劫镖,并在网站中关联的列表或库上运行。这些类型的工作流通常用于安排维护工作或者需要与不同列表中多个项目互动的工作流中。
        状态机工作流和顺序工作流可以与之前列出的三种类别关联。你的业务要求是驱动因素,决定工作流类型,是否需要是网站或列表工作流。当关联时,你可以询问相关用户。这可以是配置信息,如审批组或数据连接字符串等,特定于工作流关联的网站或列表。通过提供表单,这样用户可以输入这些信息。这叫关联表单。你也可以向用户提供表单,在工作流启动实例中输入,及新建初始表单。初始表单用作获得用户输入。也被用作覆盖特定工作流实例的关联数据。任务表单用来在用户被分配任务时,呈现给用户。任务是SharePoint与用户互动的方法(关于执行的活动)。
        除了提供框架开发自定义工作流,SharePoint也提供许多开箱即用OOB的工作流,如审批工作流、三态工作流、收集反馈工作流、处置工作流等。
展开阅读全文

Git 实用技巧

11-24
这几年越来越多的开发团队使用了Git,掌握Git的使用已经越来越重要,已经是一个开发者必备的一项技能;但很多人在刚开始学习Git的时候会遇到很多疑问,比如之前使用过SVN的开发者想不通Git提交代码为什么需要先commit然后再去push,而不是一条命令一次性搞定; 更多的开发者对Git已经入门,不过在遇到一些代码冲突、需要恢复Git代码时候就不知所措,这个时候哪些对 Git掌握得比较好的少数人,就像团队中的神一样,在队友遇到 Git 相关的问题的时候用各种流利的操作来帮助队友于水火。 我去年刚加入新团队,发现一些同事对Git的常规操作没太大问题,但对Git的理解还是比较生疏,比如说分支和分支之间的关联关系、合并代码时候的冲突解决、提交代码前未拉取新代码导致冲突问题的处理等,我在协助处理这些问题的时候也记录各种问题的解决办法,希望整理后通过教程帮助到更多对Git操作进阶的开发者。 本期教程学习方法分为“掌握基础——稳步进阶——熟悉协作”三个层次。从掌握基础的 Git的推送和拉取开始,以案例进行演示,分析每一个步骤的操作方式和原理,从理解Git 工具的操作到学会代码存储结构、演示不同场景下Git遇到问题的不同处理方案。循序渐进让同学们掌握Git工具在团队协作中的整体协作流程。 在教程中会通过大量案例进行分析,案例会模拟在工作中遇到的问题,从最基础的代码提交和拉取、代码冲突解决、代码仓库的数据维护、Git服务端搭建等。为了让同学们容易理解,对Git简单易懂,文章中详细记录了详细的操作步骤,提供大量演示截图和解析。在教程的最后部分,会从提升团队整体效率的角度对Git工具进行讲解,包括规范操作、Gitlab的搭建、钩子事件的应用等。 为了让同学们可以利用碎片化时间来灵活学习,在教程文章中大程度降低了上下文的依赖,让大家可以在工作之余进行学习与实战,并同时掌握里面涉及的Git不常见操作的相关知识,理解Git工具在工作遇到的问题解决思路和方法,相信一定会对大家的前端技能进阶大有帮助。
©️2020 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值