MOSS 2007的一个很重要的功能就是提供了工作流,让我们可以结合工作流来实现各种需求,系统提供了几种默认的工作流供大家使用,“三态工作流”就是默认的一种。
现在通过一个模拟实验来看看怎么使用“三态工作流”:在行政部子网站下面创建一个“预订会议室”的列表,并启用三态工作流。
1.1激活三态工作流
默认情况下,三态工作流是没有激活的,要在MOSS中使用三态工作流,必须进行激活。
进入顶级网站的“网站设置”,点击“网站集管理”下面的“网站集功能”。
找到三态工作流,点击“激活”按钮。
1.2创建“预订会议室”列表
进入到“行政部”子网站,点击“网站操作”菜单中的“创建”。
点击“自定义列表”下的“自定义列表”。
输入列表名称“预订会议室”和相关的说明文字。
确认后即可创建列表。
上面创建的是一个简易的列表,我们需要增加一些栏来达到需求。在列表中添加栏有两种途径。
一种是进入“预订会议室”列表,点击“设置”菜单中的“创建栏”。
另一种是点击上图的“列表设置”,在设置页面,点击“创建栏”。
在“创建栏”页面,输入新建的栏名称:会议内容,类型选择为:多行文本。
下面的“其他栏配置”根据需要修改,这里保持默认设置。
重复前面添加栏的操作,添加一个新的栏,栏名为:预订状态,类型为:选项。
在“其他栏配置”的“分行键入每个选项”中,分别输入三个选项:申请预订、确认预订、完成预订。其他保持默认配置。
这个栏是列表中最重要的栏,三态工作流的启动必须有这个。
再创建一个新栏,名称为:会议开始时间,类型为:日期和时间。
“日期时间格式”选择“日期和时间”
根据上面再新建一个栏,名称为:会议结束时间。其他的设置和“会议开始时间”相同。
1.3创建个性化视图
为了方便查阅,我们需要在列表中创建一个新视图,通过设置,让每个人登录后只看到自己相关的项目。
在“预订会议室”列表中,单击“设置”菜单下的“创建视图”。
点击“标准视图“。
输入视图名称:预订会议室。勾选“将此预设为默认视图”。
“访问群体”保持默认设置。
在“栏”设置中,根据需要勾选希望显示的栏名,这里除了默认外,再勾选“创建者”。
在“排序”设置中,选择“会议开始时间”作为主要排序依据,“会议结束时间”作为次要排序依据。
在“筛选”设置中,选择“只有在以下条件为真时才显示项目”,在“栏”下面选择“创建者”“等于”“[本人]”。这样视图显示的就是登录者创建的相关项目。
1.4添加工作流
在“预订会议室”列表中,点击“设置”菜单下的“列表设置”。
点击“权限和管理”下面的“工作流设置”。
在设置页面中,选中“三态”工作流。输入工作流名称为:预订会议室。在“任务列表”和“历史任务列表”中都选择新建列表。在“启动选项”中选择“新建项目时启动此工作流”。点击“下一步”。
在“工作流状态”中,默认会选择“预订状态”字段,并选中3个相关的状态。
“指定启动工作流时要执行的操作”一项是设置工作流启动(就是处于“申请预订”状态)时系统进行的操作。按照下图进行填写,其结果是工作流启动的时候发一封邮件给用户“mossadmin”(这里假设该用户是安排会议室使用时间的人)。
“指定工作流更改为中间状态时要执行的操作” 一项是设置工作流第二阶段(就是处于“确认预订”状态)时系统进行的操作。按照下图进行填写,其结果是工作流发一封邮件给创建者,即申请人。
1.5使用工作流
现在我们来通过新建一个会议室的预订来检验一下工作流的使用。
在“预订会议室”列表,点击“新建”菜单下的“新建项目”。
根据下图填写相关资料,“预订状态”一项选择第一个阶段的“申请预订”。
确认新建项目后,根据上面第四小节中的设置,用户“mossadmin”会收到一封邮件,标题和内容是在添加工作流设置时候输入的相关信息。并附带一个申请的链接。
点击邮件中的链接,可以打开申请项目,这时候其“预订状态”为“申请预订”,如果同意其申请,可以点击“编辑项目”。
在编辑项目页面,将“预订状态”改变为“确认预订”,点击“确定”。
此时工作流进入第二个阶段,系统会根据我们的设置,发送一封邮件给项目的创建者,同样,标题和内容也是添加工作流时的相关设置信息。
此时,项目创建者可以通过点击邮件的链接进入查看。或者进入到“预订会议室”列表,也可以看到该项目的状态。点击标题也可以进入项目。
在项目编辑页面,点击“编辑项目”
将“预订状态”更改为“完成预订”
确认后可以在列表中看到项目的状态为“完成预订”。而最后栏显示的是“预订会议室”工作流的状态为“已完成”。
1.6视图的使用
我们在进入“预订会议室”列表后,可以在右边的视图中看到默认视图是“预订会议室”,这个是因为我们在前面第三节中创建了该视图,并把其设置为默认的视图。它显示的是当前用户为创建者的项目,如果项目不是你创建的,就会显示一个空白的列表。
想看其他人的项目,可以点击视图名称后面的小箭头,选择“所有项目”
进入到所有项目视图,就可以看到各个项目了。