SharePoint 2010: SharePoint でワークフローを使用する

SharePoint 2010 のワークフローは、複雑なビジネス プロセスを自動化するのに役立ちます。

Brien Posey

最近、企業が使用する多くのアプリケーションでは、複雑なビジネス プロセスを自動化しています。電子メールを適切な受信者に自動的にルーティングするなど、電子プロセスは、ごく簡単に自動化できます。一方、手動の操作を含むプロセスを自動化するのは、はるかに難しくなります。

マイクロソフトは、Microsoft Office SharePoint Server (MOSS) 2007 で、SharePoint ワークフローを使用して、この問題を解決しようとしていました。SharePoint ワークフローは基本的に、承認ルートを使用したメカニズムです。たとえば、マーケティング部門のメンバーから、新しい広告の提案があったとします。ですが、その広告を、そのまま広告代理店に送信することはしないでしょう。一連の内部承認の手続きが必要になります。

広告は、編集者の手に渡り、会社の法務部門による審査を経て、場合によっては、外部に公開する前に幹部社員が確認する必要があります。このような承認プロセスでは、メンバーが忙しいという問題があります。また、見落としの可能性があります。人的エラーにより、承認プロセスの工程がうまく機能しなくなる場合があります。

SharePoint ワークフローは、このようなプロセスを自動化するように設計されています。通知を送信したり、メンバーが作業を忘れている場合には、マネージャーに自動的に連絡が行くように、ワークフローを設計することもできます。

ワークフローは MOSS 2007 で重要な役割を果たしていましたが、優れた機能だった一方で、やや柔軟性に欠けるところがありました。管理者は、ワークフローを作成するプロセスの大部分において、SharePoint の GUI による制約を受けていました。

SharePoint 2010 では、ワークフローの作成プロセスで高い柔軟性を実現しました。ワークフローを一覧やライブラリと関連付ける際には、SharePoint の GUI を使用しますが、ワークフローは SharePoint 環境外で作成する必要があります (ただし、組み込みのワークフローの 1 つを使用する場合は除きます)。

そのため、マイクロソフトでは、ワークフローを作成するためのツールをいくつか提供しています。一般的に、SharePoint ワークフローを開発する際には、SharePoint Designer 2010 をツールとして選択することが多くなります。プロの開発者であれば、Visual Studio 2010 を使用して、SharePoint Designer 2010 で作成したコードを変更することで、ワークフローをさらにカスタマイズしたり、ゼロからワークフローを開発したりできます。

思い切って Visio を使用する

Visio Premium 2010 を使用して SharePoint ワークフローを作成するという考え方は、最初は少し奇妙に思えました。一般的に、Visio はネットワーク図を作成するのに使用されるので、大半のユーザーは Visio が開発ツールだとは思っていないでしょう。しかし、Visio には、フローチャートの作成という主要機能があるので、Visio を開発ツールとして使用するのは、完全に理にかなっています。コンピューター プログラミングの入門クラスを受講したことがあれば、かなり早い段階でフローチャートの作成方法を学ぶことはご存じでしょう。これは、多くの場合、プログラムを作成するときには、最初にフローチャートを作成する必要があるからです。SharePoint ワークフローは、単純なプログラム以外の何物でもありません。このことを考慮すると、SharePoint ワークフローを容易に作成する目的で、フローチャートを作成するために設計されたアプリケーションを使用するのは自然な流れではないでしょうか。

Visio 2010 を使用して SharePoint ワークフローを作成する前に、把握しておく必要がある重要事項が 2 つあります。1 つ目は、最終的なワークフローを作成するために、Visio 2010 を使用するわけではないということです。Visio を使用して SharePoint Designer にインポートできるワークフロー テンプレートを作成し、SharePoint Designer でワークフローを完成させます。2 つ目は、Visio 2010 Premium を所有している場合にのみ、SharePoint ワークフローを作成できるということです。Visio 2010 Standard と Visio 2010 Professional では、SharePoint ワークフローの作成はサポートされていません。

ワークフローを作成する

ワークフローを作成するには、Visio 2010 を起動し、[ファイル] タブをクリックします。[ファイル] タブをクリックしたら、作成する図の種類を選択します。[フローチャート] をクリックし、[Microsoft SharePoint ワークフロー] テンプレートをクリックして、[作成] をクリックします (図 1 参照)。

