共用方式為


SharePoint 2010:順「流」而下 - 使用 SharePoint 工作流程

使用 SharePoint 2010 的工作流程,是將複雜商務程序自動化的理想方式。

作者:Brien Posey

現今許多應用程式公司都把複雜的商務程序自動化。將電子程序自動化,就像將電子郵件自動傳給適當的收件人一樣,非常簡單。但是要將含有手動互動的程序自動化,那就困難多了。

Microsoft 早從 Microsoft Office SharePoint Server (MOSS) 2007 就開始尋求這個 SharePoint 工作流程問題的解決之道,這些工作流程基本上都是採用核准傳閱機制。假設行銷部門有人想出新的廣告,他們不會把廣告直接傳給廣告公司,而是先讓它通過一連串的內部審核。

這個廣告必須先送到編輯手上,通過公司的法律部門,最後可能還要再送交高級主管過目之後,才能轉給外人。這種核准要求的問題在於大家都忙,忙中有錯,真的在所難免。但是任何人為疏失都有可能造成核准傳閱程序的差錯。

而 SharePoint 工作流程就是專門為了將這類程序自動化而設計的。您甚至可以設計一個工作流程來傳送提醒,或者萬一有人漏掉一個環節時,自動連絡一位經理出面處理。

工作流程在 MOSS 2007 扮演的角色的確非常重要,儘管如此,難免流於一成不變之嫌。系統管理員多半被迫在 SharePoint GUI 的框架內建立工作流程。

Microsoft 在 SharePoint 2010 建立工作流程的程序當中加入不少彈性。雖然您仍然可以使用 SharePoint GUI 將工作流程與清單或文件庫建立關聯,但還是得在 SharePoint 外面建立工作流程 (除非您是採用其中一個內建工作流程)。

因此,Microsoft 提供幾種工具讓您建立工作流程。一般說來,SharePoint Designer 2010 還是開發 SharePoint 工作流程的首選。專業開發人員可以使用 Visual Studio 2010 修改 SharePoint Designer 2010 所建立的程式碼,藉此建立進一步的自訂,也可以從頭開發工作流程。

利用 Visio 放手一搏

建立工作流程

要建立工作流程,請開啟 Visio 2010,選取 [檔案 (File)] 索引標籤。這時候畫面提示會詢問您要建立哪一種類型的圖表。請選擇 [流程圖 (Flowchart)] 資料夾、選取 [Microsoft SharePoint 工作流程 (Microsoft SharePoint Workflow)] 範本,再按一下 [建立 (Create)],如 [圖 1] 所示。

 

Visio Premium 2010 建立 SharePoint 工作流程這個想法,乍聽之下似乎有點奇怪。雖然 Visio 被廣泛用來建立網路圖,但大多數的人並未將它視為開發工具。不過,Visio 的主要功能之一就是建立流程圖,所以這麼做可說是合情合理。上過電腦程式設計初級班的人都知道,剛開始必定有一堂課會教您建立流程圖,那是因為建立流程圖常常是撰寫程式的第一步。SharePoint 工作流程只不過是一種簡單的程式而已,有必要動用到專為建立工作流程而設計的應用程式來建立 SharePoint 工作流程嗎?

在您使用 Visio 2010 建立 SharePoint 工作流程之前,必須先清楚兩個重點。第一,您不是以 Visio 2010 建立定案的工作流程,而是以 Visio 建立工作流程範本,然後將它匯入到 SharePoint Designer,再完成工作流程。第二,只有 Visio 2010 Premium 才能執行這項工作,Standard 和 Professional 版的 Visio 2010 並不支援 SharePoint 工作流程的建立。

編寫工作流程

要建立工作流程,請開啟 Visio 2010,選取 [檔案 (File)] 索引標籤。這時候畫面提示會詢問您要建立哪一種類型的圖表。請選擇 [流程圖 (Flowchart)] 資料夾、選取 [Microsoft SharePoint 工作流程 (Microsoft SharePoint Workflow)] 範本,再按一下 [建立 (Create)],如 [圖 1] 所示。

