InfoshareとPowerApps -その3

前回の記事では「なぜ、またどのような場面でキャンバスアプリを利用するのか」を中心にご紹介しました。迅速性がPowerAppsにはあります。
もう少しだけキャンバスアプリの活用についてご紹介します。

SharePointリストのフォームとしてのキャンバスアプリ

キャンバスアプリのもう一つの活用方法として、SharePointリストのカスタムフォームがあります。通常、PowerAppsで作成したアプリはモバイルアプリプラットフォーム上で、またはWebで実行します。いまのところ、SharePoint OnlineのモダンUIだけ、PowerAppsのアプリを「ビルドイン」で表示し実行することが可能です。

これまでは、InfoPathでフォームを作成し、SharePointに発行して利用していました。InfoPathと組み合わせることにより、簡単な入力規則を設定したり、書式設定や動作なども定義することができ、より現場の業務に役立つ、使いやすいフォームが作成できました。

InfoPath
※画像参照:https://support.office.com/ja-jp/article/sharepoint-designer-%E3%81%A7-infopath-2010-%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%83%AA%E3%82%B9%E3%83%88-%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%82%92%E7%B7%A8%E9%9B%86%E3%81%99%E3%82%8B-f86cf514-9a11-4613-a479-12a1a0132d22?ui=ja-JP&rs=ja-JP&ad=JP

とはいえ、InfoPathはすでに開発が終了し、現在はサポート期間を残すのみとなっています。なによりも、この間にSharePoint側もクラシックUIからモダンUIへと大きく進化を遂げています。
時代が進み、昔のInfoPathの時代にはなかった「クラウド」「SaaS」「複数データソースの参照」「統合」といった考え方や機能が一般的になり、今回の「PowerApps」へと移行してきました。
誤解してはならないのは、InfoPathの時代からそうでしたが、決して「見栄えが美しい」帳票フォームを作成(デザイン)することを主眼にしているわけではありません。日本のお客様は「紙伝票と同じ」など”レイアウト”にこだわりが強くありますが、InfoPathの時代から「生産性を上げるために“プラスの価値”をフォームに実装する」ことが製品の目的です。
PowerAppsもしかり。ユーザーが多くのデータを参照しながら、正しく情報を入力するためのフォームを作成することが目的です。ビジュアルで要素を表現するのもPowerAppsの得意なところです。

SharePointのビルトイン フォームをPowerAppsで作成すると、SharePoint専用のアプリとして定義されます。例えば、SharePointフォームはiOS、Androidモバイルアプリから“自分のアプリ一覧”を表示させたとき、一覧には出てきません。モバイルアプリでは実行できない、SharePointモダンUI専用アプリ(フォーム)だからです。
※2018年6月現在

ほかにも、SharePointのフォームとしてPowerAppsを使用する際の注意点があります。

1.SharePointで定義されている全ての列型に対応できるわけではない。

一部、参照できない列型(データ型)があります。また、PowerApps側の表示カードに関しても、どのカードでも一律に表示されるわけではないので、SharePointの列型に対応したカードと組み合わせながらフォームを作成する必要があります。

よく失敗しがちなのは、一般的にSharePointのデータは「ギャラリー」を使って表示します。ギャラリーを選択すると、いくつかの既定のフィールドが並べられ、値が表示されます。そして、作成者は「ここは、この値を表示しよう」などと変更を加えていきます。
2018-07-10_18-51-11
実は、既定で表示されるカードでは表現できないものがあるので、その場合は、作成者自ら、新しいパーツをカードへ挿入し、それをデータとマッピングします。

2.表示できるフォームの面積(サイズ)はある程度限界がある。

良くも悪くもビルトインのフォーム。右ペインの幅を広げるにも「実質利用上の限界サイズ」があります。そういった意味でも「PowerAppsでフォームをカスタマイズして“帳票”を・・・」といったシナリオではないことがおわかりになるかと思います。開発前に、関係者内での正しい期待値の設定が必要です。
2018-07-10_18-56-37

あとは、実際にSharePointリストを用意し、PowerAppsでカスタマイズを行い体験してみるのが一番です。作成を開始する方法はいくつかありますが、インフォシェアがトレーニングでお伝えしているのは、次の手順です。

