You can use Woodford to set up some of the default settings of the Resco Mobile CRM app remotely. You can also prohibit users from modifying the settings. Edit an app project and select Configuration from the Project menu.
The list of parameters is divided into several groups. You can expand and collapse each group by clicking its header row.
Each row represents a configuration parameter.
- It is identified by a name, a description, and the default value - you cannot change these.
- Use the Value column to modify configuration. All changed options are displayed bold.
- Optionally, use the Lock checkbox to allow or disallow app users to override the setting in the app. If you lock a setting, the option actually disappears from the Setup section of the mobile app.
Configure default settings that apply to all forms in your app project. Form-specific properties can override values configured on the project level.
- Full-Screen Forms: Show forms in full-screen mode.
- Allow Form Resize: Toggle between full-screen and compact (default) mode.
- Flexible Forms: Use Flexible Forms UI. If disabled, tabs are automatically added to the form.
- List Scrolling in Flexible Forms: Use vertical or horizontal (default) scrolling list in Flexible Forms.
- Auto Form Grid: The minimum width in pixels after which a form switches to the automatic grid mode.
- Save Button Action: The form’s save button action. The default is SaveOnly (save the record, but the form remains visible) for new entity, SaveAndClose otherwise. See How to set it up.
- Reload After Save: Reload the form (re-read data) after Save.
- Show Collapse Button: Show Collapse Button(s) in Flexible Forms. If disabled, Collapse Buttons are removed from Flexible Forms.
- Combined Booking Form: (Dynamics Field Service only) Show the Work Order form on the Bookable Resource Booking Form.
Configure default settings that apply to all views (lists) in your app project. View-specific properties can override values configured on the project level.
- Auto List Grid: The minimum width in pixels after which a list switches to the automatic grid mode.
- Auto List Header: Show the automatic list header (displaying cell names and allowing for sorting).
- Allow Advanced Find: Use Advanced Find and create custom personal lists. See Private view for details.
- Incremental List Search: Filter lists after every key stroke or wait for the ‘Enter’ key.
- Allow Multi-select In Lists: Allows users to select multiple records in views and calculate aggregates or execute custom commands.
- Associated List Editable: If True, the associated list is editable, i.e., users can create new records (only if the parent form is editable).
- Use Legacy List Buttons: (iOS, Android) Use in-line buttons or legacy list buttons.
Configure your home screen. If you choose to hide maps, dashboards, or Exchange, this setting overrides your Woodford design.
- Show Map: Show map(s). If disabled, map items are automatically removed from home screen.
- Show Dashboard: Show dashboard(s). If disabled, dashboard items are automatically removed from home screen.
- Show Exchange Home: Show Exchange Home item. If disabled, exchange items are automatically removed from home screen.
- Customize Home Screen: Show the “Show/Hide entities” button in the app’s Setup section. If True, the user can show or hide entities from home screen directly in the app.
- Map Pin Aggregation: Allow the pin aggregation on the map (aggregate pins from the same approx. area). See feature introduction.
- Map Pin Expansion: (iOS) Allow the pin expansion on the map (show contact details for related record).
- GPS Position Accuracy: The default accuracy (in meters) when resolving the current position.
- GPS Position Age: The default maximum age (in seconds) of the last result when resolving the current position.
- Use Legacy Charts: Use HTML charts or legacy charts.
- Use Legacy PDF Viewer: (Android only) Use the legacy PdfJS viewer or the native PDF viewer.
- Use Legacy iOS WebView: (iOS) Compatibility switch: Select engine hosting in-app iFrames. WKWebView (default) is newer, faster, more secure. Use legacy WebView if your scripts rely on older features unsupported by WKWebView.
- Show Related Activities: (Only applies for related activity list.) Show Activities from related records. (Initial setting, user choice will be remembered.)
- Barcode Length: The required exact length of all scanned barcodes (0 – any length is acceptable).
- Desktop FullScreen: The app should run in full-screen (true) or standard windowed mode (false).
- Desktop ScrollBar Width: The width in pixels of the form scrollbars.
- Ask User Before Exit: User confirmation is required to exit the app.
- Use Chromium Browser: Switches between two browser implementations. By default, (obsolete) Internet Explorer is used to render in-app Iframes instead of (modern) Chromium Embedded Framework.
- Disable prompt for Record Type: Disable automatic prompt for record type when user creates a new record.
- Disable multi-layout support: Disable automatic selection of forms based on Salesforce Layout Configuration. This also disables support for Picklist Values based on Record Type.
- Prefer Salesforce Files over Attachments: Use Files as default object for generated content such as mobile reports and scanned business cards (CamCard). The Attachment object is used by default.
- Use Entity & Attribute Map: Use the Entity and Attribute Mappings (configured in CRM) when creating a new record.
- Duplicate Detection: Use duplicate detection rule (configured in CRM) when a new record is saved to identify possible duplicate.
- Ignore Missing Process Flow: If false, error is shown if the Business Process Flow is not found.
- CRM Login for Exchange: Automatically use user’s CRM login for Exchange login.
- User's language SSRS reports only: Show SSRS reports only for user’s language (current application language). Otherwise, reports for all languages can be selected.
- Max Upload Attachment Size: The maximum size of an attachment (documents, notes, email attachments) in bytes that can be created, captured, or attached in the app.
- Capture Photo Size: The maximum photo size for photos taken in the app. Larger photos are automatically resized (aspect ratio is respected). Applies to capture from Mobile CRM app.
- Audio/Video recording quality: The recording quality for audio or video taken in the app (affects file size!). (Recording quality depends on specific device.)
- Allow Photo Cropping: Show the photo cropping step after a photo is taken.
- Save Signature As PNG: Store the signature as an SVG (vector image) or a PNG (bitmap image).
- Plain text file viewer encoding: (Windows 10) Specify preferred encoding when viewing plain text attachments.
- Allow User to Delete Data: Show/Hide the ‘Delete Data’ button in the app Setup section.
- Cascading Delete: If set to ‘True’, deleting a record also deletes its child records and attachments.
- Cascading Remove Link: If set to ‘True’, deleting a record also removes any link to that record. (All lookups pointing to that record are set to null.)
- Use Sql Like Optimization: Using this (SQLite) optimization can increase the BeginsWith operator performance for large data sets. (E.g. speed up incremental search.)
- Max Export Records: The maximum number of records to export (in the ‘Export’ command), (-1 – no limit).
- Hide Locked Settings: Locked options in the Configuration section in Mobile Project are hidden in app’s Setup form.
- Auto Save Product Detail: Sales product detail entity (e.g. order product) can be saved immediately to database or only after parent form (e.g. order) is saved.
- Save Password: If password is not stored, password entry is required each time the app is opened or maximized.
- Require Sync Login: Sync dialog with login details (URL, username, password) is displayed before the sync. Disabling this option effectively enables background sync.
- Verify Server Certificate: Refuses server connection if the HTTPS certificate is invalid or self-signed.
- Pinned Server Certificate: Refuses server connection if the HTTPS certificate does not match SHA1 fingerprint [5A D5 58 21 9D 72 19 8B 6C A5 E6 3D 1F 96 6F 22 95 C3 D1 14] (Public key fingerprint encoded into hexadecimal strings.)
- Use Database Encryption: Encrypt the device database that stores the offline CRM data.
- Enable Customization Security: Enables the Offline HTML and customization files content verification.
- OAuth Offline token age: Lifetime of the OAuth offline token in seconds (0 – unlimited. Default: 0). (Min is 0, Max is 2147483647.)
- Online Mode: Set when the Online mode option is available or activated. (Always-runs always in online mode, WifiOnly-runs in online mode when the device is connected to internet via Wi-Fi, Manual-switch between Online and Offline manually, Never-online mode is always switched off.)
- Allow User Mode Switch: The user can toggle between online and offline mode via a button.
- No Lock in Online: (Dynamics only) Server should take no lock during read. Prevents server deadlocks but can read uncommitted dirty data.
- Sync before going Online: Sync before going into Online Mode.
- Sync before going Offline: Sync before going into Offline Mode.
Reminders, Calendars, Contacts, Emails
- Use Reminders: Use the device’s notifications for configured entities. Configure in Events & Reminders section.
- Show Personal Events: Show personal events from personal calendar (system calendar) in the App Calendar.
- Show Personal Contacts: Show personal contacts in the app, in a merged view with CRM records (contact entity).
- Send Meeting Invitations: Send meeting invitations when Appointment is modified.
- Use CRM Email: When sending emails use CRM email (email entity) or device’s email application (not supported for Salesforce).
- HTML Emails: Show emails as HTML or plain text. (Applies to CRM emails where HTML wasn’t stripped off. Google, Exchange, and Salesforce emails are always shown as HTML.)
- Create 'Phone Call' record: Show the new Phone Call form after a call that was started from the app (call button was pressed).
- Calendar Week Rule: The rule for calculating Week Number (0-Auto, 1-FirstDay, 2-FirstFullWeek, 3-FirstThursday) (ISO8601).
- Mark Email Read After: Number of seconds to wait before an email is marked as read (-1 for never).
- Email Signature: Email signature added at the end of new email.
- Enable Google: Show/hide the ‘Google Connect’ button in the app’s Setup section.
- Google Drive Root Folder : Root folder for files related to CRM records. Must begin with ‘/’.
- Google API Key: (Windows only) Google Maps API key used by the map. Generate it via Google API Console.
- Enable Exchange: Show/hide the ‘Exchange Connect’ button in the app’s Setup section.
- Exchange Server URL: Exchange Server URL. Leave blank for Exchange Online.
- Enable SharePoint: Show/hide the ‘SharePoint Connect’ button in the app’s Setup section.
- Partial SharePoint REST API (legacy): Used with legacy SharePoint interface (no OAuth2). If set, app uses REST API where possible. Recommended for large number of SharePoint lists.
- SharePoint REST API (OAuth2): (Dynamics 365 + SharePoint Online only, using OAuth2) Full REST API implementation for SharePoint Online. Shares OAuth2 authorization with Dynamics.
- Enable Dropbox: Show/hide the ‘Dropbox Connect’ button in the app’s Setup section.
- Dropbox Root Folder: Root folder for files related to CRM records. Must begin with ‘/’.
- Enable Box: Show/hide the ‘Box Connect’ button in the app’s Setup section.
- Box Root Folder: Root folder for files related to CRM records. Must begin with ‘/’.
- Enable OneDrive: Show/hide the ‘OneDrive Connect’ button in the app’s Setup section.
- OneDrive Root Folder: Root folder for files related to CRM records. Must begin with ‘/’. OneDrive for Business: For other than user’s default drive, enter drive’s ID as prefix separated by a colon, e.g. ‘SharedDriveId:/MyFolder/’
- Use Universign sandbox: Use a sandbox environment when connecting to Universign services.
- Enable DocuSign: Show/hide the ‘DocuSign Connect’ button in the app’s Setup section.
- Use DocuSign sandbox: Use a sandbox environment when connecting to DocuSign services.
- Docusign Integrator Key: DocuSign Integrator (API) Key, created in DocuSign Admin console.
- Docusign Secret Key: DocuSign Secret Key, generated under Integrator Key settings.
- Use offline signing: Android only: Prefer offline signing mode for DocuSign service.
- Submit signature immediately in offline: Android only: Try to submit signature immediately even in offline DocuSign signing mode. Turn off to perform submission during synchronization.
- CamCard ApiKey: The API key for using the business card scanner application (CamCard app integration). Obtain it via CamCard.com
- CamCard Save Image: Save the image of the business card as attachment.
- Bing Maps API Key: (Windows 10) Bing Maps API key used by the map list. Generate it on Bing Maps portal.
- Mapbox Access Token: Access token for Mapbox maps. Needed for Mapbox integration offering offline maps, custom layers, and custom maps.
- Agora Key: License key for Agora video call service, available in Resco mobile apps as Houston.
Offline Data Sync
Configure the synchronization between the databases of your CRM server and your Mobile CRM apps.
The following options apply to background or automatic synchronization.
- Auto Sync: Set up automatic sync (Never, On App start, After entity form Save or Delete action). Background sync needs to be enabled.
- Auto Sync Delay: Launches sync every X second. Even if no local changes were made (0 – disabled). Background sync needs to be enabled.
- Auto Sync in Online: Launches sync after 10X seconds when a change was made in Online Mode (0 – disabled). Background sync needs to be enabled.
- Background Download: Always download records in background. If True, foreground sync switches to background after executing upload & customization update. No impact for background sync.
- Background File Sync: Always download attachments in background. If True, foreground sync does not wait for attachment download completion. No impact for background sync.
- Sync Email as Text: Strips all HTML formatting from CRM emails during sync. This setting has no effect on Gmail or Exchange mails. The primary motivation for enabling this setting is database space optimization.
- Max Sync Records: Maximum number of records per entity to download. This is a hard limit that violates data integrity. (More restrictive sync filter is a better way to reduce app data.) We recommend setting this parameter to a value that exceeds the maximum count of records in your largest entity.
- If a certain entity exceeds this threshold, it may also impact other entities:
- This setting also applies to intersect (NN) entities, however, the limit is multiplied by 5. If some NN records are missing on the client, the consequence is that some records that are related on the server will be unrelated on the client.
- Attachments related to non-downloaded records will be deleted in the sync cleanup phase.
- Child records of non-downloaded records will be deleted in the sync cleanup phase.
- If the entity B uses Sync Filter with an inner link to an entity with too many records, some entity B records can be deleted in the sync cleanup phase.
- Max Attachment Size: Max size of an attachment (documents, notes, email attachments) in bytes to be downloaded during sync. Larger attachments can be downloaded on user request.
- Sync Shared Records: (Dynamics only) Sync shared records. Shared records are always downloaded during a full sync. Incremental sync updates shared records only when this setting is ON. (On Salesforce, syncing of shared records can be enabled per entity.)
- Sync Shared for Access Teams: (Dynamics only) Extends shared records sync by checking also dynamic access teams.
- Sync Azure Attachments: (Dynamics only) Use a special method to download note attachments stored in Azure blob storage. (Requires Azure blob store plugin from Jenkins.)
- Field Level Permissions: (Dynamics only) If True, field-level permissions set in Dynamics CRM are respected also in the mobile app.
- User can Ignore Sync Errors: Sync Errors form: Allow the user to resolve sync error with Ignore. If a user decides to ignore a particular sync error, the record is marked as unchanged; user changes won’t be sent to the server during the next sync.
- Show Sync Warnings: Show sync warnings alert after sync completion or just silently write them to the sync log. (In case of multiple warnings only the first one is shown.)
- Diagnostic Sync Logs: Produce extended diagnostic output from sync.
- Log Conflict Details: Sync log should list client data changes (modified properties & their new values) along with logged conflict. For entities with conflict handling set to User Action.
- Remote Conflict Resolution: Sync should check for remote conflict resolution (done in Woodford’s Sync Dashboard).
- Send Error Logs via Resco: If True, error logs will be sent via Resco web service instead of the native email client. Use when the native client truncates email messages or when the native client is not configured on the user device.
Sync Advanced (contact support before use!)
- Chronological Upload Order: Sync uploads entity records in the order in which they were edited (created/modified) the first time. (The default order is by last modification date.) Defines upload order of the records within the same entity; not the order of entities.
- # Records / UploadRequest: Max number of upload requests sent in one batch to the server. (Displayed as "MaxExecMultiple" in the sync log.)
- Disable Sync Analyzer: Analyzer is an optional module that detects tables for which it is faster to download full content instead of executing incremental sync. (May improve sync times if the server has many changes.)
- Use Linked Sync Filter: Use linked sync filter in incremental sync. Defines the ‘Project Default’ option for entity ‘Incremental Linked SyncFilter’ setting.
- # Emails / Download batch: Max number of emails to download in one batch (20-500). Emails have a separate limit (other entities use batch size 500) because they can carry large data.
- No Lock During Sync: (Dynamics only) Server should take no lock during read. Prevents server deadlocks but can read uncommitted dirty data. In other words, there is a risk that the client downloads unconfirmed server records which might be rolled back in (short) future. The setting might help to avoid server database timeouts.
- Send empty Picklist as Null: (Dynamics only) Send empty picklist value as Null. (Default is ‘False’, i.e. empty value is sent as -1.)
Sync, Legacy settings (Do not change without a reason!)
- Multi Thread Sync: Use multiple download threads for faster sync.
- Full Sync on Schema Change: Force full sync when a new customization changes entities/fields. (Default: database schema is updated, and incremental sync executed.)
- RowVersion Change Tracking: (Dynamics only) Uses a more precise method for tracking server changes. (Alternative is modifiedon date.)
- Legacy Marketing Sync: (Dynamics only) Use legacy marketing list member sync algorithm.
Configuration of your app project is saved in the backend server:
- On Dynamics, it is represented by the entity resco_mobiledata.
- On Resco Cloud, it is represented by the entity mobilesettings.
During synchronization, the settings are downloaded to the mobile app.