カレンダーのテーブルとイベントのテーブルの間にはリレーションシップが設定されていませんが、どのように動作しているのですか?
カレンダーのインターフェイスはWebビューア内に表示されています。したがって基本的には、レイアウトを構成するもの(ボタン、列、ポータル)はすべてHTML、CSS、JavaScriptでレンダリングされています(使用しているJavaScriptの具体的なフレーバーは、AngularJSです)。
このため、カレンダーの複雑な部分の大半はWebビューア内に詰め込まれています。ただしカレンダーのルック&フィールは、CSSを編集することで変えられます。
カレンダーは、検索を実行し、検索リクエストの結果をテキストとして集めることで、イベントのデータを読み取ります(検索のスクリプトは「Event Find」ですが、カレンダーに表示するイベントをフィルタリングしたい場合は、検索のスクリプトに手を入れずにフィルタを直接編集できます)。
最終的に、編集内容は通常のFileMakerのスクリプトをコールしてFileMakerに戻されます。したがって、DayBackの動作は、JavaScriptではなくFileMakerのスクリプトを編集すれば変更できます。実は、FileMaker Pro Advancedを使っていれば、「いつもの」FileMakerのレイアウトと同様に、スクリプトデバッガをオンにしてカレンダーを使い、どのスクリプトがコールされているかを確認できます。
JavaScriptを使っている理由
FileMakerは多くの点で優れていますが、きわめて複雑なレイアウト(グリッドとカレンダーのような)は作成するのが大変で、しかも維持するのはもっと困難な場合もあります。レイアウトの難しさをHTMLに任せることで、表示の難しさをグリッドや多数のオブジェクトの扱いに長けたフレームワークに渡しています。しかも、ネイティブのFileMakerのレイアウトよりもWebビューアの方が、カレンダーの表示がずっと速くなります。
JavaScriptを使うことで、ネイティブのFileMakerのレイアウトでは疑似的にしかできなかった動作ができるようになりました。スライドするドロワーやドラッグ&ドロップが、ついに完全にネイティブな感覚になったのです。これらはJavaScriptではネイティブの動作だからです。
バックエンドにはFileMakerを使っているため、FileMakerで自由に使える優れた機能の数々はすべて活かされています。計算フィールド、レコードのロック、アクセス権など、すべてが期待通りに動作します。
弊社がJavaScriptを選んだ理由と、カレンダーに手を加える開発者にとってこれが良いニュースであると考えられる理由について、さらに詳しくはこちらの動画をご覧ください。
The Newest FileMaker Calendar: Why JavaScript
SeedCode
チャンネル登録者数 1062人
The Newest FileMaker Calendar: Why JavaScript
<div class="player-unavailable"><h1 class="message">エラーが発生しました。</h1><div class="submessage"><a href="http://www.youtube.com/watch?v=Kh-lilixLQA" target="_blank">www.youtube.com</a> での動画の視聴をお試しください。また、お使いのブラウザで JavaScript が無効になっている場合は有効にしてください。</div></div>
https://www.youtube.com/watch?v=Kh-lilixLQA
今後の展望
これは、ついにDayBackがFileMaker以外のバックエンドでも使えるようになっていくという意味でもあります(GoogleカレンダーやiCalのカレンダーがFileMakerのイベントと並べて表示されることを想像してみてください)。カレンダーをFileMakerのレイアウト以外に展開できるということでもあります。DayBackをブラウザで実行し、FileMaker Server経由でFileMakerのテーブルと接続しておくことができます。
こうしたさまざまな可能性に、私たちはわくわくしています。今後にご期待ください。
FileMakerとJavaScriptについてはSeedCode社のブログでさらに紹介しています:
http://www.seedcode.com/tag/javascript/
原文:HowItWorks|https://www.seedcode.com/pmwiki/index.php?n=DayBackForFileMaker.HowItWorks
コメント
0件のコメント
サインインしてコメントを残してください。