|
5#
楼主 |
发表于 2008-10-8 11:29:18
|
只看该作者
2.根元素:RootWorkflowActivityWithData元素从根元素RootWorkflowActivityWithData的三个名称空间可以看出,SharePoint Designer设计的工作流需要Windows Workflow Foundation和Windows SharePoint Services 3.0共同支持.
3.替换IfElseActivity继续往下看,IfElseActivity元素表示我们添加的条件,它对应于WinWF中的IfElseActivity活动.在XOML中,WinWF元素和活动的名称是相同的.
在SharePoint Designer设计的工作流中,步骤总是SequenceActivity元素或者IfElseActivity元素.
所以这里我们将IfElseActivity元素替换为SequenceActivity元素.
IfElseActivity活动的每一条分支都是一个IfElseBranchActivity活动,我们不再需要它,把它修改为WhileActivity.
将IfElseBranchActivity.Codition改为WhileActivity.Codition.
这就是我们之前设计工作流时添加条件的目的,利用条件来生成我们需要的规则文件,因为在本文中,WhileActivity循环的条件也是finish=false.
现在原来的IfElseActivity已经被修改为SequenceActivity和及其子元素WhileActivity了.
4.WhileActivity的子活动在WinWF中, WhileActivity有且只能有一个子活动,然而我们现在的WhileActivity中却包含了多个子活动(基本上一个元素就是一个子活动),所以我们还需要添加一个SequenceActivity将其余的子活动包含在内.
然后我们来看看这些SequenceActivity的子活动们.
5.LookUpActivity与SharePoint Designer自动生成的变量LookUpActivity的名称空间前缀是ns0,表示它是一个SharePoint Workflow Action.
有过Visual Studio工作流开发经验的朋友一定会想起CreateTask等活动,不错,LookUpActivity与CreateTask活动同属于SharePoint Workflow Actions,但却有所不同, CreateTask等活动被Visual Studio 2005 Designer for Windows Workflow Foundation支持,支持编码开发;而LookUpActivity等活动基于定义和规则,且不被Visual Studio 2005 Designer for Windows Workflow Foundation支持.
LookUpActivity的作用是从指定的列表项中获取某一域的值,这里,它从我们上传的文档中获取上传者的名称,并将其存储在变量_x005f_String0中.
_x005f_String0是SharePoint Designer自动生成的变量.其前缀_x005f_表示它是由SharePoint自动生成的,如果没有此前缀,那么我们可以在SharePoint Designer工作流设计器中看到此变量,中间的String表示其类型,末位0表示序号(这也是SharePoint Designer自动生成的中间变量的命名规则).
6.CollectDataTaskCollectDataTask用来收集用户数据(创建任务),它的属性描述了该任务的内容类型,分配对象,标题,甚至GUID(CollectDataTask将任务的TaskID绑定到了变量taskID上).
7.FindValueActivityFindValueActivity的作用大概和LookUpActivity差不多,但是FindValueActivity会提供一个默认值,本文的实验中它的存在与否似乎无关紧要,于是删之.
8.又一个LookUpActivity接着又是一个LookUpActivity,将其ListItem属性值中的_x005f_Int320修改为taskID,这样LookUpActivity就会从Task In While?任务中获取canFinish域的值并将其存储在变量_x005f_Boolean0中
9.SetVariableActivitySetVariableActivity是一个给变量赋值的活动,这里它将_x005f_Boolean0的值赋给变量finish.
10.最终的XOML文件及其逻辑OK,所有活动已经介绍并且修改完毕,
[ 本帖最后由 ghosty 于 2008-10-8 11:32 编辑 ] |
|