1.対象となるカスタムリストを開きます。 2018-07-10_19-02-38
2.右上の歯車アイコンをクリックし、「リストの設定」を開きます。 2018-07-10_19-02-48
3.全体設定メニューで「フォームの設定」を開きます。 2018-07-10_19-03-23
4.フォームのオプション一覧から「PowerAppsでカスタマイズします」をクリックします。 2018-07-10_19-04-50
5.PowerAppsでフォームを作成・カスタマイズします。 2018-07-10_19-05-32
6.ファイルメニューを開き、「保存」します。 2018-07-10_19-06-05
7.「SharePointに発行」をクリックし、SharePointリストに戻ります。 2018-07-10_19-06-35

もっと簡単にカスタマイズを開始する方法もありますが、まず「フォーム」に関するメニューがSharePointのどこにあるかを理解するようにしましょう。(何らかの理由で ”標準フォームに戻す” ことも考えられます)

下記は、少しだけカスタマイズを行ったフォームのサンプルです。デザインが貧弱なので、もっと改善しなければなりませんが、取り急ぎ、標準とは違うフォームであることが一目でわかるようにボタンなどを配置して表示しています。
2018-07-10_16-50-33

フォーム下部に配置されたボタンをクリックすると、「どのような備品があるのか?」「現在貸出し中なのか?」などを別のマスターから参照して表示しています。空きがある備品をクリックすると、入力フォームに「ある程度自動で値が入力され」、かつその備品のスペックがイメージ図とともに表示されます。
2018-07-10_16-48-05

簡単なカスタマイズですが、他の情報を参照できるようにすることで、SharePointのリストをシンプルにすることが出来ます。一つのリストにゴチャゴチャと情報を詰め込まなくても、バラバラの場所から必要な情報を参照したり、フォームで表示すると言ったことが可能になります。

PowerAppsでのアプリ作成は、まず手を動かして体験してみること!

是非、お時間のあるときに試してみてください。もちろん、インフォシェアでもコンサルティングの一環として、PowerAppsアプリ作成のお手伝いもしております。お問い合わせください。

PowerAppsとSharePointに関する参考情報:
https://docs.microsoft.com/ja-jp/powerapps/maker/canvas-apps/customize-list-form
https://docs.microsoft.com/ja-jp/powerapps/maker/canvas-apps/connections/connection-sharepoint-online#known-issues

 

 

InfoshareとPowerApps -その2

前回の記事では、PowerAppsで作成できるアプリケーションが2種類あることをご紹介いたしました。キャンバスアプリは、誰でもプログラミングの知識が必要なく、マウス操作でアプリケーションを作成することができます。一方で、複雑なロジックで堅牢なビジネスアプリケーション、またはビジネスプロセス、CDSならではのXRM構造を生かしたアプリを作成したい場合は、PowerApps Plan2で提供されるモデル駆動型アプリケーションを選択することができます。 

キャンバスアプリを考察する

なぜ、キャンバスアプリを作成するのでしょうか? どのような場面でキャンバスアプリは利用されるのでしょうか? インフォシェアでもPowerAppsで作成したアプリを業務で実稼働させていますので、その例を交えながら解説をいたします。
キャンバスアプリの特徴や活用ポイントは2つあると考えています。
1.とにかく迅速なアプリケーション開発
2.様々な情報ソースと接続した「ハブ」となるアプリケーションの開発

インフォシェアは自社開発製品として「InfoCall」という電話帳製品を開発・販売しています。Office 365Dynamics 365のコンサルティングも行っておりますが、ソフトウェア開発を自社内で行っています。つまり、アプリケーション開発力があります。しかし、社内業務アプリケーションはPowerAppsで作成しました。なぜでしょうか?
2つの理由がありました。 

理由1:アプリケーション動作条件の一つに「モバイルでの運用」があった。

インフォシェアでは、モバイル端末としてiPadを利用しています。iPadは製品検証や、社内業務を行う端末として利用されています。この端末で動作させることを想定したアプリケーションを作成したいという要求がありました。一般的に、モバイル向けのアプリケーションを計画する場合、2つの方法が考えられます。
 ①iOS用、Android専用アプリを作成する。
 ②Webブラウザで動作するアプリケーションとして作成する。 

