ユーザには見せたくない設定情報などが入ったファイルを隠すために、Get ( ドキュメントパス ) と Get ( 環境設定パス ) を調べる機会があったので、その方法について、2つの関数を比較しながら内容を見ていきたいと思います。
最新の Claris FileMaker Go では ドットから始まるファイル名でも表示されてしまう
これまで FileMaker Go でユーザにとって不要なファイルを隠す方法は、ドットから始まるファイル名にするだけでした。これは iOS などの UNIX 系 OS の仕様「ドットから始まるファイル名は隠しファイルとして扱う」をそのまま利用する方法でした。しかし、最新の FileMaker Go ではこれが通用せず、ファイルの一覧に表示されてしまいます。
Get(ドキュメントパス)と Get(環境設定パス)のプラットフォーム毎の戻り値
デバイス | Get (ドキュメントパス) | Get(環境設定パス) |
---|---|---|
FileMaker Pro(macOS) | /ドライブ名/Users/ユーザ名/Documents/ | /ドライブ名/ユーザ/ユーザ名/Library/Preferences/ |
FileMaker Pro(Windows) | /ドライブ名/Users/ユーザ名/Documents/ | /ドライブ名/Users/ユーザ名/AppData/Local/ |
FileMaker Go | var/mobile/Containers/Data/Application/UUID/Documents/ | var/mobile/Containers/Data/Application/UUID/Library/Application Support/ |
FileMaker WebDirect | サポートされていないため空の文字列を返す | サポートされていないため空の文字列を返す |
FileMaker Server(macOS) | /ドライブ名/Library/FileMaker Server/Data/Documents/ | サポートされていないため空の文字列を返す |
FileMaker Server(Windows) | /ドライブ名:/Program Files/FileMaker/FileMaker Server/Data/Documents/ | サポートされていないため空の文字列を返す |
FileMaker Cloud | /opt/FileMaker/FileMaker Server/Data/Documents/ | サポートされていないため空の文字列を返す |
Get(ドキュメントパス)
ドキュメントフォルダのパスを取得できます。カスタムAppにあるデータを出力する際の保存先として、ドキュメントフォルダを使いたい場合などに使用します。
関連の関数で、「Get ( ドキュメントパス一覧 )」 という関数もあります。この関数は、ドキュメントフォルダにあるファイルの全てのファイルパスを取得することができます。
Get(環境設定パス)
現在のユーザの環境設定およびデフォルトオプションフォルダへのパスを返します。
使用中の端末のアプリケーションなどが使用する設定用のフォルダのパスを取得することができます。
Get ( ドキュメントパス一覧 ) のような、関連する関数はこの関数にはありません。
ユーザにとって不要なファイルを隠す場所は環境設定パスなのか?
Get ( ドキュメントパス ) は、ドキュメントフォルダなので、ユーザが容易にアクセスすることができます。
一方 Get ( 環境設定パス ) は、普段ユーザが見ないような場所にある場所なので、ユーザが意識しない限りアクセスすることはないでしょう。
そのような特性を活かして、ユーザはファイルの存在を認識する必要はないが、カスタムAppに必要なファイル(例えばデバイス毎に設定情報を保存したファイル)を保存したりすることに使えると思いました。
Get(テンポラリパス)との区別
これらの関数とは別に、似たもので Get ( テンポラリパス ) というものがあります。
この関数で取得したパスに保存されたデータはFileMaker アプリケーションを終了すると削除されます。
一時的にしか使用しないようなファイルは、こちらの関数を使うのが良いですが、データを保持したいような場合は、テンポラリフォルダを使うことには向いていません。
今回ご紹介するようなケースではやはり、Get ( ドキュメントパス ) や Get ( 環境設定パス ) を使うと良いかと思います。
FileMaker Proと FileMaker Goの違い
FileMaker Pro と FileMaker Go では、この「Get ( 環境設定パス )」 の動作が異なるようです。
FileMaker Goで Get ( 環境設定パス ) でパスを取得することはできました。取得したパスの場所にデータを書き込んでみると、見る限りドキュメントフォルダに保存されているようでした。なぜそう思ったかというと、FileMaker Go の起動センターに保存したファイルが表示されていたためです。そして、「ファイルの存在を取得」のスクリプトステップを使用して、環境設定パスに書き込んだファイルがあるか確認したところ、結果はFalseでした。
このことから、FileMaker Go と FileMaker Pro とでは Get ( 環境設定パス ) の仕様が異なるということが言えると思います。
FileMaker Go でユーザにとって不要なファイルを隠す方法
これは見つかっているのですが、現在のバージョンだけができる手法なのか、しばらく様子を見てからまた投稿したいと思います。
まとめ
これらのことを総合すると、保持したいデータがあるが、ユーザには見られたくないファイルを保存する場所として、FileMaker Pro ではこのGet ( 環境設定パス ) が使えそうです。FileMaker Go ではもうひと工夫が必要なようです。