チームワークに必要なワークフロー。オンプレもOKなFileMakerで。

ポータルサイト(FileMaker簡易ワークフロー)Ver.2.1 を公開


カスタムApp + アドオン のセットである、ポータルサイト(FileMaker簡易ワークフロー)のセットを公開しました。ひとりで github flow などしてみながら。 ひとり github flow で公開などすなり。Release v2.1 · takeshi0206/filemaker-addons-reception-for-filemaker · GitHub https://t.co/c90fRHy2DQ— TAKESHI NAKANO (@takeshi0206x) October 25, 2022 しかし、github...

数字の根拠がすぐわかるシステムは良いシステム


帳票からデータ構造を考える。今回は「避難者の健康状況調査シート」。(岩手県「市町村避難所運営マニュアル作成モデル」より)これは一見人数の記録に見えますが、恐らく該当者は誰だ?という話に必ずなる訳で…数字の根拠が知りたくなる。となると避難者の名簿とリンクして、名簿から該当者を選択するUIがあればいいかな?  帳票からデータ構造を考えるシリーズ。今回は県が公開している「避難者の健康状況調査シート」これは一見人数の記録に見えるが、恐らく該当者は誰だ?という話に必ずなる訳で…数字の根拠が知りたくなる。となると避難者の名簿とリンクして避難者一覧から選択するUIがあればいいかな?#FileMaker...

敢えて帳票そっくりの画面にする


 これは、岩手県が公開している「市町村避難所運営マニュアル作成モデル」の中の、「様式17 避難所における要配慮者名簿 (PDF 52.6KB)」です。こちらのサイトで公開されています。「市町村避難所運営マニュアル作成モデル」この帳票は「名簿」なのに「対応」欄があります。しかし対応を記録するのであれば、履歴がないと何かあったときの経緯がわからない。これはもう「名簿」という名の「対応」記録簿です。 いやいやいや、この帳票どう見ても設計おかしい。要配慮者の名簿といいながら、「対応」が入っとる。「対応」入れるんなら絶対最新の対応状況と、対応の履歴が必要じゃないですか。なのに作成日付ごとの名簿?何を管理したいのこれ。なんならそういう風に作ろうか。#避難所支援システム#FileMaker...

サービスが使えるグループを(値一覧のような)チェックボックスで選択する


 最初は標準の値一覧で実装していましたが、双方向にリレーションを持ちたくなったため、テーブルに変換しました。画面はデバック中の動きです。編集用のポータルは見えないようにレイアウトの領域外に置いて隠したものを本番レイアウトとしました。値一覧をテーブルにしたもう一つの理由は、選択した値のリストをキーにして、イメージデータをExecuteSQLで取ろうとしてだめだった(ExecuteSQLではFileMakerデータベースのオブジェクトフィールドを取得できない)こと。しかし、テーブルへ値を追加したいときの実装が、FileMakerだととっても簡単。ポータルの最終フィールドに何か値を設定するだけでリレーションのキーが自動で設定されたレコードがCreateされます。この軽さがローコードの真骨頂。 #FileMaker...

実行権限のないボタンが押されたらヘルプメッセージを表示する


 実行権限のボタンは非表示にしていましたが、権限がある人はどんな機能を使えるのかを敢えてガイドするようにしました。しかし、このような仕様に限らず、スクリプト、カスタム関数、フィールド設定、スクリプトトリガー、条件付き書式などというように、あちこちに依存関係の強い実装をすると、メンテナンスに苦労します。ということで、カスタム関数に処理機能だけでなく、使用者へのポップオーバーメッセージ用のテキストも持たせて、メンテナンスがしやすいように実装を工夫しています。仕様を局所化する=あちこちに依存関係のある実装をしない。 カスタム関数の返り値でボタンを非アクティブにすることにしたけど、ヘルプのテキストも関数側に持たせることにした。仕様を局所化して保守の安全性と効率を高める。...

ワークフローを動的に変化する値一覧で実現する


ログインユーザーによって、選択できる値一覧の値を限定できるようにしました。いわゆるワークフローです。  #FileMaker でワークフローを実装してみた。例えば「申請中」というステータスは、管理者権限を持った人が、「審査中」か「差戻し」にしか変更できないようにするとか。ポップオーバーで値一覧をチェックボックス表示して選択させるUI。 pic.twitter.com/wgFFppYjJA— 中野岳史 (@takeshi0206x) August 12, 2022 これをマルチユーザーで実現するには、ユーザー別のスコープ...