①の専用アプリは、作成すること自体はそれほど難しくないものの、どんどん更新されていくOSに併せて都度動作「テスト」し、必要に応じて「アップデート」を継続的に続けなければなりません。アプリケーションそのものの機能をアップさせたり、追加のビジネスニーズに合わせるための変更を継続するのは望ましいとしても、“OSが変更されていくから、そもそもの「動作」を保証させる”ためにアップデートを続けるのは負担が大きく、今回の選択肢からは外れました。

Webブラウザで動作するアプリケーションを作成するのは、OSに依存しない分、メンテナンスは楽になりますが、Web開発人員を新たに割り当てることが難しく、今回は実現に至りませんでした。 

理由2:すぐに必要だった。

ソフトウェア開発をしているインフォシェアですから、プログラマーの隙間時間を見繕いながら社内アプリを開発することも可能でした。しかしこのアプリは「すぐに」必要でした。
時間をかければ、アプリ開発にかかわらずどんなことでも成し遂げることが出来ます。しかし、時間をかけると言うことは、それだけ「コスト」がかかっているのと同義です。「すぐに目的が達成できる」というのは、ビジネスのスピードを高めるだけではなく、経費削減に多大に寄与します。

今回インフォシェアで必要となったアプリケーションは、オフィスへの「入退館記録アプリ」です。インフォシェアは「プライバシーマーク」を取得しており、プライバシーマーク取得事業者には、最初入室記録と最終退出記録および退出時点検(JISQ15001要求事項「3.7.1運用の確認」)の記録が求められています。必ずしも電子的に行う必要はなく、例えば「紙台帳」などでも運用は出来るようですが、アプリで電子的に運用できるならそれにこしたことはありません。紙だと、別途「正確性」を担保する方法を考慮する必要も出てきます。
こういった要件に見合っているのがPowerAppsでした。
「今、これが必要。だから作ろう!」とすぐに作成し、テストし、運用に入ることが出来ます。

PowerAppsでなければダメなの?」といわれそうですが、そんな野暮な質問をする必要もないくらい、「今欲しいから、サッと作る」という要求を実現できます。

作成したアプリケーションはこちらです。(入退館記録アプリ起動画面)2018-07-09_19-01-48※画面はiPad mini用に最適化したので、すこし縦長で横幅が狭くなっています。

このアプリの目的は「最初の入館者」「最後の退館者」を正確に記録し、必要なときにすぐに「提出」できることだけです。そのため、必要な機能は「①ユーザーが選択できること」「②操作したユーザーが偽装されていないよう写真を撮影できること」「③記録を簡単に管理できること」のみとしています。
ユーザーがシンプルに使うことが出来るよう、実装は必要最低限の機能にとどめています。実は、PowerAppsのアプリケーションを作成するポイントは、「最初からてんこ盛りで実装しない」だと考えています。

ユーザーは入館時、退館時、ユーザー一覧から自分を選択し、目的のボタンをタップするだけの2アクションで始めます。Blog1ユーザー一覧は、管理・メンテナンスが行いやすいように、SharePoint Onlineに社員マスターを作成しており、そのリストを参照しています。種別を選択したら、操作したユーザーを記録するための「写真」撮影です。

Blog2このアプリケーションは操作するユーザーをユーザーIDで認証することはしていません。つまり別人としてなりすましで操作することが可能です。そのため、操作したユーザーを写真で確定するように設計しています。これについては、ユーザーのIDとパスワードを入力させる方法もあることでしょう。とはいえ、帰りがけのユーザーの気持ち、そしてタブレット端末でのIDやパスワードの入力しにくさを考慮して、今回は写真での対応としました。Blog4操作者は記録として自身の写真を撮影しなければ、次へ操作を進めることが出来ません。入館と退館では、登録時の要求事項が異なるので、画面がすこし異なっていますが、ここまで来たらあとは1クリックで登録完了です。
2018-07-10 11.19.51

入退館の記録はSharePoint Onlineで管理しています。SharePointリストに記録があれば、必要なときにExcelにエクスポートしてまとめることも可能だからです。 

さて、このようなアプリケーションを全くの初心者でも作成できるのでしょうか?

