SharePoint Designer でのワークフロー開発

最終更新日: 2010年4月19日

適用対象: SharePoint Foundation 2010

Microsoft SharePoint Designer 2010 などの宣言型ルール ベースのコーディング不要のワークフロー エディターでワークフローを作成するときは、直接 Microsoft SharePoint Foundation 2010 の特定のリストまたはドキュメント ライブラリに対してそのワークフローを作成し、データをバインドすることになります。ワークフロー アクティビティの定義済みリストを使用し、コードは使用しません。ユーザーが設計したワークフローは、アセンブリとしてコンパイルされず、最初に実行するときに SharePoint Foundation 2010 によってコンパイルされるまでは、ソース ファイルとして格納されます。

この方法には、以下の利点があります。

  • ワークフローの開発とテストを迅速に行うことができます。

  • ワークフローは特定のリストに固有なので、以下の処理が簡略化されます。

    • 展開処理

    • セキュリティ問題の管理

  • ワークフローはアセンブリにコンパイルされないので、SharePoint Designer 2010 などの宣言型ルール ベースのコーディング不要のワークフロー エディターで作成されたワークフローは、管理ポリシーによってユーザー設定コードのアセンブリが禁止されているサーバーに展開できます。

注意

SharePoint Designer 2010 で作成されたワークフローは、定義済み処理 (さらに、サーバー上で実行することを管理者によって許可されている必要があります) の "セーフ リスト" から構築されています。

  • ワークフローは、Web デザイナやナレッジ ワーカーなど、開発者としての経験が浅いユーザーも作成することができます。

ワークフローは直接ドキュメント ライブラリに対して作成され、データ バインドされるので、SharePoint Designer 2010 で作成されるワークフローと Visual Studio Designer を使用して作成されるワークフローの間には、次のような重大な違いがあります。

  • SharePoint Designer 2010 で作成されたワークフローは、複数のリストに展開できません。作成するときに対象となったリストのみに有効です。

  • ワークフローは直接リストに対して作成されるので、ワークフローとリストは、設計時に関連付けられます。したがって、SharePoint Designer 2010 で作成されたワークフローには、関連付け段階はありません。

  • SharePoint Designer 2010 で作成したワークフローは、変更できません。

  • SharePoint Designer 2010 では、コンテンツ タイプに対してワークフローを作成することはできません。

SharePoint Designer 2010 と Visual Studio Designer との詳細な比較については、「ワークフロー開発ツールの比較」を参照してください。

コンパイルされていないワークフローを実行する

ユーザー設定コードは含まれないので、SharePoint Designer 2010 などの宣言型ルール ベースのコーディング不要ワークフロー エディターで作成されたワークフローは、アセンブリとしてコンパイルおよび展開されることはありません。SharePoint Foundation 2010 にソース ファイルとして格納されていて、必要なときにメモリにコンパイルされます。

このタイプのワークフローは、サイトごとに異なるドキュメント ライブラリに格納されます。このドキュメント ライブラリには、SharePoint Designer 2010 で作成された各ワークフロー用のフォルダーが 1 つずつ含まれます。このフォルダーには、そのワークフローに必要なソース ファイルがすべて含まれます。たとえば、以下のファイルが含まれます。

  • ワークフロー マークアップ ファイル

  • ワークフロー ルール ファイル

  • 必要なユーザー設定ワークフロー フォーム用の ASPX フォーム

SharePoint Foundation 2010 には、アイテムに対してワークフローを初めて開始するときに、ソース ファイルをワークフローにコンパイルするジャスト イン タイム コンパイラが含まれます。サーバーがコンパイルされた ASPX ページをキャッシュして、次にそのページが呼び出されたときの実行をスピードアップするのと同様に、SharePoint Foundation 2010 は、コンパイルされたワークフローを再度呼び出されるまで保持します。

あるアイテムに対してワークフローが開始されるたびに、SharePoint Foundation 2010 は、ワークフローがアセンブリとして展開されているか、ソース ファイルとして展開されているかを判断します。ワークフローのアセンブリが存在する場合、SharePoint Foundation 2010 はアセンブリを呼び出して、ワークフロー インスタンスを作成します。ワークフローがソース ファイルとして展開されていた場合、次に SharePoint Foundation 2010 は、ソース ファイルからコンパイルされたワークフローが既にメモリ内に存在しているかどうかを判断します。存在する場合、SharePoint Foundation 2010 はメモリ内のコンパイル済みワークフローを呼び出して、ワークフロー インスタンスを作成します。存在しない場合、SharePoint Foundation 2010 はジャスト イン タイム コンパイラを使用して、ソース ファイルをメモリ内ワークフローにコンパイルし、それを呼び出してワークフロー インスタンスを作成します。

SharePoint Designer を使用してワークフローを作成する

SharePoint Designer 2010 は、ユーザーが定義済みの操作からシーケンシャル ワークフローを組み立てられるようにする、ウィザード駆動型インターフェイスを使用します。ユーザーは、あらかじめ決められたリストから操作を選択し、選択した操作を SharePoint Designer 2010 インターフェイスを使用して構成します。これらの操作は Visual Studio 2010 ワークフロー デザイナーに存在する操作と同じです。2 つのツール間で操作に違いはありません。

ただし、SharePoint Designer 2010 では、各操作は処理として表示されます。処理は、ドロップダウン メニューや参照ダイアログ ボックスを使用してユーザーが構成可能な変数を格納する文によって表現されます。ユーザーは、ワークフローの流れを指定する、構成可能な条件句として表される条件を選択することもできます。

ユーザーがワークフロー インターフェイス内の条件と処理を選択し、構成するなかで、SharePoint Designer 2010 は、実際にはワークフローのクラスを表す次の 2 つのファイルを生成します。

  • ワークフロー マークアップ ファイル。ワークフローに含まれる操作を記述するマークアップ言語を格納します。

  • ワークフロー ルール ファイル。コードではなく、宣言ルール フォーム内にワークフローのビジネス ロジックを格納します。

ユーザー設定の操作と条件を追加する

SharePoint Designer 2010 によるワークフローの作成者は、ワークフローで使用するユーザー設定操作を作成できないため、SharePoint Designer 2010 に表示される "セーフ リスト" (サーバー管理者の承認も必要) 上で開発者が利用可能にする操作と条件にユーザー設定操作が制限されます。開発者は、ユーザー設定の操作と条件を作成し、それらをセーフ リスト上で利用可能にできます。

条件とは、呼び出されたときに条件を評価して Boolean 値を返す静的メソッドを含む、カスタム アセンブリです。

操作と条件をセーフ リスト上で利用可能にするには

  1. 操作または条件を作成し、それを厳密な名前を持つアセンブリとしてコンパイルして、グローバル アセンブリ キャッシュに展開します。

  2. 操作または条件を web.config ファイル内の操作セーフ リストに追加します。

  3. ワークフロー フォルダーにある WSS.Actions ファイル内に、SharePoint Designer 2010 ユーザー インターフェイスにおいて操作や条件を表す文についてルールとパラメーターを追加します。この文は、インターフェイス内で操作または条件がどのように表示、実行されるのかを指定するマークアップ言語です。これは、この情報が操作や条件のアセンブリ自体には存在しないからです。

ユーザー設定の操作と条件の展開の詳細については、SharePoint Designer 2010 のヘルプを参照してください。

SharePoint Designer で ASP.NET フォームを生成する

SharePoint Designer 2010 で、ワークフローの開始段階を作成します。開始段階を作成する場合、SharePoint Designer 2010 は ASP.NET を使用し、開始仕様に従って開始フォームを自動的に生成します。

同様に、ワークフローで使用する Microsoft SharePoint Foundation 2010 のユーザー設定作業を作成できます。この場合も、SharePoint Designer 2010 は仕様に従って、ユーザー設定作業の ASP.NET フォームを自動的に生成します。

作成された ASPX フォームは、ワークフロー ソース ファイルと共に SharePoint サイトに格納されます。作成した ASPX フォームは、他の ASPX フォームと同様、開いてカスタマイズできます。

関連項目

概念

SharePoint Foundation のワークフローの開発

ワークフロー開発ツールの比較

SharePoint Designer ワークフローの概要

Visual Studio でのワークフロー開発