App projects: Difference between revisions

Jump to navigation Jump to search
Line 153: Line 153:
* To make an entity available in your projects, select it and click '''Enable'''. You can modify its properties, then click '''Save'''.
* To make an entity available in your projects, select it and click '''Enable'''. You can modify its properties, then click '''Save'''.


; Permission: You can set the Read, Write, Create and Delete permissions for the whole entity.
; Permission: You can set the Read, Write, Create, and Delete permissions for the whole entity.
:Permissions can be also configured individually on each field, see [[#Managing fields]] below.
:Permissions can be also configured individually on each field, see [[#Managing fields]] below.


; Mode: Select whether the data is available offline.
; Mode: Select whether the data is available offline.
:* If set to Online & Offline mode, the CRM data will be available in both Online and Offline mode. For Offline mode, the app will synchronize the entity records, upload user changes made in Mobile CRM app and download changes from the server. In Online mode, user will have access to CRM records based on the set view filters.
:* If set to Online & Offline mode, the CRM data is available in both online and offline mode. For offline mode, the app synchronizes the entity records: uploads user changes made in the Mobile CRM app and downloads changes from the server. In online mode, users have access to server records based on the configured view filters.
:* If set to Online only mode, Online mode will work as in the previous option. In Offline mode however, no records will be downloaded from CRM server and even if user creates a new record, it will not be uploaded. Basically, this option sets the synchronization process to completely ignore the entity.
:* If set to Online only mode, the online mode continues to function as in the previous option. In offline mode, however, no records are downloaded from backend server, and even if a user creates a new record, the record cannot be uploaded. Basically, this entity is completely ignored by the synchronization process.
:: To avoid the creation of records in offline mode, it is possible to create a simple '''On Load''' rule for the entity form (Conditions: If Configuration.isonline equals True; Step: IsFormEditable equals False)


; Synchronization: Select how this entity should be synchronized.
; Synchronization: Select how this entity should be synchronized after it has been successfully synchronized at least once. (The initial entity sync always behaves in the same way: it downloads all records matching the sync filter.)
:* Standard Sync: This is the default option. The app decides autonomously whether to perform incremental sync or full sync. See [[Synchronization#Full_vs_incremental|Synchronization]] for more information.
:* Standard Sync: This is the default option. The app downloads all changed records from the server.
:* Always Full Sync: In rare cases, always performing full sync might be appropriate for an entity. In most cases, full sync increases synchronization time; sometimes dramatically. ([[Synchronization_steps#When_to_use_Always_Full_Sync_for_an_entity.3F|When to use Always Full Sync?]])
:* Always Full Sync: The app downloads all entity records (as if it was never synced before). In rare cases, performing full sync might be more efficient than the standard algorithm. However, in most cases, full sync increases synchronization time; sometimes dramatically. ([[Synchronization_steps#When_to_use_Always_Full_Sync_for_an_entity.3F|When to use Always Full Sync?]])
:* [[Sync_Filter#Incremental_linked_sync_filters|Incremental with Sync Filter]]
:* [[Sync_Filter#Incremental_linked_sync_filters|Incremental with Sync Filter]]: The app downloads all changed records that match the sync filter. This can save a lot of network traffic. However, the risk is that client might not get the information that some server records stopped matching the sync filter. This option works best for immutable records.
 
: Note: [[Synchronization_steps#SyncAnalyzer|SyncAnalyzer]] can override the above setting by enforcing full sync for performance reasons. You can switch off SyncAnalyzer using Woodford [[configuration]] ('''Disable Sync Analyzer''').


; On Conflict: Conflict appears when the same record is changed on the device and before being synchronized, a change occurs on the CRM server (e.g. other user changes the same record and synchronizes changes before the first user, or the record is changed on the CRM server). See [[conflict resolution]] for details.
; On Conflict: Conflict appears when the same record is changed on the device and before being synchronized, a change occurs on the CRM server (e.g. other user changes the same record and synchronizes changes before the first user, or the record is changed on the CRM server). See [[conflict resolution]] for details.

Navigation menu