SharePoint 開発

SharePoint Online 用にワークフロー ソリューションを構築する

Chris Mayo

コード サンプルのダウンロード

インフォメーション ワーカーによるグループ作業を円滑に進めるため、多くの組織が SharePoint を導入しています。このような組織の多くは、SharePoint を使用してリストやドキュメント ライブラリに情報を格納していますが、サポートしているビジネス プロセスは手動の状態です。情報を SharePoint に格納するだけでも、その情報の効果は格段に高まり、グループ作業が容易になりますが、手動のビジネス プロセスを SharePoint 内で SharePoint ワークフローの形式で自動化すると、インフォメーション ワーカーの生産性が大幅に向上します。

Office 365 のリリースにより、SharePoint Online では、クラウドベースのサービスとしてのソフトウェア (SaaS) の利点に加えて、SharePoint と同じグループ作業機能も利用できるようになります。SharePoint Online は、SharePoint Designer 2010 で構築され、サンドボックス ソリューションによって展開される宣言型のワークフローを通じてワークフローをサポートします。組み込みのワークフロー アクションが、ワークフロー ソリューションの要件をサポートしなければ、Visual Studio 2010 を使用してカスタム ワークフロー アクションを構築し、それをサンドボックス ソリューションによって SharePoint Online に展開できます。

今月の記事では、SharePoint Online でのワークフロー サポートの概要を説明します。また、SharePoint Designer 2010 を使用して宣言型ワークフローを構築し、カスタム アクションを利用してこのワークフローを拡張して、これを SharePoint Online のサンドボックス ソリューションとして展開し、クラウド内で実行されるようにします。

SharePoint Online 開発と SharePoint 2010 開発の類似点と相違点の詳細については、MSDN マガジンの私の記事「SharePoint Online とのクラウドベースのグループ作業」(bit.ly/spodevmsdn) を参照してください。SharePoint Online と Office 365 の詳細については、office365.com を参照してください。

SharePoint Online 開発の概要

SharePoint Online では、Visual Studio 2010、SharePoint Designer 2010、C# や Visual Basic、SharePoint API と SDK など、SharePoint 2010 開発と同じスキルとツールを使用してグループ作業ソリューションを作成できます。SharePoint 2010 と SharePoint Online のソリューション開発には多くの共通点がありますが、構築できるソリューションの種類やソリューションの構築方法に影響する相違点もあります。

SharePoint Online は、サンドボックス ソリューションしかサポートしません。つまり、シーケンシャル ワークフロー プロジェクト アイテムやステート マシン ワークフロー プロジェクト アイテムを使用して構築したソリューションも含め、コードベースのワークフローは展開できません。ただし、SharePoint Designer 2010 を使用して構築したワークフローは、コードベースではなく宣言型のワークフローになるため、サポートされます。このようなワークフローは SharePoint Online に、直接展開することも、パッケージ ファイルを使用し、ソリューション ギャラリーを介して展開することもできます。また、Visual Studio 2010 を使用して構築されたサンドボックス ソリューションを使ってこの宣言型ワークフローを拡張し、SharePoint Designer 2010 が標準ではサポートしないシナリオをサポートするカスタム ワークフロー アクションを提供できます。

今月の記事は、先月説明した概念とソリューションを踏まえて作成しています。先月の記事をお読みいただき、その手順に従って SharePoint Online 開発環境をセットアップして、購買ソリューションのサンプルを構築し、SharePoint Online 開発の概念を十分に理解しておいてください。SharePoint Online でのワークフロー サポートを説明するために、今回はこの購買ソリューションを拡張して、ワークフロー ソリューションを取り入れます。

SharePoint Designer 2010 の概要

