オープナーファイル(フリーでファイル公開しました)

オープナーファイルとは

FileMaker Serverに新しいカスタムAppを公開したとき、
ユーザーへ接続先の情報を伝えるよりも、「オープナーファイル」と言われる、

    ファイルを開くスクリプトを埋め込んだファイルを配布する

と使い勝手が向上します。
ユーザーはオープナーファイルをダブルクリックするだけで、
FileMaker Serverに共有されている目的のファイルを開くことが出来ます。

また、FileMaker Cloudで公開するカスタムAppは、

    ファイルオプションの「次のアカウントを使用してログイン」の設定は無効化

されるため、推測しにくいパスワードの管理が必須になってきます。
この場合もオープナーファイルを配布すれば使い勝手が向上します。

これまでの問題点

このオープナーファイルはFileMaker Serverが登場した数十年前から良く使われていますが、
次のような質問を多く受けます。

  1. ネットワークの接続エラーなどの理由でファイルが開けないときに数十秒待たされるのはなんとかならないか
  2. アカウントとパスワードの入力を省略してログインできないか

解決方法 1.

1.の解決方法は、実は https://<ホスト>:16000/test/ へURLから挿入スクリプトステップを実行することでサーバーアドレスまでの疎通確認が出来ていましたが、疎通確認にしてはオーバーヘッドが多く、さらに実際に使用される5003番ポートへの確認になっていないため、ありまり使われていませんでした。

しかし、バージョン16から登場したcURLオプションを利用することで解決しました。cURLオプションは様々な機能があってヘルプ(サポートされている cURL オプション)を見るだけは理解が難しいですが、デバックするときに便利なオプションがいくつかあります。

  • –connect-timeout サーバに接続するまでのタイムアウト時間
  • –trace-ascii 接続を確立するまでの通信内容が、引数として設定した変数に格納されます

今回はこれらのオプションを使って、数秒間で得られる通信内容を確認することで疎通確認を行っています。

解決方法 2.

2.の解決方法は、実はfmp:から始まるURLスキームを利用することで可能でした。
しかし複数バージョンのFileMaker Proを1台のPCにインストールしている場合は、.fmp12に関連付けられているFileMaker Proのバージョンからしか起動できないので不完全な状態でした。
解決方法はFileMakerの昔からの仕様を利用します。

現在のファイル(Aとします)から外部データソースとして別のFileMakerファイル(Bとします)を開く時、
Aに現在ログインしてるアカウント・パスワードと一致するアカウントがBに存在するとき、
外部データソースとしてBを開くときは自動的にそのアカウントでログインする
(弊社の解釈)

この仕様を利用するために、アカウントの削除、追加、再ログインをしてから、接続を開始します。

問題を解決したオープナーファイル

この度これらの問題を解決したオープナーファイルを作成し、
完全アクセス権を公開したフリーのファイルとして 公開 しました。
スクリプトの中身をすべて見ることができますし、
これをそのまま使用することも、加工して使うことも出来ます。
ファイルはFileMaker公式のサンプルファイルダウンロードサイト「fmgo.jp」からダウンロード可能です。
FileMaker Serverへの疎通確認をすばやく行ってファイルを開く

ファイルを使用する時に

公開しているファイルはダブルクリックした後に「OPEN」ボタンをクリックすることで共有ファイルに接続開始しますが、
実際に配布されるときはわざわざボタンをクリックしなくても、
OnFirstWindowOpenトリガに「OPEN」スクリプトを割当することによって本ファイルを開くだけで自動接続できます。
OnFirstWindowOpenトリガへの割当は、メニューの「ファイル」−「ファイルオプション…」でウインドウを開き、
「スクリプトトリガ」タブー「OnFirstWindowOpen」ー「OPEN」を指定します。