オープナーファイルとは
前回の投稿では、FileMaker Pro(Advanced)およびFileMaker Go向けのオープナーファイルについて書きました。
今回の投稿は WebDirect 専用なので、使用するのはブラウザです。
つまり配布するのはFileMakerの.fmp12ファイルではなく、
ファイルを開くhtmlファイルを配布する
必要があります。
これまでの問題点
FileMaker WebDirect ではファイルへのリンクは「HTML ページからデータベースへのリンク」として
- バージョン15まで http://ホスト>/fmi/webd#データベース名>
- バージョン16以降 http://ホスト>/fmi/webd/データベース名>
(SSLの場合はhttpsプロトコルを使用してください。)
またバージョン14以降であれば、上記リンクに続けてスクリプト名やその引数と変数を設定してスクリプト実行も指定できます。
?script=スクリプト名>[¶m=スクリプト引数>][&$変数名>=値>]
しかし次のような質問を多く受けます。
- アカウントとパスワードの入力を省略してログインできないか
解決方法
バージョン16以降は、「HTTP POST でのサインイン」が新しく機能追加されましたので、
アカウント名とパスワードを入力も自動化して WebDirect のファイルを開くことが可能になりました。
FileMaker 16 WebDirect ガイド
ただしPOST送信ということなので、ファイル名やスクリプト名などのようにアドレス情報(httpアドレス)に含んで指定することはできません。もしアドレス情報に含めてしまうと暗号化されないですし、あらゆるネットワーク機器のログ情報に記録されてしまうので、POST送信は当たり前の仕様だと思います。
そしてPOST送信なので、HTMLページやプログラムを別途作成する必要があります。
問題を解決したWebDirectオープナーファイル
この度これらの問題を解決したオープナーファイルを作成し、公開します。
- こちらからwebdLogin.txt.zipファイルをダウンロードしてください。
- zipファイルを解凍してください。webdLogin.txtファイルが作成されます。
- テキストエディタ等でファイルを開き、hostName、account、passwordを適切に設定します。
- ファイルを保存するとき、拡張子を.htmlに変更してください。これで完成です。
例:
var hostName = "https://192.168.1.90/fmi/webd/全角ファイル名テスト";
var account = "テストアカウント";
var password = "cA4M_%v";
下記の点には十分注意して配布、使用してください。
- htmlファイルは暗号化されていませんので、オープナーファイルの配布先や配布後の管理は厳重に行ってください。
- POSTデータ(アカウント名とパスワード)は目には見えませんがSSL通信でなければ平文でネットワークを流れます。LAN内やVPN内などの完全な閉じたネットワークでない限りは、FileMaker ServerのSSLを有効にし、httpsのアドレスを使用してください。
今回のことが理解できれば、カスタムWeb(PHP)やData APIを利用しなくても、
URLスキームにスクリプト名や引数を設定すればした超簡単な WebHook によるFileMakerへのデータ登録も可能かも!と頭をよぎりましたが、
スピード、同時接続ライセンスなど、なかなか課題も多いか、、、いつかそんな投稿もしたいと思います。
iOSにはとりあえずOS標準の「ファイル」アプリに入れれば動作することは確認できました。
それでも「ホーム画面にアイコン化したい」というニーズは間違いなくでてくるでしょう、、、
これは次の投稿で。
【 開発者募集中 】
弊社では FileMaker を使った高度な技術力で、モバイルデバイスのビジネス利用を楽しく発展させていく仲間を随時募集しています。詳しくは採用ページをご覧ください。