如何使用 SharePoint Designer 2013 的視覺化設計工具在網站間移動工作流程
英文原文已於 2012 年 9 月 18 日星期二發佈
我的名字是 Sam Chun,目前是 SharePoint Designer 的 PM。在本部落格中,我們將討論的是現在已利用匯入/匯出功能 (可於視覺化設計工具中找到) 完全啟用的全新案例。
簡介:
對於許多開發人員來說,他們的生活中會有出現強烈需求的特殊時刻,而此需求是擴張他們的工作流程。特別是需要在網站間移動他們的工作流程。出現此一需求的原因有很多, 比較常見的原因是需要在開發、預備及生產環境間移動工作流程。但不論原因為何,我都想要使用這篇文章,在您們嘗試於網站間移動工作流程時提供協助。
開始之前,請先確定您已閱讀過下列文章:
第一篇是 Visual Designer 的一般概觀:
https://msdn.microsoft.com/zh-tw/library/jj163272.aspx (可能為英文網頁)
您需要閱讀上述文章,才能了解視覺化設計工具的運作方式。
接下來是如何使用封裝功能來封裝清單與工作流程的文章:
https://blogs.technet.com/b/office_cht/archive/2012/09/28/3537020.aspx
您需要了解上述文章,才能了解如何封裝工作流程可能參考的任何清單。
建立您的工作流程
您的工作流程可以是任一種工作流程。關於您可移動的工作流程方面並無任何技術限制。但若您想要避免出現發佈與執行階段問題,請注意下列幾點:
1. 確定工作流程中參考的所有物件均存在於目標網站上。
a. 閱讀封裝文章以了解如何封裝清單
2. 確定來源網站中使用的所有動作均存在於目標網站上。
a. 如果您的來源網站上有任何自訂動作存在,則必須確定會先將這些動作帶至目標網站,然後才將工作流程移過來
3. 無法將專案工作流程從 PWA 網站移至非 PWA 的網站。
a. 如果 SPD 在匯入期間偵測到正在將專案工作流程匯入非 PWA 的網站,即會封鎖此動作
b. 如果專案工作流程中有許多額外資料,則只能將它們從某個 PWA 網站移至另一個 PWA 網站
在本部落格中,我將使用一個相當簡單的工作流程來做為範例。我將啟用事件案例的 [主意] 清單。我即將建立的工作流程是一個可在 [事件主意] 清單中使用的簡單工作流程。使用者將在適用於他們擁有之每個事件主意的新清單項目中進行輸入。一旦使用者填入所有必要資訊之後,他們將指出該項目已準備好進行檢閱。此時,工作流程將會開始,並要求特定的核准者來核准或拒絕該主意。
下列為我將使用的清單:
您可以看見此清單擁有下列欄的狀況:
· 事件主意
o 單行字串
· 位置
o 單行字串· 成本
o 貨幣
· 狀態
o 選擇欄位
而工作流程本身看起來如下:
以下為工作流程的運作方式:
· 記錄至我們在第一個階段中的歷程記錄
· 檢查以查看 [狀態] 欄此欄位是否已設為 [準備檢閱]
o 如果不是,請等到它設為 [準備檢閱] 為止
· 記錄至我們現在正在指定工作以檢閱主意的歷程記錄
· 將狀態欄更新為 [檢閱中]
· 指定工作
· 若核准了該主意,就會進入將主意已核准記錄至歷程記錄的階段
· 將 [狀態] 欄設為 [接受]
· 若主意遭到拒絕,則會進入將主意已遭拒絕記錄至歷程記錄的階段
· 將 [狀態] 欄設為 [拒絕]
匯出工作流程
現在已有工作流程,讓我們繼續進行來匯出這個工作流程。我們會藉由按一下 [匯出到 Visio] 功能區按鈕來執行此動作。
附註:按 [匯出] 按鈕會自動先將工作流程儲存至伺服器,然後再啟動匯出功能。這樣做的原因在於,我們需要確保匯出的工作流程會在匯出時是與伺服器版本同步的。
按該按鈕將顯示下列對話方塊:
選取您要儲存檔案的位置,然後按 [儲存] 按鈕。
現在會將您的 Visio 圖表儲存至所選取的位置。如果您希望,可以立即在 Visio 2013 中開啟該圖表。
附註:在此範例中,我們是從視覺化設計工具匯出工作流程,但您可以從其他地方匯出工作流程:
· 文字型設計工具
· 工作流程設定頁面
· 工作流程圖庫
不過,在這所有的範例中,您必須啟用視覺化設計工具。此外,為了執行此動作,您必須在與 SharePoint Designer 2013 相同的電腦上安裝 Visio 2013 Professional。
匯入工作流程
您目前已匯出工作流程,現在可在 SharePoint Designer 2013 中開啟其他 SharePoint 2013 網站,並匯入您的工作流程。以下為您將採取的步驟:
1. 將 SPD 連線到新網站
2. 按一下瀏覽窗格中的 [工作流程]
3. 按 [從 Visio 匯入] 功能區按鈕的下半部,然後選取 [匯入 Visio 2013 圖表] 選項
4. 這樣將顯示一般 [開啟檔案] 對話方塊。找到您匯出的圖表,然後開啟該圖表。
5. 這樣將顯示 [建立工作流程] 對話方塊
a. 為工作流程命名
b. 視需要提供說明
c. 請注意,[工作流程類型] 會呈現灰色並顯示 [清單工作流程]。這是因為 SPD 偵測到匯入的工作流程為清單工作流程。正因為如此,所以它自動選取了正確的工作流程類型。如果您正在從 Visio 匯入全新的圖表 (未曾存在於 SPD 中的工作流程),則會啟用此選項。
d. 因為這是 [清單工作流程],所以會啟用可選取要將哪個清單關聯至工作流程的選項。繼續進行並選取一個清單。此選項僅會針對 [清單工作流程] 加以啟用。最好也要匯出您的清單然後再匯入,因為您只能選取在先前網站中使用的相同清單。
e. 按 [確定]
6. 現在將顯示您的工作流程圖表,與您先前所看到的完全相同。
a. 您的所有工作流程邏輯都會保留
b. 您的所有動作屬性都會保留
c. 您的所有本機變數都會保留
7. 您現在可以繼續編輯工作流程。但在發佈之前,請確定您已閱讀下一節。
發佈前的後置開發工作
一旦從不同網站匯入工作流程之後,便無法繼續進行並嘗試立即發佈該工作流程。即使這可能會運作且不會產生任何錯誤,但幾乎可確定您的工作流程會在執行階段失敗。一旦匯入工作流程之後,請確定會執行/檢查下列步驟:
1. 移至工作流程設定頁面,並更新 [工作清單] 和 [歷程清單]
a. 如果您現在查看它,將看見它如何表示 [新增工作清單] 和 [新增歷程清單]。但由於最新變更之故,所以當您發佈工作流程時,它將不會產生新的 [工作清單] 和 [歷程清單]。這將會讓您的工作流程在執行階段發生錯誤。
b. 這些應該已經是您可以選擇的現有 [工作清單] 和 [歷程清單]。繼續進行並選擇這些選項。
附註:如果您真的想要建立新的 [工作清單] 或 [歷程清單],只需先按一下其他清單,然後重新選取 [新增工作清單] 或 [新增歷程清單] 選項即可。這樣做接著將顯示快顯畫面,詢問您是否真的想要建立新的清單。一旦確認要建立新的清單之後,SPD 將立即建立這些新的清單。
2. 修正您的查閱
a. 如果您不想利用 VSDX 檔案將清單帶過來,那麼,您極有可能會將工作流程關聯至一個完全不同的清單。因此,如果您正在參考任何清單項目或屬性,就可能需要修正它們。
b. 如果您是從原始網站封裝清單並在匯入工作流程之前將它部署至新網站,就可以避開此問題。如需深入了解封裝清單的相關資訊,請參閱下列部落格:封裝清單、網站及可重複使用的工作流程,以及部署封裝的方法
3. 在尚未存在於您新網站中的工作流程中檢查所有的自訂動作
a. 如果您的工作流程中有自訂動作,請確定您會在匯入此工作流程之前,先將這些動作部署至您的新網站。
4. 若為專案工作流程:請確定您會在匯入工作流程之前,先將階段 (Stage)、階段 (Phase)、PDP 及自訂欄位帶過來。
a. 專案工作流程要求要將所有先前的專案物件從舊網站帶至新網站。請查看專案部落格,以尋找更多如何移動專案物件的相關資訊。
一旦處理這些問題之後,在新網站上發佈和執行工作流程時應該就不會遇到任何問題!
希望這篇文章對您很有用。歡迎在此發表您的意見。
謝謝您。
Sam
這是翻譯後的部落格文章。英文原文請參閱 How to use SharePoint Designer 2013's Visual Designer to Move Workflows Between Sites