使用應用程式步驟建立 SharePoint Designer 2013 工作流程 (搭配 SPC 2012 使用之工作流程範例的延伸)

英文原文已於 2012 年 11 月 22 日星期四發佈

jonghwal 的相片您好!我是 JongHwa Lim,目前擔任 SharePoint Designer 團隊的程式技術經理。
今天,我將向您說明在 SharePoint Conference 2012 (簡稱 SPC 2012) 中展示的範例工作流程。此外,我將在本部落格文章中進行修正並加以擴充,使它更貼近真實情況。本部落格文章包含一些使用 SharePoint Designer 2013 (簡稱 SPD 2013) 建立工作流程時可使用的秘訣。在說明詳細資料時,我將會假設您已經熟悉 SharePoint Designer 2013 與 SharePoint 2013 類型的工作流程。若您尚不熟悉,請閱讀先前的部落格文章,以了解 SharePoint 2013 工作流程。 

休閒活動公司的工作流程 

假設有一間名為 Contoso Leisure 的休閒活動公司提供了以下休閒活動課程,如:騎馬、釣魚、飛靶射擊、滑翔翼以及高空跳傘。

圖像

假設我們需要一個核准工作流程來執行下列事項。

  • 來自活動協調員 SharePoint 群組的核准要求
  • 如果要求遭到拒絕,則將拒絕郵件傳送給客戶
  • 如果要求獲得核准,則等候至活動/課程開始前五天,才傳送活動提醒郵件
    • 提醒郵件包含活動資訊,如:天氣資訊及行車指南地圖 

在此工作流程範例中,我們將使用兩項 Web 服務,但只有一項 Web 服務會在 SPD 中由所提供的「呼叫 HTTP Web 服務」動作進行處理。另一項 Web 服務會在字串變數中進行參照,並使用 <IMG> 標籤置入郵件本文。如需詳細資訊,請參照 Bing Map API 頁面。(https://www.microsoft.com/maps/developers/web.aspx)

如果您自行建立工作流程,系統將會建立以下工作流程。

圖像

圖像

圖像

請注意,「取得天氣資訊」階段有「呼叫 HTTP Web 服務」動作,如果您按一下第一個參數,將會看到系統使用以下 URL,該處的 Web 服務金鑰儲存在名為「Web 服務金鑰」的獨立清單內。先前 HyongGuk Kim 的部落格文章所述的「Web 服務」動作、「從字典取得項目」動作,以及「迴圈」容器的解釋與使用方式,我將在日後說明。(https://blogs.technet.com/b/office_cht/archive/2012/09/28/http-web-web.aspx

圖像

如果您在「傳送提醒電子郵件」階段中,按一下「設定工作流程變數」動作,您會發現它也使用「Web 服務金鑰」清單來儲存 Web 服務金鑰或 Token。

圖像

我們讓一切更貼近實際情況

在現實生活中,Web 服務金鑰需要受到安全妥善的管理。為了達到這個目的,我們必須將金鑰儲存在擁有「完整控制權」權限的人員才能存取的清單中,以確保其安全性。不過在這個情況下,一般工作流程邏輯將無法存取該 Web 服務金鑰,因為它必須在工作流程啟動者以及 (邏輯 AND) 其所屬工作流程應用程式允許之下才能執行。因此,如果工作流程啟動者不具有包含 Web 服務金鑰清單的存取權限,工作流程將會失敗。若要使該工作流程僅在具有適用於所有網站清單之「讀取/寫入」權的工作流程應用程式權限下執行,我們必須使用應用程式步驟。 

步驟 1:透過擁有獨立權限確保清單安全無虞

如同上述說明,我們只能讓擁有完整控制權的使用者來存取包含 Web 服務金鑰的清單。為了達到這個目的,您必須停止繼承,並從清單移除不必要的使用者。

比方說,該清單是「Web 服務金鑰」清單。如果您前往此清單的 「清單設定」「權限」 頁面,您可以找到其功能表以停止繼承。

圖像

中斷繼承後,您可以選擇以下的非完整控制權使用者,然後按一下 [移除使用者權限] 按鈕。

圖像

接著,該清單只會有完整控制權使用者。

圖像

步驟 2:啟動應用程式步驟功能

若要使用「應用程式步驟」,您必須按照以下方式在 [網站設定] -> [管理網站功能] 中啟用 [工作流程可使用應用程式權限] 網站功能。

圖像

接著,即可啟用 SPD 中的 [應用程式步驟] 按鈕。

圖像

步驟 3:新增應用程式步驟並移入該邏輯

您必須找到參照「Web 服務金鑰」清單的邏輯,然後將它們放置於「應用程式步驟」容器內。有兩個邏輯需放置於「應用程式步驟」–「呼叫 HTTP」Web 服務動作,以及「設定 RouteMap」變數動作 (如下圖所示說明): 

圖像

圖像

步驟 4:發佈您的工作流程

當您發佈工作流程時,系統會顯示以下對話方塊以說明其行為。

圖像

但願您會喜歡這篇文章,希望您已經了解如何正確使用應用程式步驟。我們下篇文章見!

這是翻譯後的部落格文章。英文原文請參閱 How to Create a SharePoint Designer 2013 Workflow with App Step (extension from the example workflow used for SPC 2012)