Join the Power Platform Masterclass #2 starting April 23

Sync Filter: Difference between revisions

Jump to navigation Jump to search
2,816 bytes added ,  22 June 2021
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Note|This article introduces the concepts and basic functions of the Sync Filter. To jump into action, check out also the '''[[Sync Filter examples]]''' in FetchXML format.|Tip}}
{{Synchronization TOC}}
{{Synchronization TOC}}
Synchronization filters define what data from the server is replicated in the [[Resco Mobile CRM]] application after a [[synchronization]]. Filters are defined in [[Woodford]]; each entity for each app project can have custom settings.  
Synchronization filters define what data from the server is replicated in the [[Resco Mobile CRM]] application after a [[synchronization]]. Filters are defined in [[Woodford]]; each entity for each app project can have custom settings.  
== Editing the sync filter ==


# Edit an [[App_projects#Managing_entities|app project]].
# Edit an [[App_projects#Managing_entities|app project]].
Line 8: Line 11:


[[File:Sync filter.png|600px]]
[[File:Sync filter.png|600px]]
== Editing the sync filter as XML ==
Internally, the sync filters for all entities are saved into a single file, SyncFilter.xml. If you prefer to edit the sync filter directly as XML, you have two options.
=== Per-entity editing ===
# Edit the sync filter for an entity as described in the previous section.
# Click '''Export XML''' to download the sync filter for the entity as an XML file.
# Edit the file in your favorite editor, perform any changes as needed.
# Return to Woodford and upload the modified XML file using the '''Import XML''' button.
# Save all changes.
=== Editing the entire SyncFilter.xml ===
# On the list of all your app projects in Woodford, select a project and click '''Export''' to download the entire project.
# Change the extension of the downloaded file from "woodford" to "zip".
# Extract the file SyncFilter.xml from the Configuration folder and modify it as needed.
# Add the modified file back to the archive.
# Change the extension back to "woodford" and import the file to Woodford.
[[File:Export and rename project.png|600px]]
{{Note|If you want to upload a modified version of the app project back into Woodford, always keep a backup copy of the original file.|Warning}}
=== Why use XML ===
Some Woodford administrators prefer editing the filter in XML format because they are familiar with the used [[FetchXML]] format. See [[Sync_Filter#Analyzing_SyncFilter.xml|Analyzing SyncFilter.xml]] below for more information.
Additionally, there's also a rare scenario where the Woodford filter editor user interface does not allow you to be as exact in your sync filter as you need: some [[FetchXML#Special_FetchXML_options_for_Dynamics|SQL server optimization options for Dynamics]] can only be edited in XML format.


== Introduction ==
== Introduction ==
Line 75: Line 108:
== Use sync filter in online mode ==
== Use sync filter in online mode ==


If you want to ensure the same data in the application in online and offline mode, you can force using of the sync filter also in online mode. This can be configured for each mobile [[view]]; edit the properties of your view and enable '''Sync Filter - Use Sync Filter in Online Mode'''.
If you want to ensure the same data in the application in online and offline mode, you can force using the sync filter also in online mode. This can be configured for each mobile [[view]]; edit the properties of your view and enable '''Sync Filter - Use Sync Filter in Online Mode'''.
 
== Mark as Parent Pointer ==
 
You can enable the parameter [[Mark as Parent Pointer]] in the properties of a lookup field to ensure that both parent and child records are available. However, this setting is only effective if the lookup has only a single lookup target (also displayed on the [[App_projects#Managing_fields|properties pane for entity fields]]). When you use this option, the sync filter of the parent entity is also used for synchronization (application uses this flag and runs the parent sync filter in the code, parent sync filter will not be copied to the child entity sync filter). See [[Sync Filter examples with child entities]] for a more detailed explanation.


== Analyzing SyncFilter.xml ==
== Analyzing SyncFilter.xml ==


When you synchronize your device with an app project, the sync filters for all entities are saved in one file, SyncFilter.xml. In the case of Windows apps, you can easily find this file on your file system; see [[Log_files#Finding_physical_files_in_Windows_versions_of_mobile_apps|finding physical files]]. If you're in charge of troubleshooting sync filter issues, it may make your life easier if you can read and understand the file SyncFilter.xml directly, instead of relying on Woodford.
When you synchronize your device with an app project, the sync filters for all entities are saved in one file, SyncFilter.xml. In the case of Windows apps, you can easily find this file on your file system; see [[Log_files#Finding_physical_files_in_Windows_versions_of_mobile_apps|finding physical files]]. If you're in charge of troubleshooting sync filter issues, it may make your life easier if you can read and understand the file SyncFilter.xml directly, instead of relying on the Woodford representation.


For example, your sync filter file may start with the Account entity:
For example, your sync filter file may start with the Account entity:
Line 101: Line 138:
[[File:Sample sync filter.png]]
[[File:Sample sync filter.png]]


The filter criteria are saved using the [[FetchXML]] format.
The filter criteria are saved using the [[FetchXML]] query language.
 
If you are already familiar with FetchXML, you can explore additional examples for inspiration.
{{Sync Filter TOC||float=floatleft}}


== See also ==
== See also ==

Navigation menu