使用 SPD 2010 和 Visio 2010 建立 SharePoint 2010 工作流程:執行方法與常見問題集
英文原文已於 2011 年 5 月 19 日星期四發佈
大家好,我的名字是 Sam Chung,我是 SharePoint Designer 團隊的 PM。在這篇文章中,我會說明如何搭配使用 Visio 2010 和 SPD 2010 來建立工作流程。我會談論到人們在使用這兩種工具時會遇到的一些常見問題。
為了設定舞台,我們需要一些與 SPD 和 Visio 之間關聯的內容。目前已經有一些與如何使用這兩種工具有關的資源。特別是,下列部落格會從 Visio 方面加以說明:
不過,由於上面的部落格文章已經有一段時間了,所以我決定以更新的目光重新檢視如何使用這兩種工具。我將更深入地探討一些領域,並且審視人們已經遇到的一些常見問題。
背景
在這篇文章中,我會假設您未曾讀過與 Visio 和 SPD 有關的任何先前資訊,因此,我們會設定一些背景。如果您已經很熟悉 Visio 和 SPD,建議您略過本章節並移至下一個章節。
SharePoint Designer 2010 團隊曾與 Visio 合作過,好讓使用者可以搭配使用兩種工具來建立及檢視工作流程。這篇文章將著重於建立合作關係,而不會將太多篇幅放在伺服器端視覺效果 (我們就留點東西在下次討論吧)。
建立工作流程有兩種方式。使用者可以使用 SPD 內的
規則陳述式設計工具,或者使用 Visio 用戶端。由於在陳述式設計工具內建立工作流程的程序眾所周知,因此,我會著重於如何使用 Visio 用戶端建立與編輯工作流程。
**注意** 您必須擁有 Visio 2010 Premium 才能執行這項操作。此外,SPD 2010 和 Visio 2010 必須安裝在同一部電腦上
這段合作關係是建立來協助較為習慣使用 Visio 的使用者,好讓他們可以使用較熟悉的設計介面。同時,Visio 設計介面提供非常獨特的工作流程檢視,許多使用者可能會在設計/檢閱工作流程時感到非常實用。雖然無法在 Visio 中建立整個工作流程,但是使用者還是可以建立工作流程的整體「流程」,然後在 SPD 內完成設定參數。
在 Visio 中建立工作流程圖表
1. 啟動 Visio 2010 Premium
2. 建立新圖表
3. 在 [範本類別] (Template Categories) 底下,選取 [流程圖] (Flowchart)。
4. 然後選取 [Microsoft SharePoint 工作流程] (Microsoft SharePoint Workflow)。
5. 按下右側的 [建立] (Create) 按鈕。
***注意*** 選取 [英制] (US Units) 或 [公制單位] (Metric Units) 並無差別。兩者都會建立相同的工作流程圖表。
6. 隨即出現空白畫布。開始之前,您應該知道您需要插入 [開始圖形] (Start Shape) 和 [結束圖形] (End Shape) 。
· 所有 SharePoint 工作流程都必須具有這些圖形。
· 您加入的所有工作流程圖形都必須插入這兩個圖形之間。
7. 所有工作流程圖形都已經在樣板窗格內組織成類別。
· 快速圖形 – 包含每個不同類別內的「上方部分」放置的圖形。
***注意*** 快速圖形是加快工作流程建立程序的絕佳方式。樣板內的每個類別都有快速圖形區域。例如,如果您查看的是 [SharePoint 工作流程動作] 類別,就會看到有條細線分隔上方動作集與下方動作集。
位於上方的動作屬於該類別的「快速圖形」。快速圖形不是根據使用情況之類的基準而自動選取的,相反地,這個區域中的圖形純粹是使用者設定的。若按一下並拖曳那段線和圖形上方您想要的任何圖形,那些圖形將會變成快速圖形清單的一部分。然後,您就可以使用這些圖形更快速地建立您的圖表。前四個快速圖形會以浮水印選項的形式出現在畫布的圖形上 (只要將滑鼠移到任何圖形的藍色箭頭上就會看到)。
· SharePoint 工作流程動作 (XXX 單位) – 是儲存所有 SharePoint 工作流程動作的地方
· SharePoint 工作流程條件 (XXX 單位) – 是儲存所有 SharePoint 工作流程條件的地方
· SharePoint 工作流程結束點 (XXX 單位) – 是您尋找步驟 6 中所述開始和結束工作流程圖形的地方
***注意*** 樣板窗格中顯示的 [SharePoint 工作流程動作] (SharePoint Workflow Actions) 不是根據您要建立的工作流程類型而篩選的。一般來說,當您在 SPD 建立工作流程時,所呈現動作的清單會篩選出只與要建立的工作流程類型相關的動作集。因此,如果您要建立清單工作流程,將只會看到清單工作流程動作,這點與網站工作流程和可重複使用的工作流程相同。不過,在 Visio 用戶端中,不會在您可用的動作清單中進行篩選。因此,使用 Visio 建立工作流程時,您將必須確定您只會使用與要建立的工作流程類型相關的動作。
此外,這裡沒有網站工作流程特定動作可供使用。因此,您將無法使用 Visio 用戶端建立網站工作流程。在匯入期間,您會發現沒有選項可以根據 Visio 圖表建立網站工作流程。
8. 現在繼續加入您想要的圖形並建立工作流程。在這篇文章中,我已經建立一個非常簡單的範例。
***注意*** 不要忘記在所有條件式圖形上設定 [是]/[否] 選項。快速設定的方式是,以滑鼠右鍵按一下任何出自於條件式圖形的連接器,然後選取 [是] 或 [否]。
在 Visio 與 SPD 之間匯出/匯入
到這個時候,您可以嘗試將 Visio 圖表從 Visio 移到 SPD。下面兩個章節將說明執行這項操作的最佳方式。
從 Visio 移至 SPD
1. 一旦建立您的圖表並準備將圖表傳送到 SPD,您必須先按下 [匯出] (Export) 按鈕
· 這個按鈕位於 [程序] (Process) 索引標籤中
2. 如果圖表中有錯誤,將會出現錯誤窗格中。
***注意*** Visio 目前正在確認您嘗試傳送給 SPD 的圖表,是可以直接轉換為工作流程的圖表。但是它只能檢查開始 與結束 之間的圖形。無論您想要何種 Visio 圖形,都可以隨地放置圖形。只要確定開始和結束圖形之間的項目是工作流程圖形,並且已適當地連接即可。
3. 假設驗證已通過 (如果未通過且出現錯誤,請先修正錯誤,然後再返回),隨即會出現 [匯出工作流程] (Export Workflow) 對話方塊,您可以在其中指定儲存 VWI 檔案的位置。請選取位置、為您的檔案命名,然後按下 [儲存] (我將檔案命名為 “Simple Workflow” 並儲存在桌面上)。
***注意*** 您要儲存的 VWI 代表 Open XML 檔案,基本上是內含數個其他檔案的 zip 檔案。您可以繼續並使用喜愛的 zip 程式將檔案解壓縮,然後看看其中有哪些檔案。但是一般而言,您會找到下列檔案:
[content_types].xml
Workflow.vdx
Workflow.xoml
Workflow.xoml.rules
一般來說,您最關心的檔案是 .vdx 檔案和 .xoml 檔案。.vdx 檔案是您剛建立的 Visio 圖表,而 .xoml 檔案是發佈工作流程時實際會執行的工作流程 xoml。現在,.xoml 檔案中的資訊不多,因為這個工作流程未正確地在 SPD 中設定。不過,一旦我們完成設定這個工作流程,而且如果再次將工作流程從 SPD 匯出,您就會在 .xoml 檔案中看到更多資訊。此外,您還會看到概述有關工作流程詳細資訊的 workflow.config 檔案。現在,我們先不要處理這些檔案,直接移到下一個步驟。
如果您想要進一步了解 Open XML 檔案,請參閱下列連結: https://msdn.microsoft.com/zh-tw/library/aa338205(office.12).aspx (可能為英文網頁)
4. 現在讓我們繼續並將該 VWI 檔案匯入 SPD 中。開啟 SPD,然後連線到您最愛的 SharePoint 2010 網站。
5. 按一下導覽列左側的 [工作流程] (Workflow) 連結
6. 接著,移至功能區並按下 [從 Visio 匯入] (Import from Visio) 按鈕
7. 隨即出現 [匯入精靈] (Import Wizard)。先選取您的 VWI 檔案,然後按下 [下一步] (Next) 按鈕
8. 為您的工作流程命名並選取工作流程類型。
9. 執行正確的話,您應該會看到如下畫面:
修改工作流程
1. 您現在可以開始為工作流程內的每個動作設定參數。設定完成之後,工作流程可能看起來如下所示:
2. 發佈之前,我們先將其他動作加入工作流程。我將歷程記錄動作的簡單記錄插入工作流程結尾。
***注意*** 這真的很重要。如果您要在工作流程內加入/刪除/移動動作,您一開始著手的圖表在伺服器端視覺效果方面,很可能與您檢視時看到的不同。這是因為當您修改 SPD 內的動作位置時,SPD 內部的 Visio 附加元件必須以動態方式重新建立圖表並轉送至整個圖表。也就是說外觀可能不如您所預期。因此,如果伺服器端視覺效果對您而言很重要,您應該:
a) 先將工作流程從 SPD 匯出回 Visio
b) 修正圖表
c) 從 Visio 匯出至 SPD
d) 重新發佈工作流程 (而不要在 SPD 進行修改)
3. 發佈剛建立的工作流程。
結論
以上是從 Visio 到 SPD 快速又緊密整合的體驗。希望這對您有所幫助。下面是上述內容到常見問題集/秘訣章節等注意事項的整合內容。
觀迎您在下面張貼問題。我會試著儘快回覆問題。
此外,希望接下來幾週我會建立寫些簡短的後續文章,說明從 SPD 到 Visio 的體驗,以及嘗試使用 Visio 圖表更新現有工作流程時可能引發的問題的詳細資訊。
感謝您的閱讀
Sam
常見問題集和秘訣與竅門
1. 您必須擁有 Visio 2010 Premium 才能建立 SharePoint 2010 工作流程。此外,SPD 2010 和 Visio 2010 必須安裝在同一部電腦上
2. 在建立新的 Visio SharePoint 2010 工作流程圖表時,選取 [英制] (US Units) 或 [公制單位] (Metric Units) 並無差別。兩者都會建立相同的工作流程圖表。
3. 快速圖形是加快工作流程建立程序的絕佳方式。樣板內的每個類別都有快速圖形區域。例如,如果您查看的是 [SharePoint 工作流程動作] 類別,就會看到有條細線分隔上方動作集與下方動作集。
位於上方的動作屬於該類別的「快速圖形」。快速圖形不是根據使用情況之類的基準而自動選取的,相反地,這個區域中的圖形純粹是使用者設定的。若按一下並拖曳那段線和圖形上方您想要的任何圖形,那些圖形將會變成快速圖形清單的一部分。然後,您就可以使用這些圖形更快速地建立您的圖表。前四個快速圖形會以浮水印選項的形式出現在畫布的圖形上 (只要將滑鼠移到任何圖形的藍色箭頭上就會看到)
4. 樣板窗格中顯示的 [SharePoint 工作流程動作] (SharePoint Workflow Actions) 不是根據您要建立的工作流程類型而篩選的。一般來說,當您在 SPD 建立工作流程時,所呈現動作的清單會篩選出只與要建立的工作流程類型相關的動作集。因此,如果您要建立清單工作流程,將只會看到清單工作流程動作,這點與網站工作流程和可重複使用的工作流程相同。不過,在 Visio 用戶端中,不會在您可用的動作清單中進行篩選。因此,使用 Visio 建立工作流程時,您將必須確定您只會使用與要建立的工作流程類型相關的動作。
5. 此外,這裡沒有網站工作流程特定動作可供使用。因此,您將無法使用 Visio 用戶端建立網站工作流程。在匯入期間,您會發現沒有選項可以根據 Visio 圖表建立網站工作流程。
6. 不要忘記在所有條件式圖形上設定 [是]/[否] 選項。快速設定的方式是,以滑鼠右鍵按一下任何出自於條件式圖形的連接器,然後選取 [是] 或 [否]。
7. 嘗試從 Visio 匯出圖表時,Visio 正在確認您嘗試傳送給 SPD 的圖表,是可以直接轉換為工作流程的圖表。但是它只能檢查開始 與結束 之間的圖形。無論您想要何種 Visio 圖形,都可以隨地放置圖形。只要確定開始和結束圖形之間的項目是工作流程圖形,並且已適當地連接即可。
8. 您要儲存的 VWI 代表 Open XML 檔案,基本上是內含數個其他檔案的 zip 檔案。您可以繼續並使用喜愛的 zip 程式將檔案解壓縮,然後看看其中有哪些檔案。但是一般而言,您會找到下列檔案:
[content_types].xml
Workflow.vdx
Workflow.xoml
Workflow.xoml.rules
一般來說,您最關心的檔案是 .vdx 檔案和 .xoml 檔案。.vdx 檔案是您剛建立的 Visio 圖表,而 .xoml 檔案是發佈工作流程時實際會執行的工作流程 xoml。從新的 Visio 圖表匯出時,.xoml 檔案中的資訊不多,這是因為這個工作流程未正確地在 SPD 中設定。不過,一旦我們完成設定這個工作流程,而且如果再次將工作流程從 SPD 匯出,您就會在 .xoml 檔案中看到更多資訊。此外,您還會看到概述有關工作流程詳細資訊的 workflow.config 檔案。
如果您想要進一步了解 Open XML 檔案,請參閱下列連結:https://msdn.microsoft.com/zh-tw/library/aa338205(office.12).aspx (可能為英文網頁)
9. 這真的很重要。如果您要在工作流程內加入/刪除/移動動作,您一開始著手的圖表在伺服器端視覺效果方面,很可能與您檢視時看到的不同。這是因為當您修改 SPD 內的動作位置時,SPD 內部的 Visio 附加元件必須以動態方式重新建立圖表並轉送至整個圖表。也就是說外觀可能不如您所預期。因此,如果伺服器端視覺效果對您而言很重要,您應該:
a) 先將工作流程從 SPD 匯出回 Visio
b) 修正圖表
c) 從 Visio 匯出至 SPD
d) 重新發佈工作流程 (而不要在 SPD 進行修改)
這是翻譯後的部落格文章。英文原文請參閱 Creating a SharePoint 2010 Workflow using SPD 2010 and Visio 2010: How-To & FAQ