Share via


ワークフロー カスタム アクションを構築および展開する

SharePointでカスタム ワークフロー アクションを作成することによって、SharePoint Designer のワークフロー アクションの既存のライブラリでは要件が満たされないビジネス プロセスをモデル化する方法を確認します。

SharePoint Designer は、ワークフロー デザイナーのユーザー インターフェイス (UI) によって使用できる一連のワークフロー アクションを提供します。 SharePoint Designer に含まれるワークフロー アクションは非常に広範囲に及びますが、限りがあります。 場合によっては、SharePoint Designer で使用可能なワークフロー アクションの既存のライブラリでは要件が満たされないビジネス プロセスをモデル化する必要があります。

注:

SharePoint 2010 ワークフローは、2020 年 8 月 1 日以降、新しいテナント用に廃止され、2020 年 11 月 1 日に既存のテナントから削除されました。 SharePoint 2010 ワークフローを使用している場合は、Power Automate またはその他のサポートされているソリューションに移行することをお勧めします。 詳細については、「SharePoint 2010 ワークフローの廃止」を参照してください。

ビジネス プロセスには多くの場合に特別な要件があることを考慮し、SharePointではカスタム ワークフロー アクションを作成できます。 これらのカスタム アプリケーションは Visual Studio を使用して開発でき、その後それらをパッケージ化して SharePoint に展開できます。 その時点で、カスタム アクションは SharePoint Designer のワークフロー作成者から使用可能となり、既存のアクションのライブラリに含まれているものと同様になります。 この機能を使用すると、ワークフロー作成環境の機能を特殊なビジネス プロセスに対応するようにカスタマイズできます。

注:

