おかえり、InfoPath Forms Services

以前こちらの Blog で (もう少しで) さよなら InfoPath という記事を書かせていただきましたが、その内容について UPDATE がありました。

2014年1月末に Microsoft Office Blog で、InfoPath の終了がアナウンスされました。その記事を読んだ内容だったのですが、その際の記事にいつの間にか追記が入っています。

Update on InfoPath and SharePoint Forms (参照した Microsoft Office Blog 記事)
http://blogs.office.com/2014/01/31/update-on-infopath-and-sharepoint-forms/

――――― 以下 上記 Blog よりの引用 ―――――

As part of the update shared around the Evolution of SharePoint and the next SharePoint Server on-premises release, we are also updating the timelines for removal of InfoPath Forms Services components of SharePoint and SharePoint Online. Specifically, InfoPath Forms Services will be included in the next on-premises release of SharePoint Server 2016, as well as being fully supported in Office 365 until further notice. Customers will be able to confidently migrate to SharePoint Server 2016 knowing that their InfoPath forms will continue to work in their on-premises environments, as well as in Office 365.

The InfoPath 2013 application remains the last version to be released and will work with SharePoint Server 2016.

―――――――――――――――

なんと! 簡単にまとめると InfoPath Forms Services 復活のお知らせですね。

要約は下記。

次期 SharePoint Server についてアナウンスがでてきたけど、InfoPath Forms Services (SharePoint Server と SharePoint Online) についてもアップデートがあるよ。SharePoint Server 2016 には InfoPath Forms Services 含まれるし、Office 365 でも引き続きサポートするよ。今使ってるフォームは 2016 でも大丈夫! InfoPath 2013 がそのまま使えるからね。

ですと。

