この質問には3つの内容が含まれていて、答えも3つの内容に分かれます。
特定のテーブルを同期
MirrorSyncの管理ツールを使って同期の構成をするときに、同期したいテーブルに関連づけられているレイアウトだけを含めます。
特定のフィールドを同期
同期したいフィールドだけを、同期のレイアウトに含めます。
特定のレコードを同期
「MirrorSync customization」スクリプトを編集します。
「Hub」のセクションへ移動します(「Spoke」ではありません。Spokeを変更することはほとんどありません)。
ここにあるFindChangesの記述の手順に従って、対象レコードを現在のユーザに同期させたいレコードだけに制限します。
このスクリプトはユーザが同期を実行したときに動作します。したがって、Get ( アカウント名 ) 関数を使ってどのレコードが使われるかを指定することができます。
$$globalVariables の使用には十分注意してください。$$globalVariables はカスタマイズのスクリプトの複数のコールにわたってずっと有効であるわけではありません($$MIRRORSYNC_USERTOKEN は例外です。次の質問を参照してください)。
検索条件により除外されたレコードは、ユーザに対して同期されなくなります。さらに、除外されたレコードが以前に同期されていた場合、レコードはユーザのデバイスから削除されます。これにより、チェックイン/チェックアウトのワークフローをMirrorSyncで簡単に作成できます。業務をiPadに同期し、業務が完了したらデバイスから削除できます。
カスタマイズのスクリプトをテストするには、テストしたい同期のレイアウトへ移動し、すべてのレコードを表示してから、「MirrorSync customization」スクリプトを実行します。期待した結果にならない場合は、スクリプトデバッガを使って調整してください。
レコードのアクセスを制限するためのもうひとつの方法は、FileMakerのレコードレベルのアクセス制限を使う方法です。ユーザのアクセス権セットの制限はすべてMirrorSyncで有効になります。同期する際、ユーザはアクセスできるレコードだけを受信します。以前は表示されていて後から非表示に変更したレコードは、次回の同期で削除されます。スクリプト化されたレコードのフィルタは、レコードレベルのアクセス権を使用するよりも高速で構成しやすいことを覚えておいてください。
同期するレコードを制限する場合、データベースの完全なコピーではなく空のクローンをユーザに配付することができます。このようにすると、初回の同期ではデータベースにアクセスしているオフラインファイルにレコードを入れるだけです。多数のレコードにアクセスできるケースでは、すでにレコードのデータがすべて含まれている完全なデータベースのコピーを配付し初回の同期で余分なレコードを削除する場合と比べて、初回の同期は遅くなります。
原文:I don't want to sync my entire database to my offline users Can I just sync certain tables, fields, or records? http://docs.360works.com/index.php/MirrorSync_advanced_topics#I_don.27t_want_to_sync_my_entire_database_to_my_offline_users._Can_I_just_sync_certain_tables.2C_fields.2C_or_records.3F
コメント
0件のコメント
サインインしてコメントを残してください。