はい。いくつかの方法があります。
オフラインのユーザにFileMaker Serverからファイルの完全なコピーを取得してもらい、フィルタリングの条件に基づいて特定のレコードを削除する場合
全てのデータが入ったファイルを配布します。
- 同期設定
- 「Spoke側のデータベースの情報を入力」画面で「メインファイルの空のクローンまたは完全なコピーと同期」オプションを選択します。
- 配布するファイルの設定
- ダウンロードのリンクを作成するときに、全体のコピーのオプションを指定します。
この構成では、初回の同期はすぐに実行され、フィルタリングの条件に基づいてユーザがアクセスしないレコードが削除されます。
サーバのファイルのコピーと同期するが、ファイルサイズの理由でデータベースの完全なコピーをダウンロードしたくない場合
- メインのデータベースを複製し、オフラインのユーザが使用しないレコードをすべて削除します。
- この複製したファイルを、メインファイルと同じFileMaker Serverでホストします。
- 管理ツールで、「オフライン用の別のファイルと同期*」のオプションを選択してから、モバイル用のファイルとして先ほどの複製したファイルを選択します。
- このステップが完了すると、ユーザがMirrorSyncのダウンロードのリンク機能を使用するときに、メインファイルのコピーではなく、複製してレコードを減らしたファイルがダウンロードされます。
*MirrorSyncのバージョンによっては「分離モデルのファイルと同期」と表示されていることがあります。
ファイルのコピーをダウンロードをする前に特定のレコードを選択的に削除するが、これをユーザごとにカスタマイズする必要がある場合
これはシンプルです。ユーザ用のオフラインのコピーを作り、そのユーザが使用しないデータを削除し、ユーザに送ります。ユーザがすべてのデータに対してレコードレベルのアクセス権を持っていて、「MirrorSync customization」スクリプトでフィルタをまったく設定していない場合、初回の同期で削除したレコードがオフラインのファイルに書き戻されます。そのため、ユーザが同期中に取得しないレコードだけを削除してください。
あらかじめ作成した別のモバイル用ファイルを同期する場合
以下のステップを実行します。
- 使用したいレコードを、メインファイルからモバイル用のファイルにインポートします。
- 「インポート中、入力値の自動化オプションを実行」のチェックを必ずはずしてください。
- 主キー、修正情報のタイムスタンプ、作成情報のタイムスタンプが、モバイル用のファイルとサーバのファイルの間で一致する必要があります。
- 同期中にユーザがアクセスするすべて、または大半のレコードををインポートするようにしてください。(MirrorSyncでは、ごくわずかの特定のレコードが保存されているテーブルよりも、空のテーブルを同期する方が高速です。)
- ホストデータベースのMirrorSyncテーブルに新しいレコードを作成します。タイプを「サーバー」に設定します。
- 手順2で作成したレコードの「sync4」フィールド(*注)に手順1でインポートを実行した日時を以下のようにタイムスタンプ形式で設定します。
- 'YYYY-MM-DD hh:mm:ss'の形式で設定します( 24時間以内に)
- 注意:FileMaker Serverと同期していない場合(MySQL <-> FileMakerPro / Goなど)は、オフラインファイルでこの変更を行います。
- *注:フィールドのラベルが配置されていないため、sync4フィールドの配置はレイアウトモードで確認してください。
- データベースを変更する前に、オフラインユーザーが同期を実行していることを確認してください。モバイルファイルに作成された新しいレコードは、最初の同期中に削除されます。最初の同期が正常に完了した後で、通常、新しいレコードを追加しても問題ありません。
原文:Can I pre-populate my offline database to speed up initial sync? http://docs.360works.com/index.php/MirrorSync_advanced_topics#Can_I_pre-populate_my_offline_database_to_speed_up_initial_sync.3F
コメント
0件のコメント
サインインしてコメントを残してください。