0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

FileMakerでのログ管理、無限undo、redoシステム

Last updated at Posted at 2021-11-15

はじめに

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さんのツイートを読んで色やアイコンが切り替わるボタンの実装をボタンバーに変更しました(動作上の変更はありません)。
  • FM-1グランプリの審査で指摘されている使い方の記載ミスを修正。ちなみに該当のキーフィールドは、グローバルフィールドに変更。グローバルフィールドになっていないと、FileMaker Serverで共有して、同時使用した場合に不具合がでる可能性に気づきました。
    • もともとグローバルフィールドにするとパフォーマンスが落ちると思っていましたが、再度検証してみて、グローバルフィールにしてもパフォーマンスが変わらないことを確認したので、この変更を行いました。
    • パフォーマンス向上のため、「サーバー上のスクリプト実行」を活用しようと試行錯誤していたのも、グローバルフィールドにしていなかった理由なのですが、「サーバー上のスクリプト実行」を活用するには、その利点を上回るオーバーヘッドが必要になると想定されたため、断念しています。

ダウンロード

GitHubからダウンロードできます。

更新履歴

  • version 1.2 (2021/11/08)
    • 共有して使用した場合の動作に最適化しました。
  • version 1.1 (2021/10/27)
    • ネットワークアクセスのための拡張アクセス権を修正しました。
  • version 1.0 (2021/10/01)
    • FM-1グランプリ投稿初版。
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?