[圖 1] 使用 Visio 2010 建立 SharePoint 工作流程的流程圖

[圖 1] 使用 Visio 2010 建立 SharePoint 工作流程的流程圖。

這時候會出現 Visio 主畫面,實際的開發工作流程就是從這裡開始進行。如果您從未用過 Visio,必須先習慣建立工作流程的程序。螢幕左手邊有幾個含各種圖示 (或「主圖形」) 的集合 (或「樣板」))。[SharePoint 工作流程 (SharePoint Workflow)] 範本包含 [動作 (Action)]、[條件 (Conditions)] 和 [工作流程結束點 (Workflow Terminator)] 圖形的樣板。請將圖形拉到 Visio 繪圖上,依您可以加速工作流程效率的方式排列它們。

如需圖解示範,請看看 [圖 2] 的 Visio 繪圖。它顯示的是一個簡單的 SharePoint 工作流程範本,以「開始 (Start)」結束點 (綠色三角形) 作為開頭。接著是條件,負責檢查標題欄位是否有值。至於欄位名稱或關鍵字清單並不重要,因為目前還無法提供特定的值或欄位名稱。現在只要建立工作流程邏輯就行了。

[圖 2] 在 Visio 建立的基本 SharePoint 工作流程

[圖 2] 在 Visio 建立的基本 SharePoint 工作流程。

從圖中可以看出,條件的分支要根據是否有偵測到特定的值而定。Visio 要求您為您在工作流程所用的每一個條件,各建立一個「是 (Yes)」路徑和「否 (No)」路徑。如果找不到符合的值 (「否 (No)」路徑),這個工作流程就以「終止 (Terminate)」物件作為結束。如果找到關鍵字,就會刪除這個項目,結束工作流程。

同時您也會看到每一個物件至少會連接到另一個物件 (如物件之間的箭頭所示)。這些連線都是必要連線,但是不會自動發生。 如果要連接兩個圖形,請將其中一個圖形拉到繪圖頁上,然後將滑鼠移到另一個您要連接的圖形上方。物件外圍應該會出現幾個藍色箭頭圖示,. 請將圖形放在箭頭圖示上,在兩個圖形之間建立連線。

建立工作流程之後,最好能夠驗證所有的步驟。驗證工作流程可以確保 SharePoint 得以順利使用它。例如,驗證程序會告訴您是否已和工作流程中的物件中斷連線,或者您是否忘記終止工作流程。

如果要驗證工作流程,請前往 [程序] 索引標籤,按一下 [檢查圖表] 按鈕。我們當然希望 Visio 不會發現圖表有什麼問題,如果找到問題,則會出現在 Visio 工作區底端的 [問題] 視窗。通常大部分的問題都很容易解決:只要按兩下問題,Visio 便會選取與該問題有關的物件。

程序的最後一步是匯出您的 Visio 圖表。請前往 [程序] 索引標籤,按一下功能區上的 [匯出] 按鈕。現在您應該會看到一個對話方塊,您可以在裡面為您所匯出的圖形指定檔名。請輸入一個檔名,然後選取通往您要儲存匯出檔之位置的路徑。接著確認您是以 Visio 工作流程交換檔案 (*.VWI) 格式匯出檔案,然後再按一下 [儲存]。

介紹 SharePoint Designer

現在有了工作流程範本,就可以進行工作流程建立程序的第二部分了。請將範本匯入 SharePoint Designer 中,將它轉換成 SharePoint 工作流程。

SharePoint Designer 2010 是一種用來自訂網站、資料來源和工作流程等項目的工具。雖然您可以在 SharePoint GUI 中進行一些自訂作業,但 SharePoint 的介面功能有限,SharePoint Designer 則進一步提升了 SharePoint 網站自訂的功能。

SharePoint Designer 現在可以免費下載。您可以在下列位置下載它:

32 位元:microsoft.com/downloads/details.aspx?FamilyID=d88a1505-849b-4587-b854-a7054ee28d66&displaylang=en

64 位元:microsoft.com/downloads/details.aspx?familyid=566D3F55-77A5-4298-BB9C-F55F096B125D&displaylang=en

