SPD 2010 と Visio 2010 を使用して SharePoint 2010 ワークフローを作成する: 手順と FAQ
原文の記事の投稿日: 2011 年 5 月 19 日 (木曜日)
こんにちは。SharePoint Designer チーム PM の Sam Chung です。このブログでは、Visio 2010 と SPD 2010 を併用してワークフローを作成する方法について説明します。また、この 2 つのツールを併用する場合の一般的な問題やよくある質問についても解説します。
まず、SPD と Visio の関係について説明しましょう。この 2 つを一緒に使用する方法については、既に各種資料で説明されています。なかでも、次のブログ投稿では Visio 側の観点から説明されています。
ただし、これらはかなり前の投稿なので、今回、この 2 つのツールの併用について改めて解説することにしました。また、その一部についてはもう少し詳しく説明し、既に発生している一般的な問題についても解説したいと思います。
背景
このブログでは、Visio と SPD の併用に関するこれまでの情報を読者がご覧になっていないことを前提としているので、ここで少し背景についても説明します。Visio と SPD について既に熟知している場合は、このセクションをスキップして次のセクションへお進みください。
SharePoint Designer 2010 チームは、Visio と連携し、この 2 つのツールを一緒に使用してワークフローを作成、表示できるようにしました。このブログ記事では、この連携の作成分野を中心に解説し、サーバー側仮想化については詳しく説明しません (それについては別のブログ記事で説明したいと思います)。
ワークフローは、2 つの方法で作成できるようになりました。文で記述する SPD 内の通常のデザイナーを使用してワークフローを作成、編集する方法と、Visio クライアントを使用する方法です。文で記述するデザイナーを使用する方法は十分理解されていると思うので、ここでは Visio クライアントを使用してワークフローを作成および編集する方法について説明します。
**メモ** この手順を行うには Visio 2010 Premium が必要です。また、同じコンピューターに SPD 2010 と Visio 2010 の両方がインストールされている必要があります。
この連携は、使い慣れた Visio のデザイン領域を使用したいユーザーのために用意されました。同時に、Visio のデザイン領域で提供するユニークなワークフロー ビューは、ワークフローのデザインとレビューを行う多くのユーザーにとってとても使いやすい場合があります。Visio でワークフローを完全に作成することはできませんが、Visio でワークフローの概略となる "フロー" を作成した後、SPD でパラメーターを設定して仕上げることができます。
Visio でワークフロー図を作成する
1. Visio 2010 Premium を起動します。
2. 新しい図面を作成します。
3. [テンプレートの分類] (Template Categories) で [フローチャート] (Flowchart) を選択します。
4. 次に [Microsoft SharePoint ワークフロー] (Microsoft SharePoint Workflow) を選択します。
5. 右側にある [作成] (Create) ボタンをクリックします。
***メモ*** 米国単位 (US Units) とメートル単位 (Metric Units) のどちらを選択しても違いはありません。どちらでも同じワークフロー図が作成されます。
6. 空白のキャンバスが表示されます。作業を開始する前に、開始図形 と終結図形 を挿入する必要があることを知っておいてください。
· すべての SharePoint ワークフローにこれらの図形が必要です。
· 追加するワークフロー図形は、この 2 つの図形の間に挿入する必要があります。
7. ワークフロー図形はすべて、ステンシル ウィンドウ内の分類に分けられます。
· クイック図形 (Quick Shapes) – 各分類の上部の図形が含まれます。
***メモ*** クイック図形を使用すると、ワークフロー作成工程をスピードアップできます。ステンシル内の分類ごとにクイック図形セクションがあります。たとえば、[SharePoint ワークフローのアクション] (SharePoint Workflow Actions) 分類を表示すると、細い線で上部のアクションと下部のアクションが分けられています。
上部のアクションがその分類のクイック図形です。クイック図形は、使用頻度などで自動的に選択されるわけではありません。このセクションにどの図形を選ぶかは、単純にユーザーの設定に基づきます。目的の図形をクリックして線の上へドラッグすると、その図形がクイック図形の一覧に含まれます。これらの図形を使用すると、図面をすばやく作成できます。上位 4 個のクイック図形は、キャンバス内に透かし表示されます (図形の横の水色の矢印にマウス ポインターを置くと表示されます)。
· SharePoint ワークフローのアクション (XXX 単位) (SharePoint Workflow Actions (XXX units)) – SharePoint ワークフローのすべてのアクションが含まれます。
· SharePoint ワークフローの条件 (XXX 単位) (SharePoint Workflow Conditions (XXX units)) – SharePoint ワークフローのすべての条件が含まれます。
· SharePoint ワークフローの開始終結 (XXX 単位) (SharePoint Workflow Terminators (XXX units)) – 手順 6. で説明したワークフローの開始図形と終結図形が含まれます。
***メモ*** ステンシル領域に表示される [SharePoint ワークフローのアクション] (SharePoint Workflow Actions) は、作成するワークフローの種類に基づいて絞り込まれていません。通常、SPD でワークフローを作成するときは、作成するワークフローの種類に関連するアクションのみが表示されます。たとえば、リストのワークフローを作成するときは、リストのワークフローのアクションのみが表示され、サイトのワークフローや再利用可能なワークフローを作成する場合も同様です。一方、Visio クライアントでは、表示するアクションの絞り込みは行われません。したがって、Visio でワークフローを作成するときは、作成するワークフローの種類に関連するアクションのみを使用するように気を付けてください。
また、ここではサイトのワークフローに固有のアクションは使用できません。したがって、Visio クライアントを使用する場合は、サイトのワークフローは作成できません。インポート時に表示されるオプションにも、Visio 図面に基づいてサイトのワークフローを作成するオプションはありません。
8. 必要な図形を追加し、ワークフローを作成します。このブログ用には、簡単なサンプルを作成しました。
***メモ*** 条件図形には、必ず [はい]/[いいえ] (Yes/No) のオプションを設定してください。これを簡単な方法で行うには、条件図形から出ている接続線を右クリックし、[はい] (Yes) または [いいえ] (No) を選択します。
Visio と SPD の間でエクスポート/インポートする
次に、Visio 図面を Visio から SPD へ移動します。最も適切な方法について、次の各セクションで説明します。
Visio から SPD へ移動する
1. 図面の作成が完了して SPD へ送る用意ができたら、まず [エクスポート] (Export) ボタンをクリックします。
· このボタンは [プロセス] (Process) タブにあります。
2. 図面内にエラーがあると、エラー ウィンドウに表示されます。
***メモ*** この時点で、SPD へ送る図面がワークフローに直接変換できる図面であるかどうか、Visio によって検証されます。ただし、この検証は開始図形 と終結図形 の間のみを対象とします。それ以外の場所では、どこにどんな Visio 図形が配置されていても検証されません。開始図形と終結図形の間の図形がすべてワークフロー図形であり、それらが正しく接続されていることを確認してください。
3. 検証に合格すると (検証でエラーが検出された場合は、そのエラーを修正してから再試行してください)、[ワークフローのエクスポート] (Export Workflow) ダイアログ ボックスが表示され、VWI ファイルの保存場所を指定できます。保存場所を選択し、ファイル名を指定し、[保存] (Save) をクリックします (この例では、「Simple Workflow」という名前を指定してデスクトップに保存しました)。
***メモ*** 保存する VWI は Open XML ファイルであり、基本的には他のファイルが含まれる zip ファイルです。好きな zip プログラムでこのファイルを圧縮解除すると内容を確認できます。通常、次のファイルが含まれます。
[content_types].xml
Workflow.vdx
Workflow.xoml
Workflow.xoml.rules
通常、作業で重要なのは .vdx ファイルと .xoml ファイルです。vdx ファイルは作成した Visio 図面です。.xoml ファイルは実際のワークフロー xoml であり、ワークフローを発行するとこのファイルが実行されます。この時点ではまだ SPD でワークフローを設定していないので、.xoml ファイルにはほとんどデータがありません。このワークフローの設定を完成させて SPD からエクスポートしたときには、.xoml ファイルにも多くの情報が追加されます。また、ワークフローに関する詳細情報を示す workflow.config ファイルも生成されます。ここではこれらのファイルのことは気にせず、次の手順へ進みましょう。
Open XML ファイルの詳細については、 https://msdn.microsoft.com/ja-jp/library/aa338205(office.12).aspx を参照してください。
4. 次に、保存した VWI ファイルを SPD にインポートします。SPD を開き、一番お気に入りの SharePoint 2010 サイトに接続します。
5. 次に、左側のナビゲーション バーにある [ワークフロー] (Workflow) リンクをクリックします。
6. 次に、リボンの [Visio からインポート] (Import from Visio) ボタンをクリックします。
7. インポート ウィザード (Import Wizard) が開始されます。まず、保存した VWI ファイルを選択し、[次へ] (Next) ボタンをクリックします。
8. ワークフローの名前を指定し、ワークフローの種類を選択します。
9. 問題なく処理されると、次のような表示になります。
ワークフローを修正する
1. ワークフロー内の各アクションのパラメーターを設定します。設定後のワークフローは、次のようになります。
2. 発行する前に、このワークフローに別のアクションを追加してみましょう。このサンプルでは、履歴をログ記録する単純なアクションをワークフローの末尾に挿入しました。
***メモ*** とても重要な注意事項です。ワークフロー内でアクションを追加、削除、移動すると、最初に作成した図面とサーバー側仮想化で表示される図面が同じではなくなる可能性が高くなります。SPD でアクションの場所を変更した場合には、SPD 内の Visio アドインが図面を動的に再作成してから図面全体を出力する必要が発生するからです。その結果、想定していた図面とは異なるものになる可能性があります。したがって、サーバー側仮想化が重要な場合は、次の処理を実行してください。
a) まず、SPD からワークフローをエクスポートして Visio へ 戻します。
b) 図面を修正します。
c) Visio から SPD へもう一度エクスポートします。
d) (SPD ではもう変更は行わずに) ワークフローを再発行します。
3. 新しく作成したワークフローを発行します。
まとめ
このように、Visio から SPD へ簡単に連携処理できることがおわかりいただけたと思います。お役に立てば何よりです。ここまでのメモを次の「FAQ とヒント」にまとめました。
ご質問がありましたらこちらへ投稿してください。できる限りお答えいたします。
また、数週間以内に簡単な関連記事を投稿して、SPD から Visio への処理と、Visio 図面で作成した既存のワークフローを更新する場合に発生する可能性のある問題についても解説する予定です。
このブログをお読みくださり、ありがとうございました。
Sam
FAQ とヒント
1. Visio で SharePoint 2010 ワークフローを作成するには、Visio 2010 Premium が必要です。また、同じコンピューターに SPD 2010 と Visio 2010 の両方がインストールされている必要があります。
2. Visio で新しい SharePoint 2010 ワークフロー図を作成する場合、米国単位 (US Units) とメートル単位 (Metric Units) のどちらを選択しても違いはありません。どちらでも同じワークフロー図が作成されます。
3. クイック図形を使用すると、ワークフロー作成工程をスピードアップできます。ステンシル内の分類ごとにクイック図形セクションがあります。たとえば、[SharePoint ワークフローのアクション] (SharePoint Workflow Actions) 分類を表示すると、細い線で上部のアクションと下部のアクションが分けられています。
上部のアクションがその分類のクイック図形です。クイック図形は、使用頻度などで自動的に選択されるわけではありません。このセクションにどの図形を選ぶかは、単純にユーザーの設定に基づきます。目的の図形をクリックして線の上へドラッグすると、その図形がクイック図形の一覧に含まれます。これらの図形を使用すると、図面をすばやく作成できます。上位 4 個のクイック図形は、キャンバス内に透かし表示されます (図形の横の水色の矢印にマウス ポインターを置くと表示されます)。
4. ステンシル領域に表示される [SharePoint ワークフローのアクション] (SharePoint Workflow Actions) は、作成するワークフローの種類に基づいて絞り込まれていません。通常、SPD でワークフローを作成するときは、作成するワークフローの種類に関連するアクションのみが表示されます。たとえば、リストのワークフローを作成するときは、リストのワークフローのアクションのみが表示され、サイトのワークフローや再利用可能なワークフローを作成する場合も同様です。一方、Visio クライアントでは、表示するアクションの絞り込みは行われません。したがって、Visio でワークフローを作成するときは、作成するワークフローの種類に関連するアクションのみを使用するように気を付けてください。
5. また、ここではサイトのワークフローに固有のアクションは使用できません。したがって、Visio クライアントを使用する場合は、サイトのワークフローは作成できません。インポート時に表示されるオプションにも、Visio 図面に基づいてサイトのワークフローを作成するオプションはありません。
6. 条件図形には、必ず [はい]/[いいえ] (Yes/No) のオプションを設定してください。これを簡単な方法で行うには、条件図形から出ている接続線を右クリックし、[はい] (Yes) または [いいえ] (No) を選択します。
7. Visio から図面をエクスポートしようとすると、SPD へ送る図面がワークフローに直接変換できる図面であるかどうか、Visio によって検証されます。ただし、この検証は開始図形 と終結図形 の間のみを対象とします。それ以外の場所では、どこにどんな Visio 図形が配置されていても検証されません。開始図形と終結図形の間の図形がすべてワークフロー図形であり、それらが正しく接続されていることを確認してください。
8. 保存する VWI は Open XML ファイルであり、基本的には他のファイルが含まれる zip ファイルです。好きな zip プログラムでこのファイルを圧縮解除すると内容を確認できます。通常、次のファイルが含まれます。
[content_types].xml
Workflow.vdx
Workflow.xoml
Workflow.xoml.rules
通常、作業で重要なのは .vdx ファイルと .xoml ファイルです。vdx ファイルは作成した Visio 図面です。.xoml ファイルは実際のワークフロー xoml であり、ワークフローを発行するとこのファイルが実行されます。新しい Visio 図面からエクスポートした時点ではまだ SPD でワークフローを設定していないので、.xoml ファイルにはほとんどデータがありません。このワークフローを完成させて SPD からエクスポートしたときには、.xoml ファイルに多くの情報が追加されます。また、ワークフローに関する詳細情報を示す workflow.config ファイルも生成されます。
Open XML ファイルの詳細については、https://msdn.microsoft.com/ja-jp/library/aa338205(office.12).aspx を参照してください。
9. とても重要な注意事項です。ワークフロー内でアクションを追加、削除、移動すると、最初に作成した図面とサーバー側仮想化で表示される図面が同じではなくなる可能性が高くなります。SPD でアクションの場所を変更した場合には、SPD 内の Visio アドインが図面を動的に再作成してから図面全体を出力する必要が発生するからです。その結果、想定していた図面とは異なるものになる可能性があります。したがって、サーバー側仮想化が重要な場合は、次の処理を実行してください。
a) まず、SPD からワークフローをエクスポートして Visio へ 戻します。
b) 図面を修正します。
c) Visio から SPD へもう一度エクスポートします。
d) (SPD ではもう変更は行わずに) ワークフローを再発行します。
これはローカライズされたブログ投稿です。原文の記事は、「Creating a SharePoint 2010 Workflow using SPD 2010 and Visio 2010: How-To & FAQ」をご覧ください。