FileMaker Network_Check
Webビューアのキャッシュの頑固さに負けた。DBファイルの開閉、HTML head のキャッシュ制御まで無視するとは…あまりしつこいと嫌われるぞ。残る手段は http header の制御が効くかどうかだが、疲れたので今日は終わり。
2011-02-14 22:08:56それにしても、Web ビューアは、進行状況バーに「サーバに接続できませんでした」と自ら表示しているのに、本体ではすでに接続できないサーバのキャッシュを表示するという動作は“仕様”というのに無理があると思うぞ。
2011-02-15 10:03:20Web ビューアでネットワーク切断を検知することにようやく成功。実験方法が間違っていたね。FileMaker のファイル探しの行ったきり状態ではなく、指定の秒数でタイムアウトすることができる。
2011-02-15 11:48:26#FileMaker でオンライン/オフラインを確認するサンプルファイルを公開しました。iPad/iPhone のように移動でネットワークが不安定な場合に役立つかもしれません。簡単な説明をこの後にツイートします。http://bit.ly/fud6ov
2011-02-15 15:09:15FileMaker が共有ファイルを探しにいくと制御が戻ってくるのに時間がかかります。このサンプルは、Web ビューアを使って、Web サーバへのアクセスを基準にして、オン/オフラインを判断します。
2011-02-15 15:11:15@Y_Kinoshita ありがとうございます!Webビューアがキャッシュを握りっぱなしになっているのがなぜ困るのか解かりました~♪
2011-02-15 15:11:37本体スクリプトは、移植しやすいようにポータブルな作りにしてあります。他のスクリプトから所定の引数を渡して起動。そのスクリプト結果によって、自分の好きな処理に分岐してお使いください。
2011-02-15 15:13:19フィールド名に依存しないように[フィールドを名前で設定]ステップを使っているので、FileMaker 10 以降でないと動きません。ご注意を。
2011-02-15 15:14:32本体スクリプトを呼び出す時の引数を変えれば、好きなサーバに対して任意の文字列のデータが戻るかどうかで判断するよう、簡単にカスタマイズできます。
2011-02-15 15:16:07ちなみに、Loop は Web ビューアが指定 URL にアクセスしてデータをロードするまでの待機のために使っています。1秒ごとの再開で10回なので、10秒プラスαでタイムアウトになるわけです。
2011-02-15 15:17:41ただし、指定 URL へのアクセス動作は Loop 前に一回行うだけですので、Loop 中にオンラインになっても検知はできません。それも実装したい場合は、Web ビューアの URL を指定する動作の外にも Loop を作れば良いはずです。
2011-02-15 15:19:52サンプルとして方法論を提示することが目的のファイルですので、細かいことはご自身で解析の上、ご自由に、自己責任にてご利用ください。
2011-02-15 15:21:20@Y_Kinoshita 簡易実装して確認したところ、webビューアーの挙動が十分実用に堪える程度にコンカレントであったことは確認しました。最近のスクリプトは複数の引数もちゃんと渡せるのですね。リトライ回数も設定できてすばらしいと思います。
2011-02-15 15:21:24@Y_Kinoshita イントラで使うには、タイムスタンプなどの簡易かつ高速なサーバーをたてて、キャッシュ対応するか、必ずリロードさせるjavascriptか何か書けばよいでしょうかね。
2011-02-15 15:24:05@Y_Kinoshita 特別高度なコメントはできませんが、FM11/Win XP Pro SP3、ローカルファイルで動作確認しました。
2011-02-15 15:29:10@Y_Kinoshita こういうのはShell Scriptとかでよくやりますが、考えてみたらFileMakerでもこうすりゃよかったんですね。$FieldNameはフィールドなしで変数だけでもいいかも、とも思いました
2011-02-15 15:30:08@medicalmaccom アクセス可能なネット環境に Web サーバが必要になります。ロードを確認するチェック文字列は任意に設定が可能です。
2011-02-15 15:30:54@nemoux FileMaker GO での動作を想定したので、外部との連携は Web ビューアしか使えなかったのです。昨日からごちゃごちゃ弄っているので、不要な部分も残っていると思います。脳内翻訳をよろしくです。
2011-02-15 15:34:55