カスタム アクションの作成を示したサンプルが提供されています。 サンプルと readme ファイルは、 SharePoint ワークフロー: カスタム アクションの作成 (https://code.msdn.microsoft.com/SharePoint-2013-workflow-41e5c0f9) にあります。

カスタム ワークフロー アクションの主要なシナリオ

カスタム ワークフロー アクションの主要なシナリオを例示します。

  1. ビジネス アナリストや、その他の技術者ではない IT 担当者が SharePoint Designer を使用してワークフローを作成し、内部ビジネス プロセス (ドキュメント承認プロセスなど) をモデル化するとします。 ただし、この会社では、最終的な承認時に実行されるプロセスの最終段階は、指定された印刷部数のドキュメントを印刷して製本する外部印刷業者にドキュメントを自動的に送信する処理です。

  2. SharePoint Designer 2013 に含まれるワークフロー アクションの中には、外部印刷業者へのドキュメントの送信をサポートするものはありません。 したがって、経営陣は社内の IT 担当者向けのこのカスタム アクション (社内では "Send Files to Printer (印刷業者へのファイルの送信)" アクションという名前) を自社で開発することを決定しました。

  3. ベンダーは、印刷 Web サービスを公開します。 大文字にするには、SendFilesToPrinter という名前のカスタムの [プリンターにファイルを送信] アクションを作成します。 開発者が作成するのは、宣言型ワークフロー アクティビティです。 また、開発者は、SharePoint Designer でアクションのドラッグ アンド ドロップ UI を提供するワークフロー アクションを作成します。

  4. 開発者は、 SendFilesToPrinter アクティビティと 印刷業者へのファイルの送信 アクションの両方を SharePoint ソリューション パッケージ (.wsp) ファイルにパッケージ化し、サイト コレクション機能として SharePoint ファームに展開します。

  5. この機能を展開してアクティブ化すると、IT 担当者の使用する SharePoint Designer UI に [ Send Files to Printer ] (印刷業者へのファイルの送信) という新しいカスタム アクションが通常のすべてのアクションと共に表示され、他のすべてのアクションと同様に使用できます。

カスタム アクションの概要

アクションは、基になっている SharePoint Designer のアクティビティの機能を抽象化するラッパーです。 実行時には、アクション自体ではなく基になっているアクティビティが Windows Server AppFabric で実行されます。 そういう意味でアクションは、基になっている機能を SharePoint Designer ワークフロー作成環境で設計時に抽象化し、SharePoint Designer ユーザー インターフェイスの要素としただけのものといえます。

すべてのアクションと同様に、カスタム アクションは "Web 範囲に" あります。つまり、SharePoint Web サイト、言い換えれば SharePoint.SPWeb インスタンスのレベルでアクティブ化されるということです。

アクションは、ファイル名に拡張子 .actions4 が付く XML 定義ファイルに定義されています。 一方、基になっている 1 つまたは複数のアクティビティは XAML ファイルに定義されています。

Visual Studio 2012 でのカスタム アクティビティの記述

Visual Studio 2012 は現在、SharePoint プロジェクトの内部で "ワークフロー カスタム アクティビティ" というアイテム型を提供しています。 このアイテム型を使用すると、カスタム アクティビティを作成して SharePoint Designer 2013でカスタム アクションとしてインポートできます。

例: カスタム アクティビティの作成、パッケージ化、および展開

ワークフロー カスタム アクティビティを作成するには

  1. 最初に Visual Studio 2012 を開いて、図 1. のように SharePoint Project タイプの新しい Visual C# プロジェクトを作成します。

    図 1. [新しいプロジェクト] ダイアログ ボックス

[新しいプロジェクト] ダイアログ

  1. ソリューション エクスプローラーで、プロジェクト名ノードを右クリックし、[追加]、[新しい項目] の順に選択します。 図 2 に示すように、[ 新しい項目の追加 ] ダイアログ ボックスが開きます。

    図 2. [新しいアイテムの追加] ダイアログ ボックス

[新しいアイテム] ダイアログ ボックス

  1. [新しいアイテムの追加] ダイアログ ボックスで、[ワークフロー カスタム アクティビティ] アイテム型を選択してわかりやすい名前を付けます。 図では、"WorkflowActionsModule1" という名前になっています。 次に、[追加] を選択します。 新しいアイテムが作成されて、アクティビティ設計領域が表示されます。

  2. [ ツールボックス ] タブがまだ表示されていない場合は、それをクリックしてツールボックス ノードを公開します。 [SharePoint ワークフロー] ノードをクリックして、ワークフロー開発オブジェクトを表示します。 図 3 のワークフロー ツールボックスには、オブジェクトの部分的なビューがあります。

    図 3. SharePoint ワークフロー ツールボックスの一部の表示

ワークフロー ツールボックス

  1. 新しいアクション (.actions4) およびアクティビティ (.xaml) のファイルを、必要に応じてワークフロー モジュールに追加します。 これらのファイルを追加するには、 ソリューション エクスプローラーでアクション モジュール アイコンを右クリックして [ 追加] を選択し、[ アクションの追加] (新しい action4 ファイルを追加する場合) または [ 新しいアクティビティ] (新しいアクティビティを追加する場合) を必要に応じて選択します。

アクション モジュールを作成し、アクション ファイルとアクティビティ ファイルを追加した後、プロジェクトは図 5 に示すような外観になります。 追加したアクションごとに 1 つの .actions4 ファイルと、アクティビティごとに 1 つの .xaml ファイルが表示されます。 さらに、Elements.xml ファイルとモジュールの .xaml ファイルがあります。

図 5. ソリューション エクスプローラーのワークフロー アクション モジュール

ソリューション エクスプローラーのアクティビティ ノード

カスタム ワークフロー アクティビティを作成したら、パッケージ化して展開できます。 展開が完了したら、カスタム アクティビティは SharePoint Designer 2013 でカスタム アクションとして使用できます。

カスタム アクションは、SharePoint ソリューション パッケージ (.wsp) ファイルの SharePoint 機能としてパッケージ化および展開されます。 ソリューション パッケージには、SharePoint に展開されているファイルのセットである "カスタム アクション モジュール" が含まれます。 カスタム アクション モジュールにはワークフロー アクティビティの定義をいくつでも含めることができ、それぞれの定義は .xaml ファイルとなります。 カスタム アクション モジュールにはアクション (.actions4) ファイルも含まれます。 各アクション ファイルには複数のアクションが含まれていて、モジュール内のアクティビティを参照するものや、既定の SharePoint インストールで使用可能なネイティブのアクティビティを参照するものがあります。

ソリューション パッケージ (.wsp) ファイルをターゲットの Web サイト (すなわち SharePoint サイト コレクション) にアップロードしてアクティブ化したら、パッケージに含まれる機能がインストールされてアクティブ化できるようになります。 カスタム アクションをアクティブ化すると、ワークフロー内で使用できるようになります。

カスタム アクションの更新および削除

カスタム アクションを展開した後、それらを簡単に更新または削除することができます。 Visual Studio でアクティビティ プロジェクトを開き、必要な変更を加えて前述の手順でパッケージ化および再展開するだけです。 カスタム アクションを削除するには、ターゲット サイト コレクションの機能をアンインストールします。

機能のアクティブ化

サイト コレクションの (すなわち SPWeb インスタンスの) カスタム アクション機能のアクティブ化は、Azure/ ワークフロー マネージャー クライアント 1.0 (マルチテナント ワークフロー エンジン) が正しく構成されている場合のみ成功します。 正しく構成するために役立つ、次の 2 つのトラブルシューティング ヒントがあります。

  • [サイトの機能] ページにアクセスして、カスタム アクションを含む機能がアクティブ化されていることを確認します。

  • ワークフロー マネージャー クライアント 1.0 データベースを照会してアクティビティが正しく展開されていることを確認します。

関連項目