2015年12月8日火曜日

ファイルメーカー(FileMaker)を同期で使おう Part3

こんにちは同期シリーズ第3弾です。

今回から実際の作り方を見ていきます。

少しだけ、復習+α

同期モデルを選択する場合、いろいろな課題があり選択していくと思います。

1) インターネットに接続でいない場所(電波が悪い等も)でデータを見たい

2) 同時接続ライセンスを節約したい

などがあります。1)にはモバイル通信(3Gや4G)の場合も含まれます。モバイル通信だと、ソリューションの規模やサーバーのスペックなどにもよりますが、あまり本格的に閲覧したり、データ入力をするには厳しい場合もあり、同期モデルで作った方がいい場合もあります。

FileMaker GoからFileMaker Serverの共有ファイル開くポイント

FileMaker Goにあるファイル(iPad、iPhone上のローカルファイル)からFileMaker Serverの共有ファイルをリレーションするとFileMaker Serverの共有ファイルを開いた状態(接続ライセンスを消費)になる。


ということです。リレーションをしないで取り込むには、エクセルファイルか何かにエクスポートして、インポートするという手もありますが、個人的な見解としてあまりインポートをさせたくないという考えがあります。たまに、トラブルがあり、インポートが止まらなくなったりなどがあり、そういったことが少なく、確実性が高いを個人的に思っている方法を紹介します。

構成


まず図のようなイメージで

・入力用のファイル(client.fmp12)
・中間ファイル(container.fmp12)
・FileMaker Server上の共有ファイル(sample.fmp12)

という3つのファイルがあり、2つのファイルが同じデバイス上にあるとします。

このソリューションの前提

1) 営業社員が自身の担当顧客から注文が本社に入り、アシスタントがsampleに入力
2) 未確認の注文情報をダウンロード
3) clientファイル上で確認して、確認ボタンをタップ
4) 確認情報をsampleに戻す(入力・同期)する

という流れのソリューションであると思っていただければと思います。

1)FileMaker Server上の共有ファイルsampleの構成


FileMaker Serverの共有ファイルsampleの構成はこのようになっています。実際には、もっと項目が多くなると思いますが、分かりやすいように絞ってあります。



2) 中間ファイル(container.fmp12)の構成


中間ファイル(container.fmp12)にも同じ項目のテーブルを作成します。



一番下にあるフィールドは同期したタイムスタンプを保存しておきますが、共有ファイル上のファイルとのリレーションで、このファイルにレコードを作成するために主に使用します。

リレーションシップの編集

このファイルは共有ファイルとリレーションをして、そのリレーションを使ってこのファイルにレコードを作成したりします。


リレーションシップの管理で、このボタンをクリックします。


「FileMakerデータソースの追加」で共有ファイルを選択します。


このようにリレーションを作成します。「このリレーションシップによるレコードの作成を許可する」を忘れないようにします。

そして、先ほどのフィールドの設定にあったようにルックアップの設定をします。

次回は、中間ファイルに共有ファイルからデータを取得する流れについてみていく予定です。