Visio 2010 を使用して SharePoint ワークフローのフローチャートを作成する

図 1 Visio 2010 を使用して SharePoint ワークフローのフローチャートを作成する

この時点で、Visio のメイン画面が表示されます。この画面で、実際にワークフローの作成に着手できます。Visio を一度も使用したことがない場合は、ワークフローの作成手順に慣れる必要があります。画面の左側には、さまざまなアイコン (マスター シェイプ) を含むコレクション (ステンシル) がいくつか用意されています。SharePoint ワークフロー テンプレートには、アクション、条件、およびワークフロー終了条件に分類された図形のステンシルが含まれています。図形を Visio 図面にドラッグして、必要なワークフローになるように配置します。

図 2 に Visio 図面の配置例を示します。これは、簡単な SharePoint ワークフロー テンプレートで、ワークフローは、開始の端子 (緑色の三角形) で始まっています。続いて、タイトル フィールドに特定の値が含まれているかどうかを確認する条件があります。フィールド名やキーワードの一覧については、ここでは触れません。というのも、もっと後にならないと、特定の値やフィールド名を指定できないからです。ここでは、ワークフローのロジックを構築する必要があります。

Visio で作成した基本的な SharePoint ワークフロー

図 2 Visio で作成した基本的な SharePoint ワークフロー

図 2 では、特定の値が検出されたかどうかに応じて、条件が分岐していることがわかります。Visio では、ワークフローで使用する各条件に対して、Yes パスと No パスを作成する必要があります。このワークフローでは、一致する値が検出されない場合 (No パスの場合)、終了オブジェクトで終わります。キーワードが検出された場合、その項目は削除され、ワークフローは終了します。

また、各オブジェクトは、少なくとも他の 1 つオブジェクトと接続していることがわかります (接続はオブジェクト間の矢印で示されています)。このような接続は必要ですが、自動的には行われません。2 つの図形を接続するには、図面ページに図形をドラッグして、接続する必要がある別の図形をポイントします。オブジェクトの周囲に、青色の矢印のアイコンがいくつか表示されます。図形を矢印のアイコン上にドロップして、2 つの図形間に接続を作成します。

ワークフローを作成したら、すべての手順を検証する必要があります。ワークフローを検証して、SharePoint でワークフローが問題なく使用できることを確認します。たとえば、検証プロセスを使用すると、ワークフローに接続していないオブジェクトがあるかどうか、またはワークフローの終了オブジェクトを忘れていないかどうかを確認できます。

ワークフローを検証するには、[プロセス] タブをクリックして、[図のチェック] をクリックします。Visio で作成した図に関する問題が検出されないことを祈りましょう。問題を検出した場合は、Visio ワークスペースの下部にある問題ウィンドウに、問題が表示されます。通常、大半の問題は、とても簡単に解決できます。Visio では、問題をダブルクリックするだけで、その問題と関連のあるオブジェクトが選択されます。

最後に、Visio 図面をエクスポートする必要があります。[プロセス] タブをクリックして、[エクスポート] をクリックします。エクスポートする図面のファイル名を指定するダイアログ ボックスが表示されたら、ファイル名を入力し、エクスポートしたファイルを保存するパスを選択します。Visio ワークフロー交換ファイル (*.VWI) 形式でファイルをエクスポートすることを確認して、[保存] をクリックします。

SharePoint Designer の概要

ワークフロー テンプレートが作成できたので、ワークフローの作成プロセスの次の段階に進む準備ができました。テンプレートを SharePoint Designer にインポートして、SharePoint ワークフローに変換します。

SharePoint Designer 2010 は、サイト、データ ソース、ワークフローなどをカスタマイズするツールです。SharePoint の GUI でもカスタマイズは可能ですが、SharePoint のインターフェイスには多少制約があるので、SharePoint Designer を使用すると、SharePoint サイトのカスタマイズをさらに高度なものにできます。

SharePoint Designer は無料のツールで、次の場所からダウンロードできます。

32 ビット版のダウンロード: microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=d88a1505-849b-4587-b854-a7054ee28d66

64 ビット版のダウンロード: microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=566d3f55-77a5-4298-bb9c-f55f096b125d

SharePoint Designer を使用する

 

