FileMaker のファイルを共有ディレクトリに置いて共有するのは避ける

FileMaker カンファレンスの動画を観たりすると、ファイル共有の話が出てくる。一つの FileMaker ファイルを複数人で共有したい状況はよくあるはず。そこで言われていたのが、「FileMaker のファイルを共有ディレクトリに置き、それを各人のパソコンから触るのは避けよ」ということだった。最初はその理由が分からなかったが、実際にやってみていかにそれがリスキーなのかが分かったので今回紹介する。

最近 FileMaker による Twitter bot を始めた。

FileMaker で Twitter に投稿する – with a Christian Wife
https://wacw.cf/2019/04/05/tweet-by-filemaker/

この仕組み上、FileMaker Server での運用ができないため、24 時間稼働させている Mac の FileMaker Pro で動かしていた。これは普段使いの Mac とは別のマシンだ。普段使いの Mac をマシン A、24 時間稼働させている Mac をマシン B と呼ぶことにする。

マシン B に置いている FileMaker ファイルをいじりたくなることは時々ある。ちょっとスクリプトに変更を加えたいとか、レコードを修正したいとか。だから Resilio というアプリケーションを使って、FileMaker のファイルを置いているディレクトリをマシン A とマシン B で共有していた。これでいちいちマシン B を操作しなくても、マシン A でファイルに変更を加えればいい。

Resilio Sync Home – the fast and secure way to get all your files on all your devices
https://www.resilio.com/individuals-sync/

ところが問題が起きた。マシン A で加えた変更がマシン B に反映されないことがあるのだ。最初は Resilio の問題だと思っていたらこれは FileMaker の問題だと気付いた。すなわち、スクリプトのちょっとした変更などはファイルの更新時刻が更新されないのだ(Finder で確認できる)。ファイルの更新時刻が変更されないと Resilio はファイルが変更されたと感知しないので同期が実行されない。だから変更が反映されなかったようだ。

これは Resilio による共有だけでなく、ファイルサーバー(共有ディレクトリ)での共有や、Dropbox 、OneDrive、Google Drive 等のツールによる共有でも起こりうるかもしれない。これなら怖くて共有ディレクトリによる同期は使えない!

やはり素直に FileMaker Server を使うか、FileMaker Pro の標準機能であるファイル共有を使うのがいいようだ。