こちらの英語 Blog でも同様のことが書かれており、こちらの内容によると、先週金曜に追記されたって書いてますね。さらに、この Blog によると Office 365 Roadmap サイト (http://roadmap.office.com/en-us) で FoSL がキャンセルになってると。

FoSL は、Forms on SharePoint Lists のことで、SharePoint Conference 2014 の InfoPath のセッションで発表されたブラウザーでフォームのカスタマイズができる的な機能だったやつです。たしかに Office 365 Road Map サイトをみると、Cancelled になってます。

InfoPath 次期バージョンはでないけど、SharePoint 次期バージョンでは IPFS は機能として提供される。
そして InfoPath のかわりとされていた FoSL はやめた。ってことか。

なんだかあんまりすっきりしない。
というか、で! 最終的にはリスト フォームをどこに持っていくつもり?!

という気持ちはありますが、これまでよりは積極的に InfoPath を使っていけそうですね。

InfoPath って正直、機能は多くないアプリケーションなので、操作や機能の習得は1日もあれば余裕です。
でも、、実際やりたいことを実現するためには、ルールや関数の組み合わせで、「あ!こんなこともできるよね!」っていうパズルみたいな要素が多く。コードも書けちゃうし。何年も InfoPath やっててもいまだに、こんなこともできるのね。という気づきに出会うこともあります。
ただもう今更 InfoPath ネタ Blog で書いてもなぁ。と InfoPath 記事を書くのはやめていたのですが、また面白いと思っていただけそうな内容があれば、書きたいなと思います。

5月に Ignite に参加予定なのですが、SharePoint のフォームに関するセッションは当然ないでしょうが、O365 と SharePoint だけで 97 セッションもあるので、なんだか楽しみになってきました。

奥田 うさぎ

(もう少しで) さよなら InfoPath

あちらこちらで話題になっていますが、先月末に Microsoft の Office Blogs にて InfoPath に関するリリースがでましたね。正式に InfoPath 終了のお知らせとなりました。

Update on InfoPath and SharePoint Forms
http://blogs.office.com/2014/01/31/update-on-infopath-and-sharepoint-forms/


簡単にまとめると。。(あってるかどうかは保証しないので、原文よんでくださいね)

マルチデバイス対応やもっと簡単にフォームのデザインをしたいといった近年のトレンドやユーザー、パートナーからの Feedback より、SharePoint、Access、Word による新しいフォームテクノロジーに投資することにしたよ。
ということで、InfoPath はやめるね。
 
・ InfoPath 2013 で終了。
  ・ InfoPath Forms Services は SharePoint Server 2013 で終了。

InfoPath ユーザーには、移行方法もきっとだすので、新しいテクノロジーまでひきつづき InfoPath をどうぞご利用ください。
新しいテクノロジーについては、Q4 of CY 2014 にアナウンスします。
3月の SharePoint Conference では、少しだけご紹介もします。
サポートは、2023年4月まで。Office 365 については、またアナウンスします。

とのこと。

InfoPath は、会社に入社して初めて担当したのが InfoPath 実践講座というセミナー実施案件だったり、ホワイトペーパーや本を書かせていただいたり、MVP いただいたり、、と個人的に思い入れのある製品でしたので、InfoPath 2013 のやる気のなさっぷりから、なんとなく想像できてましたが、残念です。。

InfoPath 2010 からの進化の方向性がよくなかったよね。。と個人的には思います。
なぜ javascript サポートをやめた。。 なぜデザインを HTML でカスタマイズできるように進化しなかった。。
簡単なフォームは InfoPath GUI 操作で、複雑なカスタマイズは javascript&HTML でできますよーってのがステキやったのになぁ。と思っちゃいます。

Office Blog の記事に SharePoint、Access、Word による新しいフォーム テクノロジーって記述がありますが、Access アプリはもしやまだ未完成系ってこと? Word のクイックパーツみたいなこと??
今は詳細はわかりませんが、
詳細がリリースされるのを楽しみにしたいと思います。
また3月の SharePoint Conference での楽しみも一つ増えました。

ともかく、InfoPath は終了が決定しましたが、今すぐなくなるわけではありません。
現状、フォームのカスタマイズを行うツールとして、マイグレーション方法がどこまでちゃんとされるか心配な面もありますが、まだもう少し活躍していただきましょう。

奥田

SharePoint 2010 リストフォームカスタマイズ 複数アイテム同時編集

おはようございます。奥田です。今日は InfoPath をつかったリスト フォーム カスタマイズについてです。

SharePoint リストで、複数アイテムを同時に編集したいと思ったことはないでしょうか。
Excel でデータを編集するみたいに複数行の特定の列をまとめて編集したいシーンは多いと思います。
SharePoint リストでは、既存データを編集する際には、各データごとに編集画面を開く必要があり、複数件データに対するまとめての編集はちょっと面倒ですよね。

まとめてデータ編集したい際の簡単な方法はデータシートビューがあります。
[リスト] タブの [データシートビュー] をクリックすると、次図のような画面に切り替わり、複数データに対する一括編集が行えます。
multi1

今日は、InfoPath でこのように複数アイテムを一括編集する画面へカスタマイズする方法をご紹介します。
完成イメージはこちらです。
multi0

まず、次のような列をもつ SharePoint リストがあることを前提とし、手順をご紹介します。
multi2

1.[フォームのユーザー設定] をクリックし、InfoPath を開く
2. 開いたフォームを 新規登録フォームで利用するように編集します。(次図参考)
multi3

3.新しくビューを作成。(ビュー名を MultiEdit と付けたとします)
4.フォームをカスタマイズしているリストからの受信データ接続を作成
[フィールドの選択] で受信する列として、フォーム内で表示・編集したい列を選びます。
フォームを開く際に自動的にデータを取得するよう設定します。
multi4

5.[フィールド] 作業ウィンドウで、[詳細ビューの表示] を開きます。
   受信接続名(セカンダリ) データソースの [d:SharePointListItem_RW] グループを繰り返しテーブルとして配置
繰り返しテーブルの右端に列を追加し、ボタンコントロール [更新] を配置
また、繰り返しテーブルの罫線やフォントの設定を任意に行います。
multi5

6.繰り返しテーブルに配置した [更新] ボタンに次の動作規則を設定 


複数アイテム表示しているデータから更新するアイテムを指定するための動作規則です。
詳細 更新データの指定
条件 なし
動作 1個め フィールドの値を設定する [フィールド]
メインデータソース queryFields の [ID]
[値]
セカンダリデータソース dataFields の [ID]
動作 2個め データのクエリを送信する メイン データ接続
multi6
1件分のデータを更新するために値をセットするための動作規則です。
詳細 1件データの更新
条件 なし
動作 1個め フィールド の値を
設定する
[フィールド]
メインデータソース dataFields の [コースID]
[値]
セカンダリデータソース dataFields の [コースID]
動作 2個め ~ フィールドの値を設定する 動作1と同様に、上書きしたい列の数だけ
メインデータソース dataFields 内フィールドに セカンダリ データソース dataFields 内フィールドの値をセット
動作 最後 データを送信する メイン データ接続
multi7
データ更新後、繰り返しテーブル内の内容を更新するための動作規則です。
詳細 一覧の更新
条件 なし
動作 1個め データのクエリを送信する リストからの受信接続
multi8

7. [ファイル] メニューから [フォームのオプション] を開き、[リボンまたはツールバーに InfoPath コマンドを表示する] を
チェック外します。
8.フォームをクイック発行します。
9.[リスト] タブの [フォーム Web パーツ] – [(アイテム) 編集フォーム] をクリックします。
multi9

10. InfoPath フォームの Web パーツの設定画面で、[ビュー] をMultiEdit に変更します。
アイテムの編集時のみ、複数データ編集用のビューを開くように設定しました。
multi10

以上、完成♪
つかいどころはデータ内容によりけりですが、マスターデータ管理など、データの新規作成・削除よりも、いったん登録したデータのメンテナンス作業が多い場合に。

奥田 うさぎ

InfoPath 複数チェック ボックス Tips

InfoPath でチェック ボックスを並べて表示し、さらに指定した数のチェックのみ行えるように入力規則を設定する Tips です。

  <完成イメージ>
ipcount11

1.繰り返しテーブルを2列で配置します。
ipcount4
2
.繰り返しテーブル内の1列目のコントロールをチェックボックスに変更
3.
それぞれフィールド名を変更
(チェックボックスを Category、テキストボックスを CategoryName とフィールド名を付けたとして続きを記載します)
ipcount5
4.
[データ] タブの [既定値] をクリックし、繰り返しグループを下に2つ追加します。
ipcount6
5.
それぞれの繰り返しグループ内の CategoryName の既定値に、チェックボックスのラベルとなる内容を入力します。
ipcount7
6.
ここまでで、プレビューすると、次図のようになります。
ipcount8
7.
CategoryName のテキストボックスは読み取り専用に設定。
また繰り返しテーブルのプロパティで、ヘッダーを非表示、ユーザーによる行の挿入削除を許可しないように設定。
罫線と網掛けを任意に調整し、プレビューで下図のようにデザインします。
ipcount9
8.
Category チェックボックスに次のような入力規則を指定します。
条件: count(../../my:グループ2[my:Category=”yes”])>2
ipcount10

     以上です。

  下記いくつかの InfoPath Tips を組み合わせて設定してみました。それぞれ単体の Tips としてもぜひ活用していただけたらと思います。
       ・ 繰り返しテーブルに既定で数行表示する Tips
・ 繰り返しテーブルにユーザー操作で行を追加させない Tips
・ XPath 式を活用した入力規則 Tips

奥田 うさぎ

InfoPath によるリスト フォームカスタマイズ Tips [Web サービス、REST サービス接続を利用する]

フォーム カスタマイズ時に利用できる InfoPath の Tips 紹介第 3 弾です。

SharePoint Server 2010 で、リスト フォームを InfoPath を使ってカスタマイズを行う際に、フォーム内で Web サービスや REST サービスへのデータ接続を利用したい場合、データ接続は UDCX を利用する必要があります。

前回の投稿で、ブラウザー対応フォームでサービスへのデータ接続を利用する場合の注意点としてご紹介させていただきましたが、リスト フォームを InfoPath でカスタマイズを加えたときにも InfoPath Forms Services が利用されていますので、同じことですねー。

 

奥田理恵

InfoPath 2010 REST サービスにつなぐデータ接続 [郵便番号検索]

こんにちは、奥田です。
最近 SharePoint Server 2010 のリストフォームについて、InfoPath でカスタマイズする際の内容についてあれやこれやと投稿させていただいてましたが、今日は InfoPath についてです。

InfoPath では、受信送信のデータ接続が利用できますが、InfoPath 2010 で REST サービスにつなぐデータ接続を作成できるようになりました。今日は InfoPath 2010 で REST サービスに接続するやり方をご紹介します。

http://(URL)?[パラメータ]  のように REST サービス呼び出しを実行するときにはパラメータを URL にセットしますが、InfoPath で REST サービスを利用する際には、フォームに入力されたデータをパラメータにセットする形になることがほとんどかと思います。そのため InfoPath 2010 では [REST URL の変更] という動作が用意されています。

今回は、郵便番号検索サービスを利用して、次図のような郵便番号の入力から住所を自動表示するサンプルをベースに使い方をご紹介します。

rest1

<フォーム内容>
・ 郵便番号のテキスト ボックス (フィールド名は Zip とします)
・ 住所のテキスト ボックス (フィールド名は Address とします)
・ [郵便番号検索] ボタン

<接続するサービス>
http://zip.cgis.biz/ で提供されている郵便番号検索サービスを利用させていただきました。
  http://zip.cgis.biz/xml/zip.php?zn=1050001
とリクエストを送信することで、住所が XML でかえってきます。
  rest2

<InfoPath での設定>

1. REST サービスに接続する受信データ接続を作成します。
    ・ 戻り値の型を取得するため、仮の値をパラメータでセットした URL を指定します。
       rest3

    ・ 郵便番号をフォーム内で入力されてから呼び出しを行いたいので、[フォームを開くとき自動的にデータを取得する] オプション
      はオフにします。
       rest4

2. [郵便番号検索] ボタンのルールとして、次の設定を行います。

   ・ 1つ目の動作 (REST URL にパラメータをセットする)
     – [REST URL の変更] 動作
     – 1 の手順で作成したデータ接続を選択
     – URL に cancat関数を利用して、パラメータをセットする
           cancat(“サービスのURL”,”?パラメータ名=”,<パラメータにしたいフィールド>)

      rest5

   ・ 2つ目の動作 (サービス呼び出し)
     – データのクエリを送信する
    
– 1 の手順で作成したデータ接続を選択

      rest6

   ・ 3つ目の動作 (サービスからの戻り値をフィールドにセットする)
    
– フィールドの値を設定する
    
– サービスから取得したデータをセットしたいフィールドを選択 (今回だったら Address)
    
– サービスの戻り値から値をセット (セカンダリ データソースからフィールドを選択)

      rest7

 

以上です。

InfoPath 2010 から REST サービスへのデータ接続がサポートされるようになりましたが、利用方法についてご紹介しました。

奥田理恵でした。

InfoPath によるリスト フォームカスタマイズ Tips [表示画面だけビューを変える]

フォーム カスタマイズ時に利用できる InfoPath の Tips 紹介第2弾です。

[リスト] タブの [フォームのユーザー設定] で、InfoPath Designer 2010 を開き、フォームをカスタマイズして発行するとリストのフォームが InfoPath でカスタマイズした内容に置き換わります。

リストの新規入力フォーム、編集フォーム、表示フォームともにカスタマイズした内容 (同じ画面) となりますが、入力画面 (新規入力、編集) は入力に適した画面、表示画面は表示に適した画面と UI を分けたいこともあるかと思います。

InfoPath でフォームをカスタマイズする際には、ビューを活用することで各画面で開くビューを変更できます。

1.InfoPath でフォームをカスタマイズする際に、新規入力&編集用のビューとアイテムの表示用のビューを作成しておく

2.カスタマイズしたフォームを発行

3.リストで、[リスト] タブの [フォーム Web パーツ] – [(アイテム) 表示フォーム] をクリック

1

4.表示フォーム用のページが開き、ページ内に InfoPath Web パーツを利用してカスタマイズしたフォームが表示されていることが確認できます。InfoPath Web パーツの [Web パーツの編集] をクリックします。

2

5.Web パーツの編集画面で、[ビュー] をあらかじめ表示画面用に作成しておいたビューを指定します。

3

6.編集した内容を保存します。

以上の手順で、InfoPath でリストフォームをカスタマイズした際に、各フォームで表示するビューを切り替え可能です。

奥田理恵でした。

InfoPath によるリスト フォームカスタマイズ Tips [ユーザー名を自動表示]

おはようございます。奥田です。

先日 「InfoPath によるリストフォームカスタマイズ」 を UP させていただきましたが、今日はその続きです。
フォーム カスタマイズ時に利用できる InfoPath の Tips 紹介として、
カレントユーザー名を自動的に表示する方法をご紹介します。

リストフォームを InfoPath で開くと、右側に [フィールド] 作業ウィンドウが表示されます。

IP3

下のほうにある [詳細ビューの表示] をクリックします。

詳細ビューに切り替えると、[ユーザーまたはグループ] 列について、上図のように詳細内容が確認できます。[ユーザーまたはグループ] 列には DisplayName、AccountId、AccountType と 3 つのフィールドの複合データ型であることがわかります。

カレントユーザー名を自動表示させるためには、この中の [DisplayName]、[AccountId] フィールドの両方に既定値として userName() 関数を設定します。

以上で、フォームを開くとカレント ユーザー名が既定で表示されます。

ちなみにおまけでもう一点。
フォームを開いた際に、今日の日付を自動的に表示するよう既定値の設定を行う際には、today() 関数ではなく、now() 関数を利用します。SharePoint の列が [日付と時刻] であるため、today() 関数ではエラーになります。

以上、フォーム カスタマイズ時に利用できる InfoPath の Tips 紹介 第 1 弾でした。
(一応続く予定ですRed rose)

 

奥田理恵

InfoPath によるリスト フォームカスタマイズ

こんにちは、奥田です。
最近 SharePoint の UI がらみの内容ばかりだったので、久しぶりに InfoPath の内容をご紹介したいと思います。
(とはいえ、SharePoint 2010 がらみですが)

SharePoint Server 2010 では、リストのフォームを InfoPath でカスタマイズできるようになっています。
(Enterprise 機能である InfoPath Forms Services が必要)

リストフォームを InfoPath でカスタマイズすることで、どのようなことができるのか、主な内容をあげてみると。

■ デザイン面

  ・ 画面のレイアウトは自由に行える (画像挿入も)
  ・
InfoPath 2010 の新機能ピクチャ ボタンを利用して、用意した画像をボタンに
  ・
ビューの活用
    
• アイテムの表示画面と、新規入力・編集画面で表示内容を変える
    
• 保存後の確認画面やエラー画面を表示してみたり
    
• ステータスによって画面を切り替えてみたり
  ・
リボン内メニューの非表示
      各フォームは Web ダイアログで開き、上部にリボンが表示されますが、これを非表示に

■ 機能面

  ・ 入力チェック
     正規表現の利用、他の入力内容との比較、条件による入力チェックなど
  ・
Web サービス、データベース参照
  ・
サイトをまたいだ SharePoint リスト、ライブラリ参照
    
• 標準機能の [参照] 列では同じサイト内のリスト、ライブラリのみ参照可能
  ・
条件やそれまでの入力内容によって、内容を切り替える

などなど、InfoPath の機能を活用して、見た目をキレイにしたり、標準にはない動きを付けられます。

 

<リスト フォームのカスタマイズ手順>

1. リストを開き、[リスト] タブの [フォームのユーザー設定] をクリック。
2. InfoPath Designer 2010 でリスト入力フォームが開くので、InfoPath 機能を活用して編集
IP1

3. [クイック発行] すると、リストフォームは InfoPath でカスタマイズした内容に変わります。


また InfoPath でリスト フォームをカスタマイズした後、既定のフォームに戻したい際は次の手順です。

<カスタマイズしたリストフォームを既定に戻す>

1. リストの設定画面を開く
2. [フォームの設定] をクリック
3. [フォームのオプション] で [既定の SharePoint フォームを使用する] に変更
    [サーバーから InfoPath フォームを削除する] をオフのままにしておくと、カスタマイズした InfoPath フォームは残ります。
IP2

 

以上、InfoPath によるフォームカスタマイズについてでした。

奥田理恵