連携用アドオン
ワークフローサイトと外部カスタムAppがアドオンによって連携
1. FileMakerアドオン(Reception for FileMaker) とは
入力画面となるテンプレートやカスタムAPPを用意し、レセプション・アドオンを貼り付けると、サーバのレセプション・ポータルにレコード情報を(REST)API送信する機能が簡単に追加できます。 利用シーンとしては、従業員の社内申請手続き,イベント会場での受付,避難所での運営支援といった申請・受付のフローをイメージしたプロトタイプシステムです。
分散したカスタムAPPのログを集約することにも応用できます。入力画面となるカスタムAPPは主キー(primary key)があれば何種類でも登録が可能です。 また、データを送信する側はREST を話せればFileMakerでなくとも連携が可能です。
インターネットにつながっていない閉域のネットワークでシステムが構築できます。クラウドの時代となる以前から使われているFileMakerの利点を活かしたシステムと言えるでしょう。😀
仕事の効率化についてまとめた文章はこちらです。👉仕事の効率化
※注意事項)サンプルのカスタムAPP・介護休業申請書.fmp12 では、承認後も変更が可能となっています。実際の運用では、承認の際にデータを保存・保護したり、"状況"によって変更できないようコントロールする機能が必要です。
注意)アクセス権セットはレセプション・ポータルの画面からはユーザに割当てできません。完全アクセス権のあるアカウントでサインインし、FileMaker標準メニュー>ファイル>管理>セキュリティ でユーザにアクセス権セットを割当ててください。
レセプション・ポータルより操作できます。
注意)レセプション・ポータルからサービス(=FileMakerカスタムApp)を選択して開く場合は、最初にレセプション・ポータルでサインインしているアカウントで開こうとします。(FileMakerネットワーク:fmnetの場合に限る)
この時に同じアカウント/パスワードが登録されていれば(あるいは外部認証で認証が通れば)、同じアカウントで開かれます。
認証が失敗すれば、メニュー>ファイル>ファイルオプション>開く>次のアカウントを使用してログイン で指定されたアカウント名/パスワードでログインします。
どちらの場合も注意しなければならないのは、アクセス権セットがレセプション・ポータル側と分離しているという点です。
つまり、開いたカスタムAppに個人情報が含まれている場合、アクセス権セットに不備があると、権限のない人が個人情報を閲覧できてしまいます。
この状況を防ぐため、サンプルカスタムApp(介護休業申請書.fmp12)では、以下のような対策を施しています。
※FileMaker Pro および FileMaker Server は、Claris International Inc. の商標です。
操作感
全体の操作感を動画で見れます。ユーザーが様式に入力して申請し、スタッフが承認するという流れです。サンプル様式の他に色々な様式をサービスとして追加可能です。受付のフレームワークのようなものです。
ユーザの操作
様式(サンプル)をサービスリストから選択して開き、記入して申請するまでの流れです。(約2分・無音)
スタッフの操作
受付状況を確認し、審査・承認する流れです。(約2分・無音)
開発者の操作
- アドオン作成
- アドオンインストール
- アドオン設定
- 様式用カスタムAppの作り方
以上の順で説明しています。(約4分・無音)
2. 使い方/ユーザー
ユーザー視点での使い方の概要です。サンプルとして提供するレセプション・ポータルの操作を例に説明します。登場人物は、申請者,審査者,承認者の3名です。業務フロー例についてはこちらを参照してください。👉業務フロー例
不特定多数からの申請を受け付けるフローも考慮しました。
サンプルを導入する手順の詳細はこちらです。👉サンプル導入手順
2.1 ユーザーの操作の流れ
- レセプション・ポータルにサインインします。
- 例)ユーザID:user01, パスワード:user01
- "サービスリスト"を選択し、サービス名>作成 の順に選択します。
- 例)介護休業申請書>作成
- 選択したサービスに対応するカスタムAPPが開き、レコードを作成するか聞いて来るので、「OK」で続行します。
- 情報を入力したら、レセプション・アドオンのボタンを押して、コメントがあれば入力し送信します。
- カスタムAppの画面が閉じてレセプション・ポータルに戻ったら"ログ"を選択し、送信した情報がログに登録されていることを確認します。
- 審査・承認が終わるとログの"状況"が変わります。
1.レセプション・ポータルにサインイン
サービスリスト>作成
3.新規レコード作成
4.アドオンより送信
5.レセプション・ポータルでログの確認
6.審査・承認が終わると状況が変わる
2.2 スタッフの操作の流れ
- レセプション・ポータルにサインインします。(スクリーンショットは省略)
- 例)ユーザID:fm1, パスワード:fm1
- "ログ(管理)"を選択し、"状況"が"申請中","承認待ち"のログを選択し、"開く"で該当のカスタムAPPを開きます。
- 内容を確認し、レセプション・アドオンのボタンを押して、コメントがあれば入力し、"状況"を"審査中","承認待ち","差戻し"などに変更して送信します。
- 入力画面が閉じてレセプション・ポータルに戻ったら"ログ(管理)"を選択し、送信した情報がログに登録されていることを確認します。
2.ログ(管理)>開く
3.状況を変更して送信
4.ログ(管理)で確認
※注意事項)サンプルのカスタムAPP・介護休業申請書.fmp12 では、承認後も変更が可能となっています。実際の運用では、承認の際にデータを保存・保護したり、"状況"によって変更できないようコントロールする機能が必要です。
3. 使い方/システム管理者
3.1 レセプション・ポータルの設定
3.1.1 環境設定
3.1.2 アカウント権セットについて
サンプルのレセプション・ポータルには、アクセス権セットが6つプリセットされています。アクセス権セットによって、レイアウトのボタンバーを表示/非表示にし、操作可能な機能をコントロールするためです。
- 一般ユーザ
- 通常のユーザ権限です。サービスを選択して新規にデータを追加したり、自分のログを閲覧することができます。
- アカウント管理者 ( account_manager )
- アカウントにグループを割当てたり削除できる権限です。"アカウント(管理)"が表示されます。
- サービス管理者 ( service_manager )
- サービス情報を登録する権限です。"サービスリスト"にデータを追加・変更できる権限です。
- 環境管理者 ( env_manager )
- レセプション・ポータル環境設定やレセプション・アドオンの設定ができる権限です。画面左上に"設定(歯車)"アイコンが表示されます。
- ログ管理者 ( log_manager )
- 送信されるログ全部が閲覧可能となる権限です。"ログ(管理)"が表示されます。
- REST-USER
- REST APIでデータを登録できるアカウントです。レセプション・アドオンがバックグラウンドで利用します。画面上の機能の表示/非表示には影響しません。
プリセット・アカウント権セット
3.1.3 ユーザアカウントの設定
- 使用者が登録する場合
- レセプション・ポータルを開き、サインイン画面にある"新規アカウント"を選択します。
- ユーザID、パスワードを設定します。
- アカウントの作成が終わると個人情報の取り扱いについての画面が表示されるので、内容を読み同意する場合は"同意する"を選択し閉じます。
- 管理者が使用者に応じたグループを設定すると、利用できるサービスが"サービスリスト"に表示されます。
- 管理者が登録する場合
- レセプション・ポータルを開き、サインイン画面にある"新規アカウント"を選択します。
- ユーザID、パスワードを設定します。
- アカウントの作成が終わると個人情報の取り扱いについての画面が表示されるので、何も選択せず閉じます。(使用者がサインインした際に同意を取ります。)
- "アカウント(管理)"より使用者を選択し、使用者の所属などグループを設定します。グループによって利用できるサービスをコントロールします。
3.2 レセプション・アドオンの設定
レセプション・アドオンを設定する手順はシステム構成に応じて2つに分かれます。3.2.1 システム構成について
- 構成例1・サーバのみで運用
- サーバ側
- FileMakerServer
- FileMakerカスタムApp レセプション・ポータル
- FileMakerカスタムApp レセプション・アドオンをインストールしたもの
- 構成例2・サーバとクライアントでデータを分離して運用
- サーバ側
- FileMakerServer
- FileMakerカスタムApp レセプション・ポータル
- クライアント側
- FileMakerカスタムApp レセプション・アドオンをインストールしたもの
- 【参考】動作検証した環境
- FileMakerServer 19.3.2 (Mac)
- FileMakerPro 19.3.2(Mac)
- FileMakerGo 19
システム構成例
3.2.2 構成例1の場合のアドオン設定
レセプション・ポータルより操作できます。- "サービスリスト(管理)"でサービスを選択し、"アドオン"のタブで"アドオンの設定"を選択します。
- 該当のカスタムAppが開き、設定が必要な項目が画面に表示されるので入力します。
- 画面を閉じる際に必須項目がチェックされます。
3.2.3 構成例2の場合のアドオン設定
レセプション・アドオン側での設定です。- 完全アクセス権があるアカウントでカスタムAppを開きます。
- アドオンの設定ボタン(歯車)を選択し、各タブで必要な項目を入力します。
- 画面を閉じる際に必須項目がチェックされます。
3.2.4 ユーザアカウントについて
レセプション・アドオンがインストールされたFileMakerカスタムAppのユーザアカウントの考え方について説明します。注意)レセプション・ポータルからサービス(=FileMakerカスタムApp)を選択して開く場合は、最初にレセプション・ポータルでサインインしているアカウントで開こうとします。(FileMakerネットワーク:fmnetの場合に限る)
この時に同じアカウント/パスワードが登録されていれば(あるいは外部認証で認証が通れば)、同じアカウントで開かれます。
認証が失敗すれば、メニュー>ファイル>ファイルオプション>開く>次のアカウントを使用してログイン で指定されたアカウント名/パスワードでログインします。
どちらの場合も注意しなければならないのは、アクセス権セットがレセプション・ポータル側と分離しているという点です。
つまり、開いたカスタムAppに個人情報が含まれている場合、アクセス権セットに不備があると、権限のない人が個人情報を閲覧できてしまいます。
この状況を防ぐため、サンプルカスタムApp(介護休業申請書.fmp12)では、以下のような対策を施しています。
FileMakerネットワーク:fmnetの場合
- レセプション・ポータルと同じアカウントをレセプション・アドオンをインストールするカスタムAppにも登録する。
- さらに、レセプション・ポータルとアカウントに相違が出た場合を想定して、以下の様にアカウントを追加しスクリプトやファイルオプションでセキュリティ対策を施す。
- メニュー>ファイル>ファイルオプション>開く>次のアカウンを使用してログイン に、ゲストアカウントを設定する。
- アクセス権セットは、アクセス権セットの編集>利用できるメニューコマンド>最小値 とし、他のレコードへの移動や検索、全てのレコードを表示するなどの操作ができないようにし、ゲストアカウントにこれを割り当てる。
- スクリプトワークスペース>新規スクリプト で、以下の処理を作成する。
- "レイアウト切り替え・(表示したいレイアウト)"
- メニューバーの表示切り替え・隠す(Winのみ)
- "全レコードを表示"
- "対象外のみを表示"
- メニュー>ファイル>ファイルオプション>スクリプトトリガ>OnFiestWindowOpen で上記スクリプトを選択する。
- メニュー>ファイル>ファイルオプション>開く>すべてのツールバーを隠す を選択する。
注意)WebDirectの場合は、シングル・サインオンが提供されていないので、FileMakerネットワークと異なり、以下の設定を施し、データベースごとにログインする必要があります。
WebDirect:httpsの場合
- レセプション・ポータルと同じアカウントをレセプション・アドオンをインストールするカスタムAppにも登録する。
- さらに、レセプション・ポータルとアカウントに相違が出た場合を想定して、以下の様にアカウントを追加しスクリプトやファイルオプションでセキュリティ対策を施す。
- メニュー>ファイル>ファイルオプション>開く>次のアカウンを使用してログイン は設定しない。
- アクセス権セットは、アクセス権セットの編集>利用できるメニューコマンド>最小値 とし、他のレコードへの移動や検索、全てのレコードを表示するなどの操作ができないようにし、ゲストアカウントにこれを割り当てる。
- スクリプトワークスペース>新規スクリプト で、以下の処理を作成する。
- "レイアウト切り替え・(表示したいレイアウト)"
- メニューバーの表示切り替え・隠す(Winのみ)
- "全レコードを表示"
- "対象外のみを表示"
- メニュー>ファイル>ファイルオプション>スクリプトトリガ>OnFiestWindowOpen で上記スクリプトを選択する。
- メニュー>ファイル>ファイルオプション>開く>すべてのツールバーを隠す を選択する。
4. アドオンの導入/開発者
サンプルカスタムApp・介護休業申請書のように、任意のカスタムAppにレセプション・アドオンをインストールする手順を説明します。
- レセプション・アドオン作成用カスタムApp(Reception for FileMaker.fmp12)を開きます。
- "アドオン作成"ボタンを選択します。
- FileMakerProを終了します。
- アドオンをインストールしたいカスタムAppを開きます。
- アドオンボタンを貼り付けたいレイアウトを表示します。
- レイアウトモードにします。
- アドオンタブを表示して、+ボタンを選択します。
- Reception for FileMakerを選択して、インストールボタンを選択します。
- インストールが終わったら、アドオンのアイコンをレイアウトにドラッグしてボタンを配置します。
1-2.Reception for FileMaker.fmp12を開いてアドオン作成
2.アドオン作成ボタン選択後のダイヤログ
3.一旦FileMakerProを終了
4-5-6-7.カスタムAppのレイアウトモードで"アドオン">"+"
8.レセプションfor FileMakerを"選択"
9.アドオンのアイコンをレイアウト上にドラッグ
アドオンの導入/インストール終了
注意事項)レセプション・アドオンをインストールできるカスタムAppは、テーブルに主キー(primary key)が必要です。
5. カスタムAppの設定例/開発者
アドオンを導入したカスタムAppに情報セキュリティ対策を施します。
- 起動時に必ず実行するスクリプトを作成します。敢えてレコードを表示しないようにします。
- 作成したスクリプトを OnFirstWindowOpen トリガーで実行するように、ファイルオプションで指定します。
- "一般ユーザ"というアクセス権セットを作成し、最小限の権限にしておきます。
- ゲストユーザーに、アクセス権セット"一般ユーザ"を割り当てます。
- 登録されていないアカウントで開こうとした時に"一般ユーザ"となるようファイルオプションを設定します。
1.起動時のスクリプト
2.ファイルオプション>イベントトリガーで指定
3.アクセス権セットを作成
4.ゲストアカウントを"一般ユーザ"に
5.次のアカウントを利用してログインの設定
6. 応用
避難所運営支援システム
インターネットが使えなくとも電源があれば構築できます。しかし、個人情報や要配慮情報を扱うので、個人情報保護法の遵守、プライバシー保護の観点で、個人情報保護管理責任者などの個人情報保護管理体制や、アクセス制御などの情報セキュリティ対策に合わせたカスタマイズが必要となるでしょう。
応用例・避難所運営支援システム
私がこの話をする理由はこちらのサイトに書きました。
現地調査
入力画面を作ってレセプション・アドオンを貼り付け、カスタムAppとしてiPadに各自ダウンロードし、現地調査に出向いてもらう。入力したらインターネットにつながるところで送信してもらい、レセプション・ポータルで進捗状況を確認する。特にインターネットでなくともネットワーク上にFileMakerServerがあればシステム構築可能。
FAXの代替
FleMakerGoで入力&送信してもらう。レセプション・ポータルを使わせない場合は、配布するカスタムApp側に個人情報の取り扱いについての同意を得る仕組みを持たせる。FAXのメタファーなので一方的に送信する機能だけ考えれば良い。サーバ側にアカウントを用意しなくともAPI通信だけで連携可能。サーバで受信したデータは、CSVでエクスポートする想定。
注意:現在オブジェクトフィールドには未対応です。
イベントの参加申込から会場の受付
参加者が多数ならサーバにアカウント作るわけにもいかないと思うので、FileMakerGo用のカスタムAppをダウンロードしてゲストアカウントで申し込み入力してもらい、スタッフはレセプション・ポータルで受付ける。”審査OK”となったら参加者は会場の受付で状況を”入場待ち”に更新し、スタッフがポータルで”入場OK”にしてゲート通過。勝手に”入場待ち”にできないように、会場受付にあるQRコードを読ませたら”入場待ち”に変更できるように作り込むとか。一般に配布する場合はスパム対策も必要。
よりセキュリティを強化したシステムへの応用
iPadのカスタムAppからアドオンでサーバにデータを送る際、レセプション・ポータル用のログとして送るだけでなく、同じフィールドを持つレプリカデータベースにも送り、iPadのデータは削除し、公開用データベースにはデータを保存しないようにする。そしてポータルからログとレプリカを見れる人は管理者だけとすれば、より情報漏洩の可能性は低くなるし、サーバのアカウント数も管理者だけを考えればよくなる。
レプリカ案
etc.
あなたならこのアドオンとポータルサイトを使って、どんなシステムをイメージしますか?
しかし、本当の問題は導入後に待っています。この様式のこのフィールドは本当に入力する必要があるのか?そもそもこの様式は入力する必要があるのか?そもそもこの業務フローはこのままでいいのか?最初にそこまで到達できればいいのですが、そのハードルが高いと感じているなら、このFileMakerカスタムAppのような『取り敢えず現行様式をそのまま使ってDXの最初のハードルを越える』という考え方が使えるのではないでしょうか。
製作者 Takeshi Nakano は、本ファイルおよび、外部システ ムとの連携に関して一切の動作保証を致しません。このファイルに不備があった場合も Takeshi Nakano は訂正する義務を負いません。使用者がこのファイルによ り、直接または間接的に損害を生じたとしても、Takeshi Nakano は、いかなる責任および義務をも負わないものとし、一切の賠償も行わないものとします。このファ イルの情報は、一部の機能を除き、無料で提供されています。このファイルを利用した情報の保存や複製その他 ユーザーによる任意の利用方法により必要な法的権利を有しているか否か、著作権、秘密保持、名誉毀損、品位 保持および輸出に関する法規その他法令上の義務に従うことなど、使用者ご自身の責任において行っていただ きますようお願いいたします。このファイルが紹介しているソースやソフトウェアの合法性、正確性、道徳性、最新 性、適切性、著作権の許諾や有無など、その内容については一切の保証を致しかねます。
検証環境
- MacBook Pro 8 GB 2133 MHz
- macOS BigSur 11.6
- Claris FileMaker Pro 19.3.2.206
- Claris FileMaker 19.3.2.203
- iPad (第8世代)
- iPadOS 15.0.2
- Claris FileMaker Go iPad 19.3.23
免責事項
Claris FileMakerProのアドオン作成機能は、現バージョン(19.3.2.206)でまだプレビュー機能です。Claris社より正式にサポートされている機能ではありません。
私からClaris Comunityに不具合報告したレポートはこちら👉アドオン作成でポップオーバーのボタンバーからボタン属性が分離?
著作権
Reception for FileMaker アドオン:ReceptionForFileMaker.fmp12Reception for FileMaker ポータル :portal.fmp12
製作著作 ©2021 Takeshi Nakano
※GitHubにMITライセンスで公開する予定です。→公開しました。
商標表示
Claris、FileMaker、ファイルメーカー、FileMaker Cloud、FileMaker Go、FileMaker WebDirect およびファイルフォルダロゴは、Claris International Inc. の米国および/またはその他の国における登録商標です。クラリス、CLARIS CONNECT、CLARIS CREATE、CLARIS ENGAGE、Claris ロゴ、FileMaker Pro および FileMaker Server は、Claris International Inc. の商標です。Mac および Mac ロゴは、米国およびその他の国における Apple Inc. の登録商標です。使用している他者の著作物について
アイコン
- icon8
- https://icons8.jp/icons
- 利用ライセンス:CC BY-ND 3.0(CC licensing, Attribution-NoDerivs 3.0 Unported)
- Iconnector
- https://content.claris.com/jpicons "アイコン、ピクトグラムについて"より引用"FileMaker プラットフォームにおけるアプリケーションの制作を支援する目的に、本ファイルに含まれるアイコンおよびピクトグラムの使用をClaris FileMaker ソフトウェア上で利用する場合にのみ許諾します。"
- Takeshi Nakano
画像
- Unsplash
- https://unsplash.com
- "What is not permitted"より"Photos cannot be sold without significant modification.Compiling photos from Unsplash to replicate a similar or competing service."
- Takeshi Nakano
プラグイン
- 他者の著作物はなし
カスタム関数
- 他者の著作物はなし
スクリプト
- ReceptionForFileMaker.fmp12
- Save as add-on
- このスクリプトは、AppWorks さんより提供されている fmLog 2.1 について説明しているブログを参考に、必要と思われる部分のみ流用したものです。AppWorks さん作の fmLog 2.1 は、Creative Commons Attribution 4.0 license で提供されています。
参考にしたサイト
- dbservices
- Creating FileMaker Add-Ons
情報
本カスタムAppは、FM-1グランプリ応募作品です。現在第三回予選通過したところです。大会運営、ご協力企業、特別協力の皆様に感謝です。
FM-1グランプリ:大会運営(敬称略 50音順)
以上
プレゼン用に、Preziも作ってみました。PCで見てみてください。スマホだとトランジションの効果がなく、つまらないコンテンツになっちゃいます。実際の操作感はこんな感じ。PCで見てみてください。(短縮版・約1分・無音)
ホームへ戻る