制限と回避策

リフレッシュFMの動作について基本的に理解しておくべきことは、あるファイルのセットから別のセットへデータをインポートしているということです。構造や、その他のプログラミングを移行しているのではありません。裏で実行されているのは、FileMakerの標準的なインポートです。ただし、見えている部分はとてもスマートで、エラーチェックも実施しています。

そのため、製品の現在のバージョンでは対処できないFileMakerの制限がいくつかあります。しかし、こうした問題の解決に役立つプログラミングの方法があります。

アカウントとパスワード

あるファイルから別のファイルへ、アカウントとパスワードをインポートしたり移動したりすることはできません。さらに、FileMakerは暗号化を使用してパスワードを保存しているので、パスワードを知る方法はありません。

ただしファイルに対して外部認証を使用することはできます。この場合、ファイルに保存されるのはグループ名だけでなので、ファイル間では何も移行する必要はありません。これは長い目で見るとずっと安全性の高いオプションであり、その他の利点もあります。

ほかの方法もあります。たとえば、アカウントとパスワードを、アップデートしないひとつのファイルだけに保存しておき、その「許可」ファイルを使ってほかのファイルの既知のアクセス権セットを経由してアクセスできるようにする方法があります。ただしこの方法自体の制限があり(現在のユーザ名を取得するのが簡単ではない)、セキュリティ上の深刻な問題があります(代替のログインのクレデンシャルをどこかほかのところに保存しておかなくてはならない、など)。そのため、あまり検討には値しません。

カスタムの値一覧

現時点では、FileMakerで、あるファイルから別のファイルへ値一覧を移行する方法はありません。どの一覧からでも値一覧の項目を取得できますが、取得した項目を自動で設定することはできません。設定は、ユーザインターフェイス経由のみです。

回避策としては、値一覧などのカスタムのデータを、リフレッシュFMでアップデートしない別のファイルに分けておく方法があります。このようにすると、一覧に対する変更がアップデートのたびに失われることはありません。

ほかの方法としては、テーブルのデータを使ってカスタムの値を保存しておき、テーブルをインポートの一部として含めると、データがすべて移行されます。この方法は、値一覧の使用を追加したり変更したりするのは別のファイルに保存しておくよりも簡単ですが、カスタムの値一覧でカスタムの順番を使うことはできず、名前の順のみとなります。

FileMaker 11の「ファイルアクセス」の制限

FileMaker 11には、アカウントに対して、ソリューションのすべてのファイルではなく一部のファイルだけにアクセスを制限できる新機能があります。これはソリューションのセキュリティを高めることのできる、優れた機能です。しかしリフレッシュFMの性質上、インポートのステップに必要なデータを取得したり設定したりすることができません。

ソリューションにすでにこの制限を適用している場合、リフレッシュFMを使ってそのコピーからインポートすることはできません。

新しいソリューションの計画を立てる場合は、リフレッシュFMに保存して戻す前に、リフレッシュFMのコントロールファイル(OldとNew)を許可する必要があります。