出来ます! 最初にボタンやギャラリーをまずは配置します。そうすると、次にボタンをクリックしたときの動作はどのように設定するのか? 少し調べます。
一つのボタン、ギャラリーの設定がわかったら、あとはそれの繰り返しです。「このときの値を次の画面でも使えたらいいのに・・・」という場面が出てきたら「変数」や「コレクション」を少し追加で調べていきます。
本職プログラマーであっても、コードこそ書けるものの、PowerAppsの関数をしっているわけではありませんから、作成にかかる時間は同じ程度です。

手元に置いておくと非常に便利なのが書籍です。
ひと目でわかるPowerAppsノンコーディングでのビジネスアプリ作成入門」(株式会社イルミネートジャパン 奥田 理恵 著)はTipsが豊富に掲載されており、お薦めの書籍です。
P53690_common_pc 

「今、これが業務で必要」「今、これが欲しい」 このニーズを満たすことが出来るPowerAppsのキャンバスアプリを是非一度利用されてみてください。
そして、インフォシェアのDynamics 365応用トレーニングでもPowerAppsを扱っています。営業担当者のニーズを満たすアプリ作成などを「何が出来るのか? どのような場面で活用するのか?」を体系的に学びたい方は、是非ご参加をご検討ください。

 

 

 

InfoshareとPowerApps -その1

最近、PowerAppsに関するお問い合わせをよく受けますので、インフォシェアのPowerAppsに関する取り組みをご紹介させていただきます。
Office 365Dynamics 365のスペシャリストとして、インフォシェアはPowerAppsに関しても日々検証を重ね、業務でもPowerAppsで作成したアプリケーションを利用しています。(アプリケーションについては次の記事で取り上げます)
PowerApps20186月のアップデートで大きくそのメッセージングを変えてきました。これまでは「InfoPathの後継となるフォームのソリューション」とか、「Office 365で使う新しいアプリ」、「まるでPowerPointでプレゼンテーションを作るかのように簡単にアプリが作れる」など、様々なマーケティング的表現がなされてきましたが、これまでの”ふわふわ”した立ち位置から比べると、今回の6月のアップデートで、マイクロソフトのPowerAppsメッセージングはかなり明確になったと感じます。 

2つのモデル

6月のアップデートは、下記のスライドで説明されました。

2018-07-05_17-59-47
※Microsoft Buildで提供されているスライドから引用。スライドタイトルのみの訳

 

PowerAppsで作成するアプリは、Buildのセッションでも紹介されたとおり、キャンバス アプリ」と「モデル駆動型 アプリ(Model-driven」の大きく2種類となりました。

1.キャンバス アプリ

いわゆる従来のPowerAppsでいわれてきたのと同じで、Webブラウザで提供される、「PowerApps Studio」上で部品コンポーネントを配置し、デザインを行いながら、まるでPowerPointで見栄えのよいプレゼンテーションを作成するかのように、ユーザーフレンドリーでかつグラフィカルな日々の業務に役立つ「モバイル(スマートフォン・タブレット)用」または「Web用」のアプリケーションを作成します。
既出のとおり、この「見栄えのよい」アプリケーションはSharePoint OnlineモダンUIにおいて、カスタムリストの”入力フォーム”として埋め込むことも可能です。
同様に、作成したアプリケーションは、Microsoft Teamsのタブにも配置することができます。例えば次のような感じになります。2018-07-06_13-07-22
※インフォシェア社内で利用している「同僚に感謝を送る」アプリ。マイクロソフト社がサンプルで提供しているアプリをカスタマイズしたもの。

 

2.モデル駆動型 アプリ

ここが、6月から新しくなったところです。別の呼ばれ方は「PowerApps Plan2」、または「CDS 2.0Common Data Service 2.0)」と呼ばれているアプリケーションプラットフォームです。CDSとは何か、以前からあるCDSとは違うのか、など、書き出したら到底ブログの記事で収まらないほどの情報がありますが、誤解を恐れずに「端的」な言い方をすると、CDS 2.0 Dynamics 365 プラットフォームとなります。最初のPowerAppsとリリースされたCDSは、いわゆるクラウドにあるデータベース ストレージでした。 新しいCDS 2.0は、データベース作成時、Dynamics 365のインスタンスが作成され、データ プラットフォームとしてDynamics 365を利用するようになります。

