はじめに
FileMakerでログ管理と無限undo、redoを実現するためのFileMakerカスタムAppを作成し、FM-1グランプリに投稿しました。予選は通過しましたが、投稿後の改修について公開するために、この記事を作成しました。もし、要望があれば、Appの使い方、App内容の説明なども記事にしたいと思います。
カスタムAppの概要
FMDBーblueは、既存のデータベースに組み込んで、オブジェクトフィールドを含むフィールドの編集、レコードの作成、削除についてログ管理を行い、無限undo、redo機能を実現するものです。サンプルファイルを同包しておりますので、サンプルファイルから開いていただき、実際の動作を確認いただければと思います。FMDBーblueファイルから開いても、すぐにサンプルファイルを開けるようになっています。FMPネイティブでプラグイン、アドオン等は使用していません(というか使いこなせる技術がありません)。FMDB-blue1つで、多くのデータベースのログを同時管理できます。既存データベースへの組み込みは、3つのステップで導入できます(サンプルファイルへの組み込みを解除する必要はありません)。詳細は、FMDB-blueの「使い方」に記載されていますので、ご参照ください。
FM-1グランプリ投稿版からの改修
- 使い方の「次回起動時に表示しない」チェックが、ファイル単位で記録されていたものを、ファイルを起動した端末単位で記録されるようにしました。
- 使い方のページめくりをアニメーション化。
-
@qbxxdpさんのツイートを読んで色やアイコンが切り替わるボタンの実装をボタンバーに変更しました(動作上の変更はありません)。
- @p388cellさんの五輪マークをアニメーションさせているのは仕組みが分かりません。
-
FM-1グランプリの審査で指摘されている使い方の記載ミスを修正。ちなみに該当のキーフィールドは、グローバルフィールドに変更。グローバルフィールドになっていないと、FileMaker Serverで共有して、同時使用した場合に不具合がでる可能性に気づきました。
- もともとグローバルフィールドにするとパフォーマンスが落ちると思っていましたが、再度検証してみて、グローバルフィールにしてもパフォーマンスが変わらないことを確認したので、この変更を行いました。
- パフォーマンス向上のため、「サーバー上のスクリプト実行」を活用しようと試行錯誤していたのも、グローバルフィールドにしていなかった理由なのですが、「サーバー上のスクリプト実行」を活用するには、その利点を上回るオーバーヘッドが必要になると想定されたため、断念しています。
ダウンロード
更新履歴
- version 1.2 (2021/11/08)
- 共有して使用した場合の動作に最適化しました。
- version 1.1 (2021/10/27)
- ネットワークアクセスのための拡張アクセス権を修正しました。
- version 1.0 (2021/10/01)
- FM-1グランプリ投稿初版。