使用 SharePoint Designer

 

下載和安裝 SharePoint Designer 2010 之後,請開啟它,然後再開啟您要修改的 SharePoint 網站,方法是啟動 SharePoint Designer 2010,然後按一下 [開啟網站] 按鈕。

這時候畫面會提示您指定您要開啟的網站。請輸入您的 SharePoint 網站 URL,然後按一下 [開啟] 按鈕。或者瀏覽到您的網站,選擇 [網站動作],然後在 SharePoint Designer 中編輯網站。這時候會出現 SharePoint Designer 主畫面,如 [圖 3] 所示。

[圖 3] SharePoint Designer 主畫面

[圖 3] SharePoint Designer 主畫面。

請注意,畫面左手邊的 [網站物件 (Site Objects)] 清單中,有一個物件叫 [工作流程 (Workflows)]。按一下 [工作流程 (Workflows)] 物件之後,就會出現一份內建工作流程的清單。

我們已在 Visio 2010 建立自己的工作流程範本,因此必須匯入它,方法是按一下 [工作流程] 功能區的 [從 Visio 匯入] 按鈕。這時候畫面會提示您選取一個 Visio 繪圖加以匯入。請按一下 [瀏覽] 按鈕,選取您先前建立的繪圖,再按一下 [開啟],然後按 [下一步]。

這時候畫面會提示您為您所匯入的工作流程命名。另外,畫面也會詢問您要把工作流程匯入為清單工作流程,還是可重複使用的工作流程,如 [圖 4] 所示。兩者不同之處在於,清單工作流程是繫結到特定的清單或文件庫,而可重複使用的工作流程則是繫結到內容類型,並且可以套用到任何清單或文件庫。

[圖 4] 選擇將工作流程匯入為清單工作流程,或是可重複使用的工作流程

[圖 4] 選擇將工作流程匯入為清單工作流程,或是可重複使用的工作流程

做出選擇之後,請按一下 [完成 (Finish)],匯入工作流程。 匯入程序完成之後,畫面會出現工作流程編輯器,如 [圖 5] 所示。

[圖 5] 工作流程編輯器可讓您變更工作流程

[圖 5] 工作流程編輯器可讓您變更工作流程。

最後的準備工作

您必須先在 SharePoint Server 上進行一些設定工作之後,才能將視覺化功能與您剛剛建立的工作流程搭配使用。尤其必須確認 Visio Web Access 功能和 Visio Graphics Service 兩者都在作用中。

方法是開啟 SharePoint 網站,然後從 [網站動作] 功能表選擇 [網站設定] 命令。當 [網站設定] 頁面載入時,再按一下 [網站集合功能] 連結。請務必確定 [SharePoint Server 企業版網站集合功能] 處於作用狀態,如果沒有,則按一下對應的 [啟動] 按鈕。

[圖 6] 從工作流程範本清單中選擇您的工作流程

[圖 6] 從工作流程範本清單中選擇您的工作流程。

接著請開啟 SharePoint 2010 管理中心主控台,按一下 [管理伺服器上的服務] 連結 (位於 [系統設定] 區段中)。接著確認 Visio Graphics Service 正在執行中。如果不在執行中,請按一下對應的 [啟動] 按鈕。

本程序的最後一步是在您所建立的工作流程與清單或文件庫之間建立關聯性 (假設您所建立的是可重複使用的工作流程)。您只要開啟網頁瀏覽器,導覽至 SharePoint 文件庫,然後再按一下 [文件庫] 索引標籤即可。這時候您會看到一個對應於文件庫的功能區。請按一下 [工作流程設定] 按鈕,再按一下 [新增工作流程] 連結。現在您就可以將工作流程新增到文件庫了,如 [圖 6] 所示。如需詳細資訊,請參閱 [新增工作流程] 關聯。

您的新工作流程已經儲存妥當,可以供您使用或與同事共用。

Brian Posey

Brien Posey是一名 MVP,也是技術文件自由撰稿人,發表過數千篇文章和十幾本書。您可以瀏覽 Brien 的網站,網址是 brienposey.com。

相關內容: