Share via


建立 SharePoint 工作流程方案

Visual Studio 提供工具來協助您建立自訂工作流程,以管理 SharePoint 網站中文件和清單項目的生命週期。 提供的項目包括設計工具、一組活動控制項,以及必要的組件參考。 Visual Studio 也包含 SharePoint 自訂精靈,可協助建立和設定工作流程。

如需 SharePoint 的詳細資訊,請參閱 Microsoft SharePoint 產品和技術

SharePoint 中的工作流程

當您將工作流程新增至 SharePoint 文件庫或清單時,您會在文件庫或清單中的所有項目上強制執行商務程序。 工作流程描述系統或使用者必須在每個項目上執行的動作,例如傳送要編輯和檢閱的項目。 這些動作稱為活動,是工作流程的建置組塊。

您可以在 Visual Studio 中建立 SharePoint 工作流程,並將其部署至 SharePoint 網站。 將工作流程部署至 SharePoint 之後,您會將其與文件庫或清單建立關聯。 然後,工作流程即可透過程序自動開始,或由使用者手動開始。 如需工作流程作業的詳細資訊,請參閱使用 Visual Studio 開發 SharePoint 工作流程

建立自訂 SharePoint 工作流程

Visual Studio 中有兩個 SharePoint 工作流程專案可供您使用:循序工作流程狀態機器工作流程

循序工作流程代表一系列步驟。 這些步驟會循序執行,直到最後一個活動完成為止。 循序工作流程一律會以嚴格循序的方式來執行。 因為其可以接收外部事件,並包含平行邏輯流程,所以執行順序可能會有所不同。 下圖顯示循序工作流程的範例。

Sequential Workflow

狀態機器工作流程代表一組狀態、轉換和動作。 狀態機器工作流程中的步驟會以非同步方式執行。 這表示其不一定會循序執行,而是由動作和狀態所觸發。 一個狀態會獲指派為開始狀態,然後根據事件轉換為另一個狀態。 狀態機器可以有決定工作流程結尾的最終狀態。 下圖顯示狀態機器工作流程的範例。

State Machine Workflow

如需工作流程類型的詳細資訊,請參閱工作流程類型

使用精靈

當您在 Visual Studio 中建立 SharePoint 工作流程專案時,請先在 SharePoint 自訂精靈中指定其設定。 精靈會使用這些設定在 [方案總管] 中建立專案。 此專案包含程式碼檔案、用來部署工作流程的數個檔案,以及建立自訂 SharePoint 工作流程所需的組件參考。

建立工作流程之後,您可以在 [屬性] 視窗中修改其屬性。 雖然大部分的工作流程屬性可以直接在 [屬性] 視窗中變更,但有些則要求您按一下省略符號按鈕 (ASP.NET Mobile Designer ellipse) 才能變更其值。 此按鈕會重新啟動 SharePoint 自訂精靈。 變更屬性值之後,選擇 [完成] 確認完成。

注意

工作流程類型屬性為唯讀且無法變更。 如果您想要變更工作流程類型,則必須建立另一個工作流程。

設計 SharePoint 工作流程

定義商務程序中的所有步驟之後,請使用 Visual Studio 工作流程設計工具來設計 SharePoint 工作流程。 若要開啟設計工具,請按兩下 [方案總管] 中的 Workflow1.cs 或 Workflow1.vb,或是開啟兩個檔案其中之一的捷徑功能表,然後選擇 [開啟]

活動

若要設計工作流程,請將 [工具箱] 中的活動新增至設計工具上的工作流程排程。 工作流程排程包含應執行的活動順序。

這些活動可成分兩種類型:

  • 簡單活動會執行單一工作單位,例如「延遲 1 天」或「啟動 Web 服務」。

  • 複合活動包含其他活動;例如,條件式活動可能包含兩個分支。

    這兩種類型的活動都可在 [工具箱] 中取得。

    可以具有屬性、方法與事件的活動。 使用 [屬性] 視窗來設定活動的屬性。

    您也可以建立自訂活動。 如需詳細資訊,請參閱逐步解說:建立自訂網站工作流程活動

    活動會組織在 [工具箱] 的下列索引標籤中:

  • SharePoint 工作流程

  • Windows Workflow v3.0

  • Windows Workflow v3.5

    SharePoint 不支援所有的核心工作流程活動。 如需詳細資訊,請參閱 Windows SharePoint Services 的工作流程活動概觀

SharePoint 工作流程活動

[SharePoint 工作流程] 索引標籤包含用於 Microsoft SharePoint Foundation 的特殊活動。 這些活動可簡化文件生命週期工作流程的開發。 如需 [SharePoint 工作流程] 索引標籤中所列活動的詳細資訊,請參閱 Windows SharePoint Services 工作流程活動概觀

Windows 工作流程活動

[Windows 工作流程] 索引標籤包含 Windows Workflow Foundation 所提供的活動。 您可以使用這些活動來針對任何類型的 Windows 工作流程應用程式建立工作流程排程。

如需 [Windows 工作流程] 索引標籤中所列活動的詳細資訊,請參閱 Windows Workflow Foundation 活動。 如需 Windows Workflow Foundation 的詳細資訊,請參閱 Windows Workflow Foundation 概觀

在設計工具中使用活動

您的工作流程排程可以包含 Windows 工作流程活動和 SharePoint 工作流程活動的組合。

設計工具會顯示視覺化提示,以協助您正確地定位和設定活動。 當您將活動拖曳或複製到工作流程排程時,設計工具會顯示綠色的加號 (+) 圖示,表示工作流程中該活動的有效位置。 您無法將活動定位在無效的位置。 例如,您無法將傳送活動定位為接聽活動分支中的第一個活動。 如需詳細資訊,請參閱 SharePoint Designer 開發人員中心

在工作流程期間收集資訊

您可能會想要在工作流程的預先定義時間從使用者收集資訊。 您可以使用表單或項目屬性來收集資訊。

表單

表單就像包含問題的對話方塊,並提供使用者提供解答的方式。

工作流程中可以使用四種類型的表單:

  • 關聯

  • 起始

  • 修改

  • Task

    其中,Visual Studio 包含關聯和起始表單的項目範本。 關聯表單的範例是讓系統管理員安裝工作流程時輸入與工作流程相關的參數,例如費用工作流程的消費限制。 起始表單的範例是可讓費用工作流程的使用者在工作流程中輸入所花費的金額。 如需這些表單類型的詳細資訊,請參閱 SharePoint 專案與專案項目範本

項目屬性

您也可以使用 SharePoint 文件庫或清單中的項目屬性,從使用者收集資訊。 主要程式碼檔案 (Workflow1.cs 或 Workflow1.vb) 宣告名為 workflowProperties 的 Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties.WorkflowProperties 類別執行個體。 使用 workflowProperties 物件來存取程式碼中程式庫或清單的屬性。 例如,請參閱逐步解說:建立並偵錯 SharePoint 工作流程方案

偵錯 SharePoint 工作流程範本

您可以偵錯 SharePoint 工作流程專案,就像偵錯其他 Visual Studio Web 型專案一樣。 當您啟動 Visual Studio 偵錯工具時,Visual Studio 會使用您在 SharePoint 自訂精靈中指定的設定來開啟適當的 SharePoint 網站,並自動將工作流程範本與適當的文件庫或清單建立關聯。 Visual Studio 也會將 Visual Studio 偵錯工具附加至名為 w3wp.exe 的 Microsoft SharePoint Foundation 處理程序。

若要測試工作流程,您必須手動開始工作流程。 如需詳細資訊,請參閱偵錯 SharePoint 方案中的〈偵錯工作流程〉一節。 如需 Visual Studio Web 應用程式偵錯的詳細資訊,請參閱偵錯 Web 應用程式和指令碼

部署 SharePoint 工作流程範本

Visual Studio SharePoint 工作流程專案的部署方式就像其他 Visual Studio SharePoint 專案一樣。 如需詳細資訊,請參閱封裝和部署 SharePoint 方案

匯入可全域重複使用的工作流程

除了建立網站特定的可重複使用工作流程之外,SharePoint Designer 還可讓您建立可全域重複使用的工作流程,這些工作流程可供任何 SharePoint 網站使用。 Visual Studio 中的 [匯入可重複使用的工作流程] 專案目前尚無法匯入可全域重複使用的工作流程。 不過,您可以使用 SharePoint Designer 將全域可重複使用的工作流程轉換為可重複使用的工作流程,或將工作流程匯入為未轉換的宣告式工作流程。 如需詳細資訊,請參閱從現有的 SharePoint 網站匯入項目

標題 描述
建立並偵錯 SharePoint 工作流程方案 引導您逐步建立和偵錯簡單的 Visual Studio 工作流程。
逐步解說:使用關聯與起始表單建立工作流程 引導您逐步建立功能更完整的 Visual Studio 工作流程,並完成關聯和起始表單。
逐步解說:將應用程式頁面新增到工作流程 以主題逐步解說:使用關聯與起始表單建立工作流程為基礎,方法是新增其他 .aspx 應用程式頁面,以報告輸入至工作流程中的資料。
逐步解說:建立自訂網站工作流程活動 示範如何執行兩個主要工作:建立網站層級工作流程,以及建立自訂工作流程活動。
逐步解說:將 SharePoint Designer 可重複使用的工作流程匯入 Visual Studio 示範如何將 SharePoint Designer 2010 中所建立可重複使用的宣告式工作流程匯入 Visual Studio SharePoint 專案。

另請參閱