国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

osworkflow部署描述

2019-11-18 13:06:34
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

1. Your first workflow - Chinese
Last changed on Jun 02, 2004 by Quake Wang

h3 創(chuàng)建描述符

首先,讓我們來(lái)定義工作流。你可以使用任何名字來(lái)命名工作流。一個(gè)工作流對(duì)應(yīng)一個(gè)xml格式的定義文件。讓我們來(lái)開始新建一個(gè)“myworkflow.xml”的文件,這是樣板文件:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE workflow PUBLIC   "-//OpenSymphony Group//DTD OSWorkflow 2.7//EN"  "http://www.opensymphony.com/osworkflow/workflow_2_7.dtd"><workflow>  <initial-actions>    ...  </initial-actions>  <steps>    ...  </steps></workflow>

首先是標(biāo)準(zhǔn)的XML頭部,要注重的是OSWorkflow將會(huì)通過這些指定的DTD來(lái)驗(yàn)證XML內(nèi)容的合法性。你可以使用絕大多數(shù)的XML編輯工具來(lái)編輯它,并且可以highlight相應(yīng)的錯(cuò)誤。

h3 步驟和動(dòng)作

接下來(lái)我們來(lái)定義初始化動(dòng)作和步驟。首先需要理解的OSWorkflow重要概念是steps (步驟) 和 actions (動(dòng)作)。一個(gè)步驟是工作流所處的位置,比如一個(gè)簡(jiǎn)單的工作流過程,它可能從一個(gè)步驟流轉(zhuǎn)到另外一個(gè)步驟(或者有時(shí)候還是停留在一樣的步驟)。舉例來(lái)說,一個(gè)文檔治理系統(tǒng)的流程,它的步驟名稱可能有“First Draft - 草案初稿”,“Edit Stage -編輯階段”,“At publisher - 出版商”等。

動(dòng)作指定了可能發(fā)生在步驟內(nèi)的轉(zhuǎn)變,通常會(huì)導(dǎo)致步驟的變更。在我們的文件治理系統(tǒng)中,在“草案初稿”這個(gè)步驟可能有“start first draft - 開始草案初稿”和“complete first draft - 完成草案初稿”這樣2個(gè)動(dòng)作。

簡(jiǎn)單的說,步驟是“在哪里”,動(dòng)作是“可以去哪里”。

初始化步驟是一種非凡類型的步驟,它用來(lái)啟動(dòng)工作流。在一個(gè)工作流程開始前,它是沒有狀態(tài),不處在任何一個(gè)步驟,用戶必須采取某些動(dòng)作才能開始這個(gè)流程。這些非凡步驟被定義在 <initial-actions>。

在我們的例子里面,假定只有一個(gè)簡(jiǎn)單的初始化步驟:“Start Workflow”,它的定義在里面<initial-actions>:

<action id="1" name="Start Workflow">  <results>    <unconditional-result old-status="Finished" status="Queued" step="1"/>  </results></action>

這個(gè)動(dòng)作是最簡(jiǎn)單的類型,只是簡(jiǎn)單地指明了下一個(gè)我們要去的步驟和狀態(tài)。

h3 工作流狀態(tài)

工作流狀態(tài)是一個(gè)用來(lái)描述工作流程中具體步驟狀態(tài)的字符串。在我們的文檔治理系統(tǒng)中,在“草案初稿”這個(gè)步驟可能有2個(gè)不同的狀態(tài):“Underway - 進(jìn)行中”和“Queued - 等候處理中”

我們使用“Queued”指明這個(gè)條目已經(jīng)被排入“First Draft”步驟的隊(duì)列。比如說某人請(qǐng)求編寫某篇文檔,但是還沒有指定作者,那么這個(gè)文檔在“First Draft”步驟的狀態(tài)就是“Queued”。“Underway”狀態(tài)被用來(lái)指明一個(gè)作者已經(jīng)挑選了一篇文檔開始撰寫,而且可能正在鎖定這篇文檔。

h3 第一個(gè)步驟

讓我們來(lái)看第一個(gè)步驟是怎樣被定義在<steps>元素中的。我們有2個(gè)動(dòng)作:第一個(gè)動(dòng)作是保持當(dāng)前步驟不變,只是改變了狀態(tài)到“Underway”,第二個(gè)動(dòng)作是移動(dòng)到工作流的下一步驟。我們來(lái)添加如下的內(nèi)容到<steps>元素:
<step id="1" name="First Draft">  <actions>    <action id="1" name="Start First Draft">      <results>        <unconditional-result old-status="Finished" status="Underway" step="1"/>      </results>    </action>    <action id="2" name="Finish First Draft">      <results>        <unconditional-result old-status="Finished" status="Queued" step="2"/>      </results>    </action>  </actions></step><step id="2" name="finished" />

這樣我們就定義了2個(gè)動(dòng)作,old-status屬性是用來(lái)指明當(dāng)前步驟完成以后的狀態(tài)是什么,在大多數(shù)的應(yīng)用中,通常用"Finished"表示。

上面定義的這2個(gè)動(dòng)作是沒有任何限制的。比如,一個(gè)用戶可以調(diào)用action 2而不用先調(diào)用action 1。很明顯的,我們假如沒有開始撰寫草稿,是不可能去完成一個(gè)草稿的。同樣的,上面的定義也答應(yīng)你開始撰寫草稿多次,這也是毫無(wú)意義的。我們也沒有做任何的處理去限制其他用戶完成別人的草稿。這些都應(yīng)該需要想辦法避免。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 大渡口区| 武胜县| 商城县| 周口市| 蓬溪县| 凯里市| 吉安市| 永福县| 邓州市| 瓮安县| 正阳县| 叙永县| 准格尔旗| 彭阳县| 阳谷县| 铜梁县| 和硕县| 龙海市| 大方县| 汽车| 漳州市| 嵊泗县| 大田县| 莱芜市| 黑山县| 古交市| 柳州市| 望城县| 北川| 贵定县| 灯塔市| 武隆县| 涿鹿县| 边坝县| 临江市| 江西省| 锡林浩特市| 邮箱| 秭归县| 武宁县| 马边|