すでにモデル駆動型アプリの作成をお試しになってみましたか?
最初にデータベースを作成する際、なぜ「通貨」と「言語」を聞かれるのか不思議に思われたことはありませんか。言語はまだしも、なぜ「通貨」を選ばなければならないのか?2018-07-06_19-42-50
それは、CDS 2.0Dynamics 365プラットフォームだからです。Dynamics 365は最初のセットアップ時に、最低限組織の基軸「通貨」と「言語」を設定する必要があります。
D365セットアップ.png
本記事で詳細を言及するスペースはありませんので割愛しますが、Dynamics 365は複数通貨、多言語に対応するからこそ、内部構造的に基軸通貨とベース言語のあらかじめの設定が必須になります。

さて、ここまでの話を整理してみましょう。

PowerApps20186月時点で、組織で必要となるアプリケーションを簡単に作成できる「キャンバスアプリ」と、プラットフォームとしてダイナミクス365ベースのCDS 2.0が利用できる「モデル駆動型アプリ」の大きく2種類があります。
・ Office 365のユーザーはキャンバスアプリを作成できるライセンスが含まれています。
・ Dynamics 365のユーザーはキャンバスアプリとモデル駆動アプリの両方を作成できるライセンスが含まれています。(一部のライセンスを除く)
・ Office 365を持っていない、またはOffice 365のユーザーであっても、「プレミアム コネクタ」(例えばSafesforceとの接続など)を必要とする場合は、「PowerApps プラン1」(月額¥760/1ユーザー)
・ モデル駆動型アプリを活用したい場合は、「PowerApps プラン2」(月額¥4,350/1ユーザー)2018-07-09_12-23-25

Plan2、「4350円! そんなにするの?! 高い!!」と思われましたか?

Dynamics CRMDynamics 365を早い時期から活用されている方であれば、Dynamicsは「XRM」プラットフォームとしても利用できることをご存じだと思います。CRMは「Customer Relationship Management(顧客関係管理)」であり、顧客のデータを中心にサービスを展開していきますが、XRMとは「顧客」にかかわらず “X” 部分を好きに定義し、その「関係管理」を行う考え方です。例えば「学校」の生徒管理・教職員管理・成績管理・シラバス管理システムなども”XRM”として設計できますし、「不動産」の建物管理、引っ越し業での利用などDynamicsで構築するXRM事例は数多くあります。

例えば、不動産の場合などはXRMのイメージが沸きやすいでしょうか?
「顧客」「オーナー」「建物」「契約」「見込み客」「修繕計画」「メンテナンス記録」など様々な「点」情報を相互に関連付けて短時間で一つの統合システムとして構築できます。DynamicsXRMでこの不動産管理システムを作成し運用している例は多くあります。スクラッチで一から開発することを考えると、容易にデータどうしの”関連性”が作成できるDynamics、さらにワークフローやレポート機能などが標準で整っているDynamicsXRMのプラットフォームとして採用するのは合理的な考え方です。
これまでは、XRMであっても、Dynamics CRMDynamics 365の通常のライセンスを購入しなければなりませんでした。もっともよく用いられるCE(カスタマーエンゲージメント)プランは「月額¥12,510/1ユーザー」です。
そう考えると、PowerAppsPlan2は同じプラットフォームでありながらも、約3/1の金額で提供されていることになります。堅牢なDynamics 365をプラットフォームとして、キャンバスアプリとは異なるしっかりとした「データ関連性」を必要とするXRMアプリケーション、ビジネスロジックや各種条件を加味したシステムの実現ができます。

逆に考える方もいるかもしれません。「CRMがほしいのでDynamics 365を検討しているが、もしプラットフォームが同じならば、PowerApps Plan2で作成する方が安くなるのではないか?
確かに、PowerAppsCRMを作成できなくはないでしょうが、そこは明確な機能差が存在します。CRMとして使うことを考えているのであれば、Dynamics 365を購入した方が、時間も手間も大きく異なります。そして決定的に「機能」が異なっています。“プラットフォームが同じ”=“機能も同じ” ではありません。

2018-07-05_17-56-46

※Microsoft Build資料より引用

 

次回の記事では、インフォシェアでのPowerAppsの取り組みをもう少し具体的に紹介させていただきます。