"PowerApps" にカテゴリー登録されている11 投稿

[PowerApps] 事例 ~ Twitter への投稿~

PowerApps で何ができるの? という情報も書き溜めておきたいので、大したアプリではないのですが、ちょこっと事例として残しておきます。

弊社では、SharePoint や Office 365 に関する研修コースを定期的に行っていますが、残席が僅かになったり、満席になった場合に Twitter でお知らせしています。

以前は実施回数もしれているので、手入力で投稿していましたが、現在は PowerApps を使って手軽に投稿できるようにしています。

PowerApps-Twitter

もちろん、過去に投稿した内容も一覧できます。

2018-09-19_19-29-38

大した開発ではないのですが、ちょっとした業務がちりも積もれば山となり、少しでも時間を節約できるわけです。Excel 関数が利用できれば、アプリ開発のハードルは非常に低いのでお勧めです。

ということで、来月の SharePoint Online サイト管理基礎コースは、もう少しで定員に達します。Microsoft Ignite の情報などもご提供する予定です。お申込みはお早めに!


[SharePoint Online] PowerApps を使ってアイテムをコピーする機能を SharePoint リストに追加する (2)

 先日公開した下記のブログ記事ですが、カスタマイズ方法を YouTube に公開しました。

[SharePoint Online] PowerApps を使ってアイテムをコピーする(1)

[言い訳 ] 早朝に寝起きで作ったので、多少、声がガラガラしていますが、ご容赦ください

動画は手順のみを説明していますが、少し補足しておきます。

既存の画面は新規作成と更新ができるのですが、SharePointForm1 というコントロールがカギを握ります。これは PowerApps の編集フォームというものですが、編集フォームには次の3つのモードがあります。

  • 編集…FormMode.Edit
  • 新規…FormMode.New
  • ビュー…FormMode.View

要するにモードを切り替えて後は SubmitForm(SharePointForm1) という式を実行すれば、モードによって既存アイテムが更新されたり、新規作成できたりします。

ということは、SharePointForm1 の既定のモードが Edit なので、New に変えればいいじゃない! と思うのですが、話はそう単純ではありません。New に変えるとフォーム内の全コントロールの内容がクリアされます。新規作成ですからね。そのため、ビデオに公開した手順では、既存の画面(FormScreen1)は残しつつ、コピー作成して、新たに作成した画面の方で編集フォームコントロールの設定を New に変えています。ただ変えるだけだと、値がクリアされるため、Navigate関数を使って FormScreen1 上のコントロールの値をパラメータで渡してやっています。

基本的な概念など、独学していて自身のない方は弊社コースもどうぞ。うちは4名様定員で自宅で研修を実施していますので、ゆったりしっかり学べますよ。
SharePointユーザーのための PowerApps & Microsoft Flow入門 [OH-2017-202]

本日もちょうど、上記コース実施しているところです☺


[SharePoint Online] PowerApps を使ってアイテムをコピーする(1)

PowerApps でカスタム リストをカスタマイズしてアイテム コピーを手軽に実装できます。

まずは出来上がったデモのみ公開しておきます。

手順については文字で表現するのが難しいので、追ってYouTubeに公開する予定です。こうご期待 !


[PowerApps] アプリを再発行しよう!

 2018年7月18日付けの PowerApps ブログ記事では "アプリの再発行" を推奨することで、パフォーマンスの改善と追加機能が利用できるようになるとのこと。

Republish your apps to get performance improvements and additional features

With the PowerApps platform, you can build great apps and deploy them to your end users, but sometimes you make an app and don't update it for many months. When you open the app in the studio, it reflects all the performance improvements that the PowerApps team made in the past since the last time you opened the app in the studio.

アプリの再発行の必要性 

以前のブログ記事でも紹介した通り、開発環境が Web ベースに一本化されていらい、Webブラウザー上でのアプリ開発は非常にスムーズになりました。初期の PowerApps は開発時のレスポンスが非常に遅く、お世辞にも「サクサク」アプリが開発できるとは言えませんでしたが、現在は推奨スペックの PC 上であれば、Edge や Chrome を使うことでストレスなくアプリ開発ができるようになってきました。

