アプリ ステップを含む SharePoint Designer 2013 ワークフローを作成する方法 (SPC 2012 で使用したサンプル ワークフローの拡張)

原文の記事の投稿日: 2012 年 11 月 22 日 (木曜日)

JongHwa の写真こんにちは。SharePoint Designer チームのプログラム マネージャー、JongHwa Lim です。
今日は、SharePoint Conference 2012 (英語) (SPC 2012) でデモを行ったサンプル ワークフローをご紹介します。このブログ投稿では、そのサンプル ワークフローをより現実的なものにするために変更して拡張していきます。SharePoint Designer 2013 (SPD 2013) でワークフローを作成する際のヒントとしてご活用ください。ここで示す詳しい説明は、SharePoint Designer 2013 および SharePoint 2013 タイプのワークフローに詳しい方を対象とした内容になっています。SharePoint 2013 ワークフローの基本的な情報については、これまでのブログ記事をお読みください。 

レジャー イベント会社のワークフロー 

ここでは、Contoso Leisure というレジャー会社を例に説明していきます。この会社では、乗馬、釣り、クレー射撃、パラグライダー、スカイダイビングなどの講習を行っています。

画像

この会社で、次のような承認ワークフローが必要であるとします。

  • Event Coordinator SharePoint グループに承認を申請する
  • 却下された場合は、顧客に拒否メールを送信する
  • 承認された場合は、イベント/講習の 5 日前にイベントの通知メールを送信する
    • 通知メールには、気象情報や道順を示す地図など、イベントに関する情報を記載する 

このワークフローの例では、2 つの Web サービスを使用しますが、SPD で使用できる "HTTP Web サービスを呼び出す" アクションで処理するのは一方の Web サービスだけです。もう一方の Web サービスは、文字列変数の内部で参照され、<IMG> タグを使用してメールの本文に挿入されます。詳細については、Bing Map API のページ (https://www.microsoft.com/maps/developers/web.aspx (英語)) を参照してください。

作成するワークフローは次のようになります。

画像

画像

画像

"Get Weather Info" ステージに "HTTP Web サービスを呼び出す" アクションが含まれていることに注目してください。最初のパラメーターをクリックすると、次に示す URL が使用されていることがわかります。Web サービス キーは、"Web Service Keys" という名前の独立したリストに格納されています。"Web サービス" アクション、"辞書からアイテムを取得する" アクション、およびループ コンテナーの説明と使用方法については、HyongGuk Kim による以前のブログ投稿 (https://blogs.technet.com/b/office_jp/archive/2012/09/28/quot-http-web-quot-web.aspx) を参照してください。 

画像

また、"Send Reminder Email" ステージの "ワークフローの変数を設定する" アクションをクリックすると、このステージでも "Web Service Keys" リストを使用して Web サービス キーまたはトークンが格納されていることがわかります。

画像 

より現実的なものにするには

実際の状況では、Web サービス キーを安全に管理することが求められる場合があります。その場合は、フル コントロールの特権を持つユーザーだけがアクセスできるリストにそれらを格納して保護する必要があります。ただし、この場合、通常のワークフロー ロジックはワークフローの開始者とワークフロー アプリの両方の権限で実行されるため、ワークフロー ロジックで Web サービス キーにアクセスできなくなります。そのため、ワークフローの開始者に Web サービス キーが格納されたリストにアクセスする権限がないと、ワークフローは失敗します。ワークフロー アプリの権限 (すべてのサイトのリストに対する読み取り/書き込み) だけでワークフロー ロジックが実行されるようにするには、アプリ ステップを使用する必要があります。

手順 1. 独立した権限を用意してリストを保護する

既に説明したように、Web サービス キーが格納されたリストへのアクセスをフル コントロールを持つユーザーだけに制限する必要があります。そのためには、継承を中止し、不要なユーザーをリストから削除する必要があります。

"Web Service Keys" リストについて考えてみましょう。継承を中止するメニューは、[ リストの設定 ] の [ このリストに対する権限 ] ページにあります。

画像

継承を中止したら、次に示すように、フル コントロール以外のユーザーを選択し、[ ユーザー権限の削除 ] (Remove User Permissions) をクリックします。

画像

フル コントロールのユーザーだけがリストに表示されます。

画像

手順 2. アプリ ステップ機能をアクティブにする

アプリ ステップを使用するには、次に示すように、[ サイトの設定 ] の [ サイト機能の管理 ] で [ ワークフローでアプリの権限を使える ] (Workflows can use app permissions) サイト機能をアクティブにする必要があります。

画像

SPD で [ アプリ ステップ ] (App Step) ボタンが有効になります。

画像

手順 3. アプリ ステップを追加してロジックをその中に移動する

ロジックから "Web Service Keys" リストを参照している箇所を見つけ、アプリ ステップ コンテナー内に含める必要があります。この例でアプリ ステップ内に配置する必要があるロジックは、"HTTP Web サービスを呼び出す" アクションと "RouteMap 変数を設定する" アクションの 2 つです。次の図を参照してください。 

画像

画像

手順 4. ワークフローを発行する

ワークフローを発行すると、動作について説明する次のダイアログが表示されます。

画像

この記事が参考になれば幸いです。ここでは、アプリ ステップの適切な使い方を紹介しました。次の記事にもご期待ください。

これはローカライズされたブログ投稿です。原文の記事は、「How to Create a SharePoint Designer 2013 Workflow with App Step (extension from the example workflow used for SPC 2012)」をご覧ください。