- TAKESHI NAKANO
- 昔はオブジェクト指向で実装が楽になると思っていたけどもう時間がない。FileMakerじゃないとやりたいことができなくなってしまった。時々つぶやく事 PMP FileMaker 盛岡
ポータルサイト(FileMaker簡易ワークフロー)Ver.2.1 を公開
10月 25, 2022 TAKESHI NAKANO
カスタムApp + アドオン のセットである、ポータルサイト(FileMaker簡易ワークフロー)のセットを公開しました。
ひとりで github flow などしてみながら。
ひとり github flow で公開などすなり。
— TAKESHI NAKANO (@takeshi0206x) October 25, 2022
Release v2.1 · takeshi0206/filemaker-addons-reception-for-filemaker · GitHub https://t.co/c90fRHy2DQ
しかし、github クライアントの GitKraken って使い易くないですか?
数字の根拠がすぐわかるシステムは良いシステム
10月 05, 2022 TAKESHI NAKANO
帳票からデータ構造を考える。今回は「避難者の健康状況調査シート」。(岩手県「市町村避難所運営マニュアル作成モデル」より)
これは一見人数の記録に見えますが、恐らく該当者は誰だ?という話に必ずなる訳で…
数字の根拠が知りたくなる。となると避難者の名簿とリンクして、名簿から該当者を選択するUIがあればいいかな?
帳票からデータ構造を考えるシリーズ。今回は県が公開している「避難者の健康状況調査シート」
— TAKESHI NAKANO (@takeshi0206x) July 3, 2022
これは一見人数の記録に見えるが、恐らく該当者は誰だ?という話に必ずなる訳で…数字の根拠が知りたくなる。となると避難者の名簿とリンクして避難者一覧から選択するUIがあればいいかな?#FileMaker pic.twitter.com/OjFWvjIlcf
- 症状をクリック>人を追加>2名に変わる。
- カレンダーをクリック>6月28日を選択>全件表示をOFF>該当者が表示され、5歳未満1名が誰かがわかる。
症状がある人の数字だけでは、その人をフォローはできないので、数字に該当する人は誰かがわかるようにしました。
①症状をクリック>人を追加>2名に変わる。
— TAKESHI NAKANO (@takeshi0206x) July 3, 2022
②カレンダーをクリック>6月28日を選択>全件表示をOFF>該当者が表示され、5歳未満1名が誰かがわかる。
症状がある人の数字だけで、当局が何を管理したいのかは不明だけど、想像だけでここまでは作ってみた。誰かは特定したいよね。#FileMaker pic.twitter.com/8QFiUE7OSH
そしてこれに例のアドオンを貼り付けると、受付ポータルシステムの一部として機能する。動画は、担当者が起票した調査シートを管理者がチェックして承認する流れ。こんな風に必要なデータベースを後から追加していく。チケット駆動型プロジェクト管理ツール的なメタ業務システム。
敢えて帳票そっくりの画面にする
10月 04, 2022 TAKESHI NAKANO
これは、岩手県が公開している「市町村避難所運営マニュアル作成モデル」の中の、「様式17 避難所における要配慮者名簿 (PDF 52.6KB)」です。こちらのサイトで公開されています。
この帳票は「名簿」なのに「対応」欄があります。しかし対応を記録するのであれば、履歴がないと何かあったときの経緯がわからない。これはもう「名簿」という名の「対応」記録簿です。
いやいやいや、この帳票どう見ても設計おかしい。要配慮者の名簿といいながら、「対応」が入っとる。「対応」入れるんなら絶対最新の対応状況と、対応の履歴が必要じゃないですか。なのに作成日付ごとの名簿?何を管理したいのこれ。— TAKESHI NAKANO (@takeshi0206x) July 8, 2022
今回は、敢えて帳票そっくりに画面を作りました。帳票が(県)指定の様式なので、結局は様式を作らなければならないし、帳票のレイアウトと画面のレイアウトが同じであれば、急場で集められた避難所のスタッフでも分かりやすいと考えたからです。
次の図はテーブル設計です。「事象」画面は、「日付・特定の人」の一部を表示する。
「特定の人」画面は、「人」の一部を表示する。というテーブル設計にしました。
データ構造が似ている別のカスタムAppからほぼほぼコピーしてできました。カレンダーは標準のボタンバーでできています。(Webビューア+JavaScriptではありません。)
- カレンダーで日付を選択して、その日の対応を記録する。
- 対象者は、人マスターから要配慮者を選択して登録する。
これで最低限のカスタムAppができました。
この画面にポータルサイトとの連携を取るFileMakerアドオンを貼り付ければ、ワークフローシステムとの連携も簡単に実現します。
実はこれで終わりではなく、ポータルのサービスとして登録して完成です。要配慮者情報はプライバシー保護も必要なんで、ユーザーとグループでアクセス保護する。そして、対応状況をチャットのようなUIで記録。複数のカスタムAppの進行状況を俯瞰する。例のアドオンを貼り付けて簡単に連携。 #FileMaker pic.twitter.com/vJYTTDEa0U
— TAKESHI NAKANO (@takeshi0206x) July 17, 2022
サービスが使えるグループを(値一覧のような)チェックボックスで選択する
10月 03, 2022 TAKESHI NAKANO
最初は標準の値一覧で実装していましたが、双方向にリレーションを持ちたくなったため、テーブルに変換しました。画面はデバック中の動きです。編集用のポータルは見えないようにレイアウトの領域外に置いて隠したものを本番レイアウトとしました。
値一覧をテーブルにしたもう一つの理由は、選択した値のリストをキーにして、イメージデータをExecuteSQLで取ろうとしてだめだった(ExecuteSQLではFileMakerデータベースのオブジェクトフィールドを取得できない)こと。しかし、テーブルへ値を追加したいときの実装が、FileMakerだととっても簡単。ポータルの最終フィールドに何か値を設定するだけでリレーションのキーが自動で設定されたレコードがCreateされます。この軽さがローコードの真骨頂。
#FileMaker 値一覧に限界を感じてテーブルに変換。チェックボックスを反転するたびに、編集用のポータルで追加・削除のテスト。このポータルは領域外に隠す。 pic.twitter.com/8h1a8BaSsW
— TAKESHI NAKANO (@takeshi0206x) August 27, 2022
実行権限のないボタンが押されたらヘルプメッセージを表示する
10月 02, 2022 TAKESHI NAKANO
実行権限のボタンは非表示にしていましたが、権限がある人はどんな機能を使えるのかを敢えてガイドするようにしました。
しかし、このような仕様に限らず、スクリプト、カスタム関数、フィールド設定、スクリプトトリガー、条件付き書式などというように、あちこちに依存関係の強い実装をすると、メンテナンスに苦労します。
ということで、カスタム関数に処理機能だけでなく、使用者へのポップオーバーメッセージ用のテキストも持たせて、メンテナンスがしやすいように実装を工夫しています。
仕様を局所化する=あちこちに依存関係のある実装をしない。
カスタム関数の返り値でボタンを非アクティブにすることにしたけど、ヘルプのテキストも関数側に持たせることにした。仕様を局所化して保守の安全性と効率を高める。 #FileMaker に限らず。 pic.twitter.com/Amnx6u3qzi
— TAKESHI NAKANO (@takeshi0206x) August 16, 2022
ワークフローを動的に変化する値一覧で実現する
10月 01, 2022 TAKESHI NAKANO
ログインユーザーによって、選択できる値一覧の値を限定できるようにしました。いわゆるワークフローです。
#FileMaker でワークフローを実装してみた。例えば「申請中」というステータスは、管理者権限を持った人が、「審査中」か「差戻し」にしか変更できないようにするとか。
— 中野岳史 (@takeshi0206x) August 12, 2022
ポップオーバーで値一覧をチェックボックス表示して選択させるUI。 pic.twitter.com/wgFFppYjJA
これをマルチユーザーで実現するには、ユーザー別のスコープとなるグローバルフィールドを使用します。
登録:
投稿 (Atom)