特に今年に入って加速度的に新機能や機能改善が行われてきています。新機能としては、たとえば、まだ試験段階ではありますがリッチテキストエディタコントロールが利用できるようになりました。こうした背景から、一度作成したアプリも定期的に見直しをすることで、「今までは別の方法をとっていたけど、もっとスマートな方法が利用できるじゃないか! 」とか、「今まで欲しかった関数が、ようやく使えるようになっているぞ」といった発見もあるはずです。

そもそも PowerApps の資料を見ていると次のような文言が書かれています。

作成したアプリが警告なしで動作を停止した場合、過去 6 か月以内に更新または再発行をしていないことが原因である可能性があります。 この問題を解決するには、アプリを更新または再発行して PowerApps の最新バージョンと同期します。その後は、最後に公開してから 6 か月以内にアプリを更新または再発行することを継続して行うようにします。

少なくとも6か月おきには再発行を行った方がよさそうです。

ちなみにアプリは発行時の PowerApps のバージョンで固定されます。つまり勝手に最新バージョンに上がることはないということ。これが再発行することでアプリも最新バージョンに自動更新され、バグ修正やパフォーマンス改善なども反映されるようになっています。上記記事によると、例えば SharePoint サイトに埋め込んでいる PowerApps アプリも以前は 1秒以下で実行できるものが全体の40% 程度だったものが、再発行することで 80% 程度まで向上しているようです。

またPowerAppsアプリは自動的にバージョン管理されているため、以前のバージョンの状態に容易に戻せます。

ということで現在のところ、定期的な再発行を保守・運用に組み入れていく必要がありますが、将来的には自動再発行機能も利用できるようになるようです。

 

 


[PowerApps] 事例 - SharePointリストで管理する受講者履歴

弊社では定期的に Office 365 および SharePoint 関連の研修を行っていますが、受講する方が過去にどういったコースを受講していただいたかなどを確認するために、「受講履歴」を SharePoint リストで管理しています。

従来は入力画面を InfoPath でカスタマイズして管理していたのですが、ここにきて Modern UI + PowerApps でのカスタマイズに変更してみました。これがなかなかいい具合です。

まず、カスタマイズした画面が下記の通りです(実データなので、もちろん、一部情報は伏せています)。

Attendance history 1

コースを受講していただくごとに情報登録しているのですが、画面をPowerApps でアレンジし、メールアドレスをもとに、同じリストから過去の履歴を Filter 関数で取得してデータテーブルに表示するようにしています。これでいつ、どのコースを受講いただいたのかが一目瞭然です。

新規にアイテムを登録する(受講履歴の新規登録)ときは、電子メールアドレスを入力後、[参照]ボタンをクリックすると、別で管理している"顧客データベース" リストから会社名と名前を自動取得できるようにしています。また受講したコース情報も選択肢から選べるようにしており、この情報もやはり別で管理している "コース情報" リストから取得するようにしています。ちなみに、[参照]ボタンはアイテムの新規登録や編集時のみ表示するように設定。

Attendance history 2

顧客データベースに格納しているアイテム数(エントリー数)が多いので、PowerAppsの Filter 関数を使うときに "委任" に気を付けなくてはいけませんが、そこをクリアし見た目をあまり凝りすぎなければ30分もあればある程度の見栄えで出来上がるレベルです。

とはいえ、最初に手を付けるときにはあれこれ調べながら「実装をどうしようか」などあれこれ吟味しながら業務の合間に作業したたため、ここまで来るのにそれなりに数日掛かってはいます。が、実装したい機能が決まれば、あとはスムーズです。

しっかし、InfoPath のころに比べると、データソースからのデータ取得や入力など速い!  InfoPath Form Services だと何かにつけて、サーバーサイド実行となり、ポストバックが多発発生していましたからね。クライアントサイドで動くメリットをとても感じますね。

 現在、PowerApps & Flow の入門者向け研修をオリジナル開発して実施していますが、色々と実際の業務で使ってみた事例をためて応用編となるワークショップをやりたいなぁなどと考えている今日この頃。。。まずはいろいろとアプリを作り貯めないと。。またお見せできるものを作ったら公開します。※最近追加されたリッチテキストエディターコントロールが、もうちょっとスムーズに動いてくれると、ネタがまだあるんだけどなぁ。