FileMaker 19.3 の Webビューアの変更に伴う Windows 環境での動作変更の影響について、SeedCode社のブログ記事が掲載されています。Splashが販売・サポートを行う SeedCode社の「DayBack Classic」に大きく影響するため、元記事の一部を抜粋して翻訳しました。
元記事はこちら
FileMaker 19.3 Web Viewers on Windows | https://www.seedcode.com/filemaker-19-3-web-viewers-on-windows/
この変更は Mac クライアントには影響しません。また、サーバが Windows Server かどうかは影響しません。
変更点の概要
FileMaker のWeb ビューアでは、これまで Windows クライアントの Web コンテンツのレンダリングに Internet Explorer エンジンを使用してきました。2021年6月24日にリリースされた FileMaker 19.3 では、Microsoft Edge (Chromium) エンジンが使用されるようになりました。これは素晴らしい変更であり、Internet Explorer に比べて大きく改善されています。
しかしながら、この変更による影響で、従来のIEエンジンによるWebビューアを想定して作成された既存のカスタムAppが正しく動作しない可能性があります。これまでに判明している変更点は以下の通りです。
変更された動作1:許可ダイアログが頻回に表示される
- Windows上で 「fmp://」 のURL呼び出しを行うと、必ず「アプリを切り替えますか? Microsoft Edge は FileMaker Pro を開こうとしています(はい/いいえ)」を選択するダイアログが表示されるようになりました。
- データURLベースのWebビューアを使用している場合:Webビューアがロードされるたびに許可ダイアログが表示されます。ここで「はい」を選択した場合、許可の対象は “localfm.assets” です。
- Webビューアから外部ファイルを参照する場合:「このサイトは FileMaker Pro を開こうとしています。file:// では、このアプリケーションを開くことを要求しています。(開く/キャンセル)」という許可ダイアログが表示されます。この許可ダイアログには “常に許可する” というオプションが選択できます。ここで「開く」を選択した場合の許可の対象は、ローカルファイルを参照する場合 “file://” になります。参照先がローカル以外の場合は、参照したURLに対して許可する形になります。
変更された動作2:サイトを開く設定の許可状態が保存されない
- Windows の Web ビューアは、その FileMaker ファイルを閉じると、当該ファイルから行ったサイトに関連するすべての設定を消去します。これには、ローカルストレージ、Cookieの内容、および前述のサイトが FileMaker を開くことを「常に許可」する設定が含まれます。たとえFileMaker がまだ動作していても、ファイルが閉じられると保存された設定は保持されません。これらの設定は、ファイルのセッションに適用されるようです。
これら2つの変更の結果、Web ビューア が 何か FileMaker スクリプトを実行すると、ユーザはその都度 確認ダイアログで[OK] の選択を求められることになります。さらに、場合によっては、ユーザには許可を求めるダイアログが表示されることすらなく、あたかも Web ビューアがフリーズしたように見えてしまうことすらあります。また、ローカルストレージや Cookie を使用してユーザの状態や API に接続するトークンを保存しているアプリは、FileMaker ファイルを閉じた後にそれらを保持することができなくなります。
- Windows の新しいブラウザセキュリティルールでは、”クリック” のようなユーザーアクションから開始されていない場合、fmp:// の URL が呼び出されないようになっています。ただし、Webビューアのレイアウトが読み込まれたときには、この例外があるようです。このことから、レイアウトのレンダリング時に Webビューア が設定されている場合、fmp:// URLはクリックアクションから実行される必要はありません。スクリプトトリガーからWebビューアを設定する場合や、Webビューアのコンテンツがオブジェクト自体に直接読み込まれる場合にURLが実行されることがあるため、「レイアウトのレンダリング」がどのように構成されているのかは明確ではありません。
つまり、FileMaker 19.3 (Windows)の Webビューアでは、リンクやボタンに関連付けられた fmp:// URL を使用して FileMaker スクリプトを実行することはできますが、ほとんどの JavaScript コールバックで FileMaker スクリプトを実行することができなくなりました。DayBack Classic では、コールバックを使用して Web ビューア全体の更新回数を制限しています。これにより、「スクロールを解除」することなくユーザの集中力を維持し、DayBack Classic をより FileMaker のネイティブな部分として感じられるようになっています。
DayBack Classic における問題
(DayBackには現在 DayBack for Classic と DayBack for FileMaker 19+ のラインナップがあります。Splash は従来のDayBack(for Classic)のみ販売しています。)DayBack Classic では FileMaker スクリプトの呼び出しに fmp:// のURLメソッドを使用しているため、19.3 の変更によりアプリが完全に壊れてしまいます。幸いなことに、DayBack ファイルを 19.3 で動作するように変更することができます。
問題1: イベントがロードされない
Windows 上の FileMaker 19.3 Web ビューアでは、FileMaker スクリプトを実行するための呼び出しを OK するよう、1 セッションにつき 1 回、ユーザーに求めるようになりました。しかし、FileMaker が表示しようとしたダイアログは DayBack ではすぐに消えてしまうため、カレンダーは描画されるものの、イベントを取得してレンダリングすることができません。
この問題を解決するには3つの方法があります。
- 解決方法1. FileMaker 19.3 で動作するようにファイルを修正する
ステップバイステップの手順(英語)はこちらをご覧ください。SeedCode社のチームは、実装にそれほど時間がかからないシンプルな修正方法を懸命に考えました。Jason Young氏のアップデートファイルには、あなたのファイルにコピー&ペーストする必要のあるスクリプトが含まれています。
- 解決方法2. あたらしい DayBack for FileMaker 19にアップグレードする
DayBack for FileMaker 19では、この問題はありません。さらに、多くの新機能があります。価格、アップグレード方法、割引については、「upgrade to the New DayBack Calendar.(英語)」をご覧ください。
- 解決方法3. アップデートした Windows マシンを FileMaker 19.2.2 に戻す
FileMaker 19.3をアンインストールし、ここにある installer から 19.2.2 を再インストールすることで可能です。
問題2: DayBack がセッション間でカレンダーの状態を記憶しない
DayBack カレンダーは通常、どの日にどのビューを使用していたかを記憶しています。Windows版の19.3では、これができなくなりました。
修正方法 DayBack Classicにはこの問題に対する修正はありませんが、起動時にFileMakerスクリプトで常に特定の日付やビューに移動する方法があります:
- スプラッシュストア ヘルプセンター DayBackカレンダー |カレンダーナビゲーション
- DayBackForFileMaker Document|scripting calendar navigation(英語).
元記事(全文)はこちら FileMaker 19.3 Web Viewers on Windows | https://www.seedcode.com/filemaker-19-3-web-viewers-on-windows/