SharePoint Designer 2010 をダウンロードしてインストールしたら、SharePoint Designer 2010 を起動して、変更する SharePoint サイトを開きます。そのためには、SharePoint Designer 2010 を起動して、[サイトを開く] をクリックします。

開くサイトを指定するダイアログ ボックスが表示されたら、SharePoint サイトの URL を入力して、[開く] をクリックします。または、サイトを参照して、[サイトの操作] を選択し、SharePoint Designer でサイトを編集します。これで、SharePoint Designer のメイン画面が表示されます (図 3 参照)。

SharePoint Designer のメイン画面

図 3 SharePoint Designer のメイン画面

画面の左側にある [サイト オブジェクト] の一覧に、[ワークフロー] という名前のオブジェクトがあります。[ワークフロー] オブジェクトをクリックすると、組み込みのワークフローの一覧が表示されます。

Visio 2010 で独自のワークフロー テンプレートを作成したので、これをインポートする必要があります。インポートするには、[Workflows] (ワークフロー) リボンにある [Import from Visio] (Visio からインポート) をクリックします。インポートする Visio 図面を選択するように求めるメッセージが表示されます。[参照] をクリックして、先ほど作成した図面を選択し、[開く] をクリックして、[次へ] をクリックします。

ここで、インポートするワークフローに名前を付けるように求めるメッセージが表示されます。また、ワークフローをリスト ワークフローとしてインポートするか、または再利用可能なワークフローとしてインポートするかを選択します (図 4 参照)。リスト ワークフローは特定のリストやライブラリにバインドされ、再利用可能なワークフローはコンテンツ タイプにバインドされて任意のリストやライブラリに適用できるという点で、両者は異なります。

ワークフローをリスト ワークフローとしてインポートするか、再利用可能なワークフローとしてインポートするかを選択する

図 4 ワークフローをリスト ワークフローとしてインポートするか、再利用可能なワークフローとしてインポートするかを選択する

ワークフローの種類を選択して、[完了] をクリックすると、ワークフローがインポートされます。インポートのプロセスが完了したら、ワークフロー エディターが表示されます (図 5 参照)。

ワークフロー エディターを使用してワークフローを変更する

図 5 ワークフロー エディターを使用してワークフローを変更する

最後の準備作業

作成したワークフローと視覚エフェクト機能を合わせて使用できるようにするには、SharePoint Server で少し構成作業を行う必要があります。具体的には、Visio Web Access 機能と Visio Graphics Service の両方がアクティブになっていることを確認する必要があります。

これらを確認するには、SharePoint サイトを開いて、[サイトの操作] メニューの [サイトの設定] をクリックします。[サイトの設定] ページが表示されたら、[Site Collection Features] (サイト コレクションの機能) リンクをクリックします。[Office SharePoint Server Enterprise Site Collection features] (Office SharePoint Server Enterprise サイト コレクション機能) がアクティブになっていることを確認します。アクティブでない場合は、右隣にある [Activate] (アクティブ化) をクリックします。

ワークフロー テンプレートの一覧からワークフローを選択する

図 6 ワークフロー テンプレートの一覧からワークフローを選択する

次に、SharePoint 2010 サーバーの全体管理コンソールを開き、([System Settings] (システム設定) セクションにある) [Manage Services on Server] (サーバーのサービスの管理) リンクをクリックします。ここで、Visio Graphics Service が実行中であることを確認します。実行されていない場合は、対応する [Start] (開始) をクリックします。

プロセスの最後の手順では、作成したワークフローを一覧またはライブラリに関連付けます (ただし、再利用可能なワークフローを作成したことを前提とします)。関連付けを行うには、Web ブラウザーを開き、SharePoint ドキュメント ライブラリに移動して、[Library] (ライブラリ) タブをクリックします。ドキュメント ライブラリに対応するリボンが表示されます。[Workflow Settings] (ワークフロー設定) をクリックして、[Add a Workflow] (ワークフローの追加) リンクをクリックします。ここで、ワークフローをドキュメント ライブラリに追加できます (図 6 参照)。詳細については、「ワークフロー関連付けを追加する」を参照してください。

作成した新しいワークフローが格納され、同僚と使用したり共有したりできるようになります。

Brian Posey

Brien Posey は、MVP であり、数千件の記事と数十冊の書籍を執筆した実績のあるフリーランスのテクニカル ライターです。Brien の Web サイトのアドレスは brienposey.com (英語) です。

関連コンテンツ