SharePoint Designer 2010 は、コードを記述しないで SharePoint 2010 をカスタマイズできる、パワー ユーザーおよび開発者向けの製品です。SharePoint Designer 2010 は SharePoint Online もサポートしますが、BCS や外部リストのサポートなど、SharePoint 2010 と SharePoint Online との機能的な違いが若干あります。SharePoint Designer 2010 は、SharePoint の成果物の操作や管理、データを使った作業、および SharePoint サイトの外観のカスタマイズに非常に便利なツールです。また、グループ作業ソリューションの一部として展開できるカスタム ワークフローも作成できます。SharePoint Designer 2010 の機能の詳細については、ビデオ「SharePoint Online に SharePoint Designer 2010 を導入する」(bit.ly/spdspointro、英語) を参照してください。SharePoint Designer 2010 は無償でダウンロードでき、32 ビット版 (bit.ly/spd201032、英語) と 64 ビット版 (bit.ly/spd201064、英語) の両方をサポートします。

購買ソリューション

今月の例では、先月導入した架空の企業 Contoso 社の購買プロセスを基に、購入依頼の承認を自動化する SharePoint ワークフローを追加します。承認が必要な購入依頼の場合、ユーザーはワークフローを開始して、その購入が業務上必要な理由を入力します。ワークフローは承認プロセスを開始し、購入の詳細情報を基に、承認者グループ向けにタスクを作成します。承認または却下されると、依頼の承認結果を通知する電子メールが依頼元のユーザーに送信されます。次に、ワークフローは、依頼の種類を調べます。出張 (技術カンファレンスに出席するなど) の依頼が承認された場合、ユーザーが出張報告書を入力し、スライドをアップロードできるように、ワークフローによってサブサイトが作成されます。このため、ここでは RequestType フィールドを Non-Standard Business Purchase Requests に追加します。

先月の PurchaseMgr プロジェクトを更新して、RequestType フィールドを追加します。先月の手順に従っている場合、プロジェクト パッケージを削除して、今月の記事に付属のプロジェクト パッケージを展開するか、Travel、Equipment、および Service Request の選択肢が設定された必要な RequestType フィールドを Non-Standard Purchase Requests リストに追加できます。今月の記事のコード (bit.ly/spoworkmsdncode、英語) を基に作業をします。このコードをローカル コンピューターの Documents\Visual Studio 2010\Projects\SPOMSDN_Workflow ディレクトリに展開します。次に、ローカルの SharePoint 2010 開発環境のサイト コレクションのソリューション ギャラリー (ここでは http://o365dpe.contoso.com/sites/spomsdnmag) に PurchasingMgr.wsp を展開し、この記事の Purchasing サイト (http://o365dpe.contoso.com/sites/spomsdnmag/purchasing) で、コンテンツ タイプおよびリストを含む機能である [Purchasing Manager] を有効にします。

ワークフローを作成する

ワークフローの開発を始めるには、SharePoint Designer 2010 を開き、[ファイル] メニューの [サイト] をポイントし、[サイトを開く] をクリックします。サイトの URL (http://o365dpe.contoso.com/sites/spomsdnmag/purchasing) を入力して、ローカルの SharePoint 2010 開発環境サイトの Purchasing サイトを開きます。ナビゲーション ウィンドウで [ワークフロー] を選択し、現在公開されているワークフローと [ワークフロー] リボンを表示します (図 1 参照)。

Workflows in SharePoint Designer 2010
(クリックすると拡大表示されます)

図 1 SharePoint Designer 2010 でのワークフロー

SharePoint Online は、特定のリストを対象とするリスト ワークフロー、特定のサイトを対象とするサイト ワークフロー、および、将来、リストまたは特定のコンテンツ タイプにバインドできる再利用可能なワークフローをサポートします。ここでは、ワークフローをソリューションの一部として配布できるようにするため、配布をサポートする唯一のワークフローである再利用可能ワークフローを作成します。

SharePoint Designer でワークフローを作成する方法はいくつかあります。[コピーと変更] ボタンを使用して、組み込みのワークフロー (承認、フィードバックの収集、署名の収集など) を基にワークフローを作成することも、[Visio からインポート] ボタンを使用して Microsoft SharePoint Workflow テンプレート ベースの Visio 2010 図をインポートすることも、リボンの [ワークフロー] タブの [新規作成] を使用してワークフローをまったく新しく作成することもできます。ここでは、リボンの [新規作成] の [再利用可能なワークフロー] ボタンをクリックして、ワークフローを最初から作成します。[再利用可能なワークフローの作成] ダイアログ ボックスで、ワークフローに「Non-Standard Business Purchase Request Approval」という名前を付けて、[Purchasing Manager – Non-Standard Business Purchase Request Content Type] を選択し、ワークフローがカスタム コンテンツ タイプにバインドされるようにします (図 2 参照)。

Reusable Workflow Bound to the Content Type
(クリックすると拡大表示されます)

図 2 コンテンツ タイプにバインドされた再利用可能なワークフロー

次に、[ワークフロー] タブの [管理] の [ワークフロー設定] をクリックして、Non-Standard Business Purchase Request Approval ワークフローの設定ページに移動します。

[設定] の [ステータス ページにワークフローの視覚エフェクトを表示する] チェック ボックスをオンにし、ワークフローの各インスタンスの状態をリアルタイムの視覚エフェクトでユーザーが確認できるようにします。[開始オプション] グループの [手動で開始するオプションを無効にする] チェック ボックスをオフにし、[アイテム作成時の自動開始オプションを無効にする] および [アイテム変更時の自動開始オプションを無効にする] チェック ボックスをオンにして、このワークフローを手動で開始されるワークフローにします。コンピューターにより開始されるワークフローを作成するには、これとは逆の設定を行います。

多くの場合、ワークフローを完成するために必要な情報は、リストやライブラリには格納されていません。このような情報を収集して、ワークフロー固有の変数や列に格納します。それには、[ワークフロー] リボンの [変数] を使用します (図 3 参照)。

図 3 ワークフローの変数

変数の種類 説明
開始フォーム パラメーター ワークフローが開始されるか、リストに関連付けられるときに、ユーザーから収集されるデータを格納するパラメーター
ローカル変数 ワークフローの処理に使用されるデータを格納するプライベート変数
関連付け列 ワークフローがリストに関連付けられるときに、基本となる列セットが再利用可能なワークフローで確実に使用されるようにするためにリストに追加される列

この例では、承認者が判断をするうえで参考にできるように、ワークフローの開始時に、その購入が業務上必要な理由を収集します。それには、[変数]、[開始フォームのパラメーター]、[追加] の順にクリックします。[フィールドの追加] ダイアログ ボックスで Business Rationale パラメーターを作成し、[次へ] をクリックし、[完了] をクリックします。

SharePoint Designer からワークフローを実装する

この時点で、ワークフローの実装を開始できるようになったので、[ワークフロー設定] タブの [編集] の [ワークフローの編集] を選択します。SharePoint Designer 2010 のワークフロー デザイナーが開きます。このワークフロー デザイナーの [ワークフロー] リボンの [挿入] グループの [条件]、[アクション]、および [ステップ] のオプションを使用してワークフローを実装します (図 4 参照)。

Workflow Designer—Insert Section
(クリックすると拡大表示されます)

図 4 ワークフロー デザイナー - [挿入] セクション

ステップは、ワークフローの条件とアクションを整理し、それらの条件とアクションの実行方法を制御するために使用します (図 5 参照)。

図 5 ステップの種類

ステップの種類 説明
ステップ ステップは、ワークフローでの条件とアクションを整理するために使用します。すべての条件とアクションが完了しないと、次のステップの実行に進むことはできません。ステップは入れ子にできます。
代理ステップ ワークフローは、手動または自動でワークフローを開始したユーザーのアクセス許可の下で実行されます。代理ステップに含まれるステップは、ワークフローの作成者として実行されます。代理ステップは、ワークフローの最初のステップとしてのみ追加できます。ステップは、代理ステップ内に入れ子にできます。
並列ブロック ステップが並列ブロックに追加されると、順次ではなく、並列に実行されます。

たとえば、図 6 では、Step 2 はワークフローの作成者のアクセス許可を使用して実行されますが、Step 1 はワークフローを (手動または自動で) 開始したユーザーとして実行されます。Step 5 と Step 6 は並列に実行され、Step 3 と Step 4 は順番に実行されます。

Steps—Effect on Workflow Execution

図 6 ステップ - ワークフローの実行の効果

今回のワークフローでは、ステップを 1 つだけ用意します。ステップの条件とアクションの動作を記録するために、テキスト「Step 1」をクリックして「Request Purchase Approval」と入力し、タイトルを変更します。次に、ステップ内をクリックして、アクションと条件を追加する必要がある場所にカーソルを置きます。

ワークフロー内で実行されるアクションには、承認プロセスの開始、リスト アイテムの変更、電子メールの送信などがあります。サポートされるすべてのアクションについては、SharePoint Designer 2010 のリファレンス (https://office.microsoft.com/ja-jp/sharepoint-designer-help/workflow-actions-in-sharepoint-designer-2010-a-quick-reference-guide-HA010376961.aspx) を参照してください。このシナリオでは、購入依頼の承認プロセスを開始するので、リボンの [挿入] セクションの [アクション] ドロップ ダウンから [承認処理を開始する] を選択します。これで、複数のハイパーリンクが設定された文がデザイナーに追加され、各リンクを選択して詳細を指定することで、アクションを完成できます (図 7 参照)。

Adding the Start Approval Process Action

図 7 承認処理の開始アクションの追加

"承認" リンクをクリックすると、承認タスクをカスタマイズでき、タスクの処理方法もタスクの結果も変更できます。[戻る] ボタンをクリックすると、エディターに戻ります。"複数のユーザー" リンクをクリックして、タスクをカスタマイズし、承認プロセスの参加者を指定します。[タスク処理参加者の選択] ダイアログ ボックスで、[参加者] に [Approvers] (参加者) グループを選択し、タスクのタイトルを設定します (図 8 参照)。[説明] には、承認者の判断を助けるために、アイテムについての詳細と、業務上これが必要な理由を設定します。たとえば、リスト アイテムのタイトルを含める場合、[参照の追加または変更] ボタンをクリックし、[データ ソース] には [現在のアイテム] を選択し、[ソースのフィールド] には [タイトル] を選択します。

Customizing the Approval Task

図 8 承認タスクのカスタマイズ

タスクは最終的に図 9 のようになります。

Customized Approval Task

図 9 カスタマイズした承認タスク

タスクが承認または却下されるか、期限が指定されている場合は期限切れになるまで、ワークフローは、ワークフロー実行のこの時点で一時停止します。フローを制御するため、条件を使用します。

条件は、ワークフローの変数またはフィールドの値を基に、ワークフローのロジックを制御します。たとえば、アイテムが承認された場合、電子メールを依頼者に送信し、依頼の種類が "出張" だった場合はサイトを作成します。アイテムが却下された場合、電子メールを送信して、アイテムを削除します。そのため、カーソルを承認プロセスの下に移動し、[条件] ボックスをクリックして、このボックスの一覧の [If any value equals any value] (ある値がある値と等しい場合) を選択します。"値" ハイパーリンクをクリックし、表示されたボタンをクリックして、[ワークフロー参照の定義] ダイアログ ボックスを表示します。[データ ソース] には [ワークフローの変数とパラメーター] を選択し、[ソースのフィールド] には [変数: IsItemApproved] を選択します。この変数は、"承認処理を開始する" タスクが追加される時点で、ワークフローに追加されます。

次に "に等しい" リンクをクリックして、表示されたドロップダウン リストから [に等しい] を選択します。今度は、"値" リンクをクリックして、ドロップダウン リストから [はい] を選択します。この条件の下に Else-If Block を挿入して、アイテムが却下された場合に対応できるようにします。各分岐に送信アクションと電子メール アクションを追加し、文字列ビルダーを使用して電子メールの件名を設定します (図 10 参照)。

Approval E-mail

図 10 承認の電子メール

次に、If 条件以下に "現在のアイテム フィールドと値が等しいかどうか" という条件を追加し、判定を行うフィールドを RequestType に設定して、依頼が出張だった場合に新しいサブサイトを作成できるようにします。デザイナーはこの時点で図 11 のようになります。

The Conditional Flow of the Workflow

図 11 ワークフローの条件フロー

出張依頼のサイトを作成する場合、このアクションは SharePoint Designer 2010 に組み込まれていないため、カスタム ワークフロー アクションを作成する必要があります。それには、ワークフローを保存し、SharePoint Designer 2010 を閉じて、Visual Studio 2010 を開きます。

Visual Studio 2010 でカスタム ワークフロー アクションを作成する

カスタム ワークフロー アクションは、Visual Studio 2010 およびサンドボックス ソリューションを使用して SharePoint Designer 2010 に追加できます。このようなアクションを使用すると、サンドボックス ソリューションで実行できる任意のタスクを実現できるため、SharePoint Online ワークフローの柔軟性がかなり高まります。

Visual Studio 2010 で、[ファイル] メニューの [新しいプロジェクト] をクリックし、[新しいプロジェクト] ダイアログ ボックスで SharePoint 2010 テンプレートを選択し、[空の SharePoint プロジェクト] を選択します。[名前] ボックスに「PurchasingMgrActions」と入力し、[場所] ボックスに「Documents\Visual Studio 2010\Projects\SPOMSDN_Workflow\」と入力して、[OK] をクリックします。SharePoint カスタマイズ ウィザードで、使用するローカル サイトに該当するローカル開発サイト (http://o365dpe.contoso.com/sites/spomsdnmag/purchasing) を指定し、[サンドボックス ソリューションとして配置する] を選択して、[完了] をクリックします。

ソリューション エクスプローラーで、PurchasingMgrActions プロジェクトを右クリックし、[追加] をポイントして [クラス] をクリックします。クラスの名前を「CreateSiteAction」とし、[OK] をクリックします。CreateSiteAction クラスは、新しいサイトを作成するためにワークフローから呼び出されるメソッドを提供します。必要な using ステートメントを追加して、CreateSite メソッドを実装します (図 12 参照)。

図 12 CreateSite メソッドの実装

using System;

using System.Collections;



using Microsoft.SharePoint;

using Microsoft.SharePoint.UserCode;



namespace SPDCustomWorkflowActions

{

  public class CreateSiteActivity

  {

    public Hashtable CreateSite(SPUserCodeWorkflowContext context, string siteName)

    {

      Hashtable results = new Hashtable();

      try

      {

        using (SPSite site = new SPSite(context.CurrentWebUrl))

        {

          using (SPWeb web = site.OpenWeb())

          {

            web.Webs.Add(

              siteName,

              "Trip Report: " + siteName,

              string.Empty,

              1033,

              "STS",

              false,

              false);

          }

        }

                

        results["success"] = true;

        results["exception"] = string.Empty;

      }

      catch (Exception e)

      {

        results = new Hashtable();

        results["exception"] = e.ToString();

        results["success"] = false;

      }



      return results;

    }

  }

}

CreateSite メソッドは、カスタム アクションのメソッド シグネチャに従って、ワークフローを実行するコンテキストへのアクセスを提供するための SPUserCodeWorkflowContext をはじめ、必要なパラメーター (ここでは作成するサイトの名前) を渡します。メソッドは、このコンテキストによりサイト コレクション (SPSite) とサイト (SPWeb) へのアクセスを取得し、SPWeb.Webs.Add メソッドによって新しいサイトを作成します。結果は Results Hashtable 変数から返されます。

CreateSiteAction を [アクション] のドロップダウン リストに追加するには、SharePoint Designer 2010 に対するアクションを記述したカスタム フィーチャーを設定した Elements.xml ファイルを展開する必要があります。このファイルをソリューション エクスプローラーで PurchasingMgrActions プロジェクトに追加します。右クリックして [追加] をポイントして [新しいアイテム] をクリックし、[インストールされたテンプレート] 以下で [SharePoint]、[2010] をクリックして、[空の要素] テンプレートを選択します。プロジェクトの名前を「PurchasingMgrWP」と入力して [OK] をクリックします。これは、Action 要素を WorkflowActions 要素に実装することで定義します (図 13 参照)。

図 13 Elements.xml によるサイト作成アクションの定義

<?xml version="1.0" encoding="utf-8"?>

<Elements xmlns="https://schemas.microsoft.com/sharepoint/">

  <WorkflowActions>

    <Action Name="Create Site"

                      SandboxedFunction="true"

                      Assembly="$SharePoint.Project.AssemblyFullName$"

                      ClassName="PurchasingMgrActions.CreateSiteAction"

                      FunctionName="CreateSite"

                      AppliesTo="all"

                      UsesCurrentItem="true"

                      Category="Purchasing Manager Workflow Actions">

      <RuleDesigner Sentence="Create Site with name %1 (exceptions logged to %2)">

        <FieldBind Field="siteName" Text="Site Name" Id="1" DesignerType="TextBox" />

        <FieldBind Field="exception" Text="Exception" Id="2" 

          DesignerType="ParameterNames" />

      </RuleDesigner>

      <Parameters>

        <Parameter Name="__Context"

                      Type="Microsoft.SharePoint.WorkflowActions.WorkflowContext,

                        Microsoft.SharePoint.WorkflowActions"

                      Direction="In"

                      DesignerType="Hide" />

        <Parameter Name="siteName"

                      Type="System.String, mscorlib"

                      Direction="In"

                      DesignerType="TextBox"

                      Description="Name of the site to create" />

        <Parameter Name="exception"

                      Type="System.String, mscorlib"

                      Direction="Out"

                      DesignerType="ParameterNames"

                      Description="Exception encountered"/>

      </Parameters>

    </Action>

  </WorkflowActions>

</Elements>

Action 要素とその属性は、ワークフローでアクションが実行される時点で呼び出されるアセンブリ、クラス、およびメソッドを記述します。ここでは、CreateSiteAction.CreateSite メソッドを呼び出します。RuleDesigner 要素とその FieldBind 要素では、ワークフロー デザイナーに表示される文と、その文中でハイパーリンクとして表示されるフィールドの名前と型を定義します。Parameters 要素とその Parameter サブ要素では、RuleDesigner\FieldBind 要素を CreateSiteAction.CreateSite の呼び出しに渡す方法と返す方法を定義します。たとえば、__Context パラメーターは、型が WorkflowContext で、(DesigerType 属性を "Hide" に設定して) デザイナーに表示せずにそのコンテキストを呼び出しに渡すために使用されます。siteName パラメーターは、siteName フィールド バインドによって値を受け取ります。これは、フィールドとパラメーターに同じ名前を付けることで処理されます。同様に、例外は exception パラメーターによって返され、exception フィールドに渡されます。

カスタム アクションをテストする前に、Feature1 を開き、「Purchasing Manager Workflow Actions」をタイトルに指定して内容をわかりやすくし、スコープをカスタム ワークフロー アクションに必要な "Site" に変更します。

ワークフロー ソリューションを SharePoint Online に展開する

カスタム ワークフロー アクションをテストするには、ソリューション エクスプローラーで PurchasingMgrActions を右クリックし、[パッケージ] を選択してソリューションをパッケージします。次に、ローカルの開発サイト コレクションのソリューション ギャラリー (http://o365dpe.contoso.com/sites/spomsdnmag) に PurchasingMgrActions.wsp をアップロードして、カスタム ワークフロー アクションを展開します。

これで、SharePoint Designer 2010 を開き、ワークフロー エディターで Non-Standard Business Purchase Request Workflow Approval ワークフローを開くと、Purchasing Manager Workflows カテゴリの [アクション] ドロップダウン リストにカスタム ワークフロー アクションが表示されます (図 14 参照)。

Create Site Custom Action in Workflow Designer

図 14 ワークフロー デザイナーに表示された Create Site カスタム アクション

サイト名の変数を "現在のアイテム:タイトル" に設定したら、ワークフローは完成で、テストをできる状態になります (図 15 参照)。

The Completed Workflow

図 15 完成したワークフロー

テストの準備をするには、ワークフローをローカルの開発サイトに発行し、リストに関連付ける必要があります。発行するには、リボンの [保存] セクションの [発行] を選択します。発行が完了したら、ローカル開発サイトの Non-Standard Business Purchase Requests リストに移動し、[リスト] タブをクリックして、リボンの [設定] セクションの [ワークフロー設定] を選択します。[これらのワークフローは、この種類のアイテムで実行するように構成されています] から [Purchasing Manager – Non-Standard Business Purchase Requests] を選択して、[ワークフローの追加] リンクを選択します。Non-Standard Business Purchase Request Approval ワークフローをテンプレートとして選択し、「Non-Standard Business Purchase Approval」という名前を付けて、[次へ] をクリックし、[保存] をクリックします。

これで、ワークフローを実行できるようになりました。リストの最初のアイテムを選択して、リボンの [ワークフロー] セクションで [ワークフロー] を選択し、[Non-Standard Business Purchase Approval] ワークフローをクリックすると、ワークフローが開始されます。次に、Business Rationale 開始フォーム パラメーターに指定されている業務上必要な理由を入力するように求めます。

例のような説明を入力し、[開始] をクリックして、ワークフローを開始します。その後、そのアイテムのワークフロー ページに移動して実行中のワークフローを選択すると、[ワークフロー情報] ページが表示されます。[ワークフロー情報] ページには、ワークフローの視覚エフェクトが表示されます。タスクが承認されると、図が更新されます (図 16 参照)。

Workflow Information Page with Visualization
(クリックすると拡大表示されます)

図 16 視覚エフェクトが表示された [ワークフロー情報] ページ

次に、[サイトの操作] の [すべてのサイト コンテンツの表示] を選択すると、カスタム ワークフロー アクションによって作成されたサイトを確認できます。

これで、ワークフロー ソリューションを SharePoint Online に配布できるようになります。Non-Standard Business Purchase Request ワークフローのパッケージ ファイルを生成するために、SharePoint Designer 2010 でワークフローを開き、リボンの [メッセージ] セクションの [テンプレートとして保存] オプションを選択して、ワークフローをサイト リソース ライブラリに保存します。サイト リソース ライブラリから、パッケージ ファイル PurchasingMgrActions.wsp、Non-Standard Business Purchase Request Approval.wsp、および PurchasingMgr.wsp を取得 (または、既に展開されている場合は既存のリストを変更) し、SharePoint Online サイト コレクションのソリューション ギャラリーにアップロードします。フィーチャーは、フィーチャー間の依存関係を基に、この順番でアクティブにする必要があります (これはフィーチャー アクティブ化依存関係を利用して自動化できます)。サイトのワークフロー フィーチャーをアクティブにし、ワークフローをリストに関連付けたら、同じ手順を実行して、SharePoint Online でワークフローをテストできます。

まとめ

SharePoint Online のワークフローを利用してビジネス プロセスを自動化すると、単に情報を SharePoint Online に保存するよりも効果的にグループ作業を行うことができます。今月は、SharePoint Designer 2010 にワークフローを実装し、そのワークフローを Visual Studio で開発したカスタム ワークフロー アクションを使用して拡張し、SharePoint Designer 2010 と Visual Studio 2010 によって作成したパッケージ ファイルを使用して配布する方法を説明しました。ぜひ、SharePoint Online のワークフロー開発を始めてください。手動で、エラーを起こしやすいビジネス プロセスを SharePoint Online ワークフローによって自動化することで、非常に効率が上がり、手間を軽減できることにユーザーは感動するでしょう。

Chris Mayo は、SharePoint Online を専門とするテクノロジ スペシャリストで、マイクロソフトに 10 年勤務しています。共著書として『Programming for Unified Communications with Microsoft Office Communications Server 2007 R2』(Microsoft Press、2009 年) があります。マイクロソフトに勤める前は、小売業界や金融業界の一流企業の IT 部門で、開発者およびアーキテクトとして働いていました。最新情報については、彼のブログ (blogs.msdn.com/cmayo、英語) を参照してください。

この記事のレビューに協力してくれた技術スタッフの Mark KashmanKeenan NewtonAJ May、およびGeorge Durzi に心より感謝いたします。