Woodford Guide

Resco Mobile CRM Woodford Guide

Document version 11.1


Table of Contents

1. Introduction

2. Before we start the customization

   2.1 Prerequisites

   2.2 Download or Install?

      2.2.1 Download and Import of the solution file (Dyn CRM)

      2.2.2 Updating Woodford Imported Solution (Dyn CRM)

      2.2.3 Uninstallation of the Integrated Woodford (Dyn CRM)

      2.2.4 Installation of the Standalone Woodford (Dyn CRM)

      2.2.5 Updating the Woodford Standalone Application

      2.2.6 Uninstalling the stand-alone Woodford application

   2.3 First run

      2.3.1 Sign in troubleshooting

   2.4 Introduction

3. Administration

   3.1 Mobile Projects

      3.1.1 Project hierarchy

      3.1.2 Restore

      3.1.3 Recover

   3.2 Security

     3.2.1 Security Policy

     3.2.2 Default Security Policy

   3.3 Mobile Users

   3.4 Localizations

   3.5 Geocoding

      3.5.1 Geocoder

      3.5.2 Toolbar

      3.5.3 Usage

   3.6 Plugins (Dyn CRM)

      3.6.1 N:N Relationships (Dyn CRM)

      3.6.2 Delete (Dyn CRM)

      3.6.3 Owner

   3.7 Maintenance

   3.8 Mobile Reports

   3.9 Profile

   3.10 Settings

   3.11 Logs

   3.12 About

   3.13 Resco CRM Sync (Dyn CRM)

4. Creating a customization

   4.1 Creating a new project

      4.1.1 Publishing a project

   4.2 Entity

      4.2.1 Fields

      4.2.2 Best practice when updating, adding metadata (fields, entities) on CRM server

      4.2.3 Best practice when disabling field in project

      4.2.4 Removing field/option from CRM server

   4.3 Setting up a Sync Filter

      4.3.1 Linked sync filters (Dyn CRM)

   4.4 Views

      4.4.1 Creating a Public view

      4.4.2 Binding

      4.4.3 View Style Editor

      4.4.4 Additional View Configuration

         4.4.4.1 Buttons

         4.4.4.2 Edit filter

         4.4.4.3 Edit Sort

         4.4.4.4 Edit Search

         4.4.4.5 MultiSelect

         4.4.4.6 Add Image, Add Map Pin

         4.4.4.7 Sort Fields and Filter Fields

         4.4.4.8 Date Fields

      4.4.5 Multiple Views

      4.4.6 Advanced View Features

         4.4.6.1 Row Scripts

            4.4.6.1.1 Changing style on View dynamically

         4.4.6.2 Best practice in renaming a view

         4.4.6.3 Editable field (Editable list)

         4.4.6.4 Clickable field

         4.4.6.5 IFrame

         4.4.6.6 Search View

         4.4.6.7 Responsive View/List

         4.4.6.8 Automatic List/View headers

         4.4.6.9 List/View Footer

         4.4.6.10 Set view items into grid/columns (display more records in one row)

   4.5 Form creation

      4.5.1 Contact Information Form

      4.5.2 Edit form

         4.5.2.1 Advanced filtering

         4.5.2.2 Form item options

      4.5.3 Form Style Editor

      4.5.4 Additional Form objects

         4.5.4.1 Iframe

         4.5.4.2 Map Frame

         Prerequisites for the Map, GPS and Geocoding, as well as Update GPS option on custom entity’s form

         4.5.4.3 Media tab

         4.5.4.4 Form Rules – On Load, On Change, On Save

            4.5.4.4.1 Form Rules Examples – How to make a field required

            4.5.4.4.2 Form Rules Examples – How to dynamically show/hide sections on the edit form

            4.5.4.4.3 Form Rules Examples – How to set a placeholder text on edit form fields

            4.5.4.4.4 Form Rules Examples – How to show information from parent record on child edit form

         4.5.4.5 Edit Commands

            4.5.4.5.1 Default commands have the following functionality

            4.5.4.5.2 The Business card scanning feature

            4.5.4.5.3 Check In/Check Out

         4.5.4.6 Custom Commands

            4.5.4.6.1 On Can Execute Examples (Disabling Update GPS command, dynamically disabling Delete command, and disabling Signature on Note attachment form)

            4.5.4.6.2 Can Execute Example

         4.5.4.7 Additional options for associated lists

         4.5.4.8 Placeholder text

            Localization approach

            Edit form Rules approach

   4.6 New UI

      4.6.1 Hubs

         4.6.1.1 How to create a hub

         4.6.1.2 Drill down

      4.6.2 Flexible forms

   4.7 Dashboard

      4.7.1 Charts

      4.7.2 Creating Dashboard

   4.8 Managing entities available on the Mobile CRM application’s Home screen

      4.8.1 Home Item’s properties

      4.8.2 Home Groups

   4.9 Social

      4.9.1 Chat

      4.9.2 Activity Feeds (Dyn CRM)

         4.9.2.1 Prerequisites

         4.9.2.2 Setting up Activity Feeds using Woodford

   4.10 Branding

   4.11Auditing

      4.11.1 Auditing on the Server Side (Dyn CRM)

         4.11.1.1 Entering Google Maps API key

         4.11.1.2 Adding Mobile Audit records on the server form

         4.11.1.3 Adding Mobile Audit map on the server form

      4.11.2 Auditing in Mobile CRM application

   4.12 Images

      4.12.1 Changing a standard image

      4.12.2 Adding a custom image

         Colorize

      4.12.3 Bulk change/import of custom images – Advanced

   4.13 Configuration

      4.13.1 Configuration examples

      4.13.2 Duplicate detection

   4.14 Global Maps

   4.15 Calendar

      4.15.1 Views

      4.15.2 Offline Maps

      4.15.3 Constraints

      4.15.4 Rules

   4.16 Events & Reminders

      4.16.1 CRM events in the personal (device’s native) Calendar:

         4.16.1.1 Filters

      4.16.2 Personal events in the Mobile CRM Calendar:

   4.17 Color Themes

   4.18 Documents (External Document/File Integration) on DropBox, Google Drive and SharePoint

      4.18.1 SharePoint Integration server side prerequisites (Dyn CRM)

      4.18.2 SharePoint Integration

      4.18.3 External Document Sync filter options

   4.19 Business Process Flow (CRM 2013 and later)

   4.20 Favorites

   4.21 PIM Integration

      4.21.1 Google integration (Gmail, Calendar)

      4.21.2 Exchange integration (Email, Calendar, Contact)

      4.21.3 Sending Invitations

   4.22 Route Planning

      4.22.1 Route Planning Events

   4.23 Tutorial in Mobile CRM app’s About

   4.24 Inspections & configuration in Dynamics

5. Advanced Topic

   5.1 Filtered Lookup

   5.2 Barcode scanner functionality

   5.3 Examples of advanced options

      5.3.1 List and Form Images

         5.3.1.1 Available for all CRM backends

            5.3.1.1.1 List/View picture from Note

            5.3.1.1.2 Default and Editable List/View Images

            5.3.1.1.3 Edit Form picture from Note

         5.3.1.2 Available only for CRM 2013 and later

            5.3.1.2.1 Entity image on View

            5.3.1.2.2 Entity image on Contact Information Form

            5.3.1.2.3 Entity Image on Edit form

      5.3.2 Custom Map Pins

      5.3.3 Appointments on Global Map (Appointment entity does not have GPS fields)

      5.3.4 E-mail attachments

      5.3.5 Form items icon and name changes

         5.3.5.1 Icon changes

         5.3.5.2 Localization of the tab name

   5.4 Mobile Apps

      5.4.1 External (Portal) User project

   5.5 Planner Controller and Field Service

6. Communication with external applications

   6.1 Mobile CRM app URL Schema example

7 Offline HTML with JavaScript

 

1. Introduction

Resco Mobile CRM Woodford Guide explains how to customize the Resco Mobile CRM application and deploy the customizations to the mobile device.

This guide will also show all options and possibilities that Woodford provides, including maintaining the mobile user’s licenses and how to administrate the security policies.

Second section deals with the setup of Woodford, mainly its installation and the differences between standalone and imported solution.

Third section describes the administration possibilities: how project administration works, maintaining the security policies, license administration and other Woodford’s functionality.

Fourth section shows how to create a project and what the customizations available for using Woodford are.

Fifth section contains specific examples of advanced functionality and answers to some frequently asked questions.

Sixth and Seventh sections describe and show how to work with offline HTML files and how to implement Java Script to these HTML files.

 

2. Before we start the customization

 

2.1 Prerequisites

Note: If the used version of Resco Mobile CRM is older than the minimum required version for customization, user will get an UNSUPPORTED METADATA ERROR.
  • User needs system administrator rights to log in to CRM with Woodford

 

2.2 Download or Install?

Download or Install 2.2_1

After clicking the LINK user is presented with two options: Download or Install Resco Mobile CRM Woodford.

Note: Woodford integration by importing the managed solution file is not available for Dynamics CRM 4. Imported solution or standalone Woodford application is available for CRM 2011 and later.

 

 

2.2.1 Download and Import of the solution file (Dyn CRM)

The DOWNLOAD OPTION will download the Woodford solution file. This file can be imported to your CRM organization, and thanks to that you can run Woodford directly from the CRM Settings section. In some cases, this option helps overcome certain authentication problems that may be encountered when using STANDALONE VERSION.

Download and import of the solution file 2.2.1_1

After the DOWNLOAD of the solution file, you need to open the SOLUTIONS subsection in your CRM server Settings and hit the IMPORT button.

Download and import of the solution file 2.2.1_2

Then you need to choose the downloaded Woodford solution file to be imported. After that just follow the instructions.
Download and Import of the solution file 2.2.1_3

Do not forget to publish all customizations.

Download and Import of the solution file 2.2.1_4

Woodford is then available in the CRM Settings, under MobileCRM section.

Download and Import of the solution file 2.2.1_5

 

 

2.2.2 Updating Woodford Imported Solution (Dyn CRM)

When a new version is available, you will get a prompt about a Woodford update. Choosing UPDATE when using IMPORTED SOLUTION does not work!

If you want to update the existing Woodford solution, the same steps as above need to be performed: downloading the latest version of the imported solution file and choosing the MAINTAIN CUSTOMIZATIONS option when prompted to choose from the Maintain customizations or Overwrite customizations options, during the import.

Updating Woodford Imported Solution 2.2.2_1

After updating the solution file, all customizations need to be published on the CRM server. With that done, you just need to reload the CRM website in browser.

Disclaimer: We highly recommend creating a backup of your projects before each upgrade of the Woodford (Both Standalone and Integrated).

 

 

2.2.3 Uninstallation of the Integrated Woodford (Dyn CRM)

In Dynamics CRM 2011 and later, only the Woodford solution file needs to be removed.

Disclaimer: All projects and records in “resco_” entities will be removed. Use the export functionality to create backup. In order to uninstall the Woodford application or solution file, each entity enabled in PLUGINS (N:N Relations, Delete, Owner) has to be deactivated in the plugin before removing the solution.

 

 

2.2.4 Installation of the Standalone Woodford (Dyn CRM)

Woodford as a standalone application can be used with any CRM server (Resco Cloud, Dynamics CRM, Salesforce…)

Note: Choose the INSTALL option if you are running Microsoft Dynamics CRM 4.0 or if do not wish to integrate Woodford with your Dynamics CRM 2011 or later.

Installation of the Standalone Woodford 2.2.4_1

 

 

2.2.5 Updating Woodford Standalone Application

When a new version is available, you will get a prompt about a Woodford update. You can select UPDATE, wait until Woodford is updated, and restart it. Or you can update it later from Woodford’s About section.

Disclaimer: We highly recommend to create a backup of your projects before each upgrade of the Woodford (Both, Standalone and Integrated).

 

 

2.2.6 Uninstalling the stand-alone Woodford application

You need to right-click on Woodford application window and select „Remove this application…“.

Note: In Dynamics CRM 4, after uninstalling the Woodford application, manually remove all the entities, which start with “resco_”.

 

Disclaimer: When removing the solution, all projects will be removed. Make backup using the export functionality. In order to uninstall the Woodford application or solution file, each entity enabled in Plugins (N:N Relations, Delete, Owner) has to be deactivated in the plugin.

 

2.3 First run

When Woodford is launched, a registration dialog pops up. All registration details need to be filled in to be able to use this tool. Then the login dialog is displayed.

In the login dialog, fill in all required fields and then click OK button so that you can connect to your CRM server. Username for Active Directory and IFD needs to be in the format DOMAIN\USERNAME if required. During the first run, the required entities are created on server, and because of that a user with SYSTEM ADMINISTRATOR security role is required to log in. It is recommended to have all the administration and customizations in Woodford handled by the system administrator.

First run 2.3_1

 

 

2.3.1 Sign in troubleshooting (Dyn CRM)

No middle component requiring authentication to pass through is supported for Stand-alone application. This scenario is not present in case of the Woodford integration, as the authentication is covered by Internet Explorer, so any middle component requiring authentication is supported. Also in case of an invalid SSL, the login will fail due to the Silverlight restrictions.

In case the Refresh Metadata fails, increase the ReceiveTimout registry key.

  [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings].
  ReceiveTimeout DWORD  =  3600000 milliseconds (1hour).

 

2.4 Introduction

After the successful login, the main screen of the app shows up:

  1. Administration Menu: Mobile Projects, Security, Mobile Users, Localizations, Geocoding (New), Plugins, Settings, Logs and About
  2. Main Menu or a Toolbar with basic options, that depends on the selected item from the Administration Menu
  3. Displayed data and options according to the selected item from the Administration Menu

Introduction 2.4_1

Note: While the Woodford is in the evaluation period, Mobile Users menu is not available, as the number of mobile users during the trial period is not limited.

 

3. Administration

When user runs the Resco Mobile CRM Woodford, they can use the Administration menu to access Mobile Projects management, Mobile Devices management, Mobile Users management, Settings, Logs and About.

 

3.1 Mobile Projects

In the main menu, user can manage the selected project or create a new one by clicking the NEW button.

Note: Mobile projects are stored as Note attachments to resco_mobileproject’s records. (Dyn CRM)

 

Warning: When you do a bulk delete of your Notes, please note you might also delete your mobile projects. To avoid this, please exclude Note attachments to resco_mobileproject’s records from the bulk deletion.

Clicking the EDIT button will open the project for editing and you can adjust it (double click on the project can be also used to perform the same operation).

After clicking the PROPERTIES button you can adjust the project’s properties Name, Role and Priority.

Button SHOW USERS opens a window with a list of users, which will receive the customization, i.e. users, with security role, assigned to the project.

DELETE button removes the selected Mobile Project.

DEACTIVATE will deactivate the selected project. Deactivated project will not be used to customize the Mobile CRM application, but the project will not be deleted.

ACTIVATE button will activate the deactivated project.

IMPORT will import the previously exported project.

EXPORT will export the project to your PC. It can be used to backup your projects.

CLONE will duplicate the same Mobile Project and will ask for the Name, Role and Priority. User can use the Clone button for e.g. duplicating the same project for other user role or to make changes to the currently used Mobile Project without risk.

DERIVE creates a child project from the selected one. Please check the following section for more information.

RESTORE will restore the last published version of the selected project. It can be used in case the project is deleted from the Note attachments when something like the Warning above indicates, happens.

Clicking on the CHECK USER button will display a prompt for user name and the application will show you all Mobile Projects where the user is involved, including the project’s priority so we can see which Mobile Project will be used (in screenshot – the project on top will be the one used).

Mobile Projects 3.1_1

If the project has a grey icon with exclamation mark, it means the project is DIRTY, i.e. there has been a change in the project but it was not published after making these changes.

Mobile Projects 3.1_2

Note: Since a project itself is a file and Woodford is running locally on a device, it is not possible for multiple people to directly work on the same project at once. If they are, the last to save changes will overwrite changes made by the other person.

When using project hierarchy (in the next chapter) it is possible to have a master project and multiple levels of child projects, when each person works on a different child project and on different parts of the project. The lowest child project level will inherit all changes from the above project levels.

 

 

3.1.1 Project hierarchy

You can also set project’s parent/child relations. Child project will inherit all changes from the parent project except for the parts changed directly in the child project.

Hint: For more information about Project Hierarchy please check this section of one of our WEBINARS

To get more info about the child project’s parts, whether they are inherited or changed in the child project, please check this additional WEBINAR PART

 

 

3.1.2 Restore

In case you accidentally delete Resco Mobile project’s note (or its attachment), which leads to losing you project and there is no backup, you can use the Restore button. It will create the project’s note and attachment from the last published version of the project. Only changes made after publishing will be lost and you don’t have to rebuild the project from scratch.

 

 

3.1.3 Recover

If you for example accidentally destroy your CRM organization and recover it without Resco entities, it is possible to recover the project from data synced on the device. In case such situation happens, please contact us on mobilecrm@resco.net for further steps, from which the last one is using the Recover button.

 

3.2 Security

Security section contains the list of devices that are synchronized with your CRM and additional information about the State of the device’s security(Ok, Locked, and Wiped), Device ID, Device OS, and Version of the Mobile CRM installed on the device, Lock, Wipe and Force Full Sync checkboxes, User name that was used for the last synchronization and the date of the last synchronization.

If the LOCK checkbox is enabled, the device will be locked and the application will not be usable.

If the WIPE checkbox is enabled, the device will be wiped out and the local database on the device, the server URL and user credentials will be erased.

If the FORCE FULL SYNC checkbox is enabled, the full sync will be performed with the next device’s synchronization. This checkbox will be disabled automatically after full synchronization finishes. What will happen is that the user changes will be uploaded, local Mobile CRM app database will be deleted and initial, full synchronization will be performed. If there are unsynchronized changes or Sync Errors, e.g. synchronization conflicts waiting for resolving, Force Full Sync will not be performed until these conflicts are resolved.

Hint: If there is a permission change on user’s security role, this change will be applied only with full synchronization. The easiest way to get these changes applied, is to use the Force Full Sync for all devices that users with the updated security role are using.

 

Note: With Android and iOS platforms, the push notifications are used for the Lock and Wipe and the device is Locked or Wiped out immediately (or after application start) when the device connects to the internet. Other platforms require performing synchronization or changing the Security policy.

If the FORCE FULL SYNC checkbox is ticked, full synchronization is performed and the latest data from the database is downloaded at the next device’s synchronization. This is required for some specific changes in project, or e.g. changes in user/security role permissions.

Security 3.2_1

When a device is deleted with the DELETE button (on the toolbar), the device is assigned the Default policy with the next device’s synchronization with the server.

When a Security Policy is deleted, you need to assign devices to the different policy. Security Policy can’t be deleted if there are devices assigned to it.

EXPORT button exports the list of devices to a .csv file.

Hint: For more security related information (sum up) and examples on how it works in real life, please check the Security
WEBINAR

 

 

3.2.1 Security Policy

Security Policy is a set of properties that are applied to all devices for which the policy is set.

Security Policy 3.2.1_1

Security Policy properties are in these groups:

  1. Application Session

    Require Login after X minutes of inactivity – After defined time in minutes the Mobile CRM application asks for the password to continue using it.

  2. Check Security Policy

    At Application Login – Mobile CRM application checks whether there is a change in the security policy at the application login. Login is performed either at the start of the application or if user enters password to log in to the application.

    Every X Hours – Security Policy is checked periodically after defined time in hours.

    Note: If none of these options are used, the policy is downloaded only at synchronization.

  3. Lock Application

    Lock Application – If this option is enabled, all devices under this policy will be locked and the application cannot be used unless the device has a different policy assigned.

    If no server contact after X hours – Application is locked if it did not connect to the CRM server either in matter of checking the policy or synchronization, or online mode access. Application can be unlocked by entering the correct password. Also internet access is required in this case.

    During non-business hours – Application is locked if the current time is outside of the given interval.

    Invalid password X times – If a wrong login password is entered for a specified number of times, the Mobile CRM application locks up (Admin lock) and can be unlocked in the Woodford’s Security list of devices. The locked device will have a Lock checkbox enabled and needs to be unchecked.

  4. Wipe Application

    Wipe Application – If this option is enabled, all devices under this policy are wiped, even if user tries to synchronize the Mobile CRM with the server.

    If no server contact after X hours – The device’s local Mobile CRM database is wiped out if the application does not contact server after the specified number of hours.

    Invalid password X times – The device’s local Mobile CRM database is wiped out after entering a wrong password for a specified number of times.

Devices can be assigned to the Security Policy after selecting them and clicking on the Edit button on the toolbar (or double-clicking on the device). To change the Security Policy, select the Policy that should be used from the options. Please note that a new Security Policy needs to be created in order to assign it to the device.

Security Policy 3.2.1_2

 

 

3.2.2 Default Security Policy

When a new device is set to synchronize with user’s server, it is automatically listed under the Default policy. You can edit this policy by selecting the Default row and clicking on Edit button on the toolbar. By editing this policy, you define how all devices shall handle Security until being moved under a custom created Security Policy.

 

 

3.3 Mobile Users

This section serves for User license management. When you log in from a mobile device to the CRM server, you may receive the Woodford customization depending on the Auto assign licenses option in Settings. You can receive the Enabled or Pending states. Users can be added before they attempt to log in by using the ADD button. You can also Enable a disabled or a pending user, Disable an enabled or a pending user or Delete a user.

Mobile Users 3.3_1

Enabled: Users with this license state are able to synchronize, access CRM by using Resco Mobile CRM application.

Disabled: Users with this license state cannot synchronize (receives error “LICENSE: NOT FOUND”).

Pending: User gets into pending state, when the Auto Assign licenses functionality in Woodford’s Setup is disabled, so licenses are assigned only manually. In this case, when a user synchronizes the Mobile CRM app for the first time (or previously used it, but was deleted from the Mobile Users), they get a temporary license, that’s valid for two weeks. During this time administrator can decide whether to assign a license to this user or not. After two weeks, when the temporary license expires, user receives an error “LICENSE: EXPIRED” and is no longer able to synchronize.

If you want to manage licenses manually and decide in advance who can synchronize using mobile CRM app and who cannot, you need to grant licenses and disable users in advance.

Note: The Mobile Users section is not available during the trial period. During this period the customizations can be used for as many users as desired.

 

3.4 Localizations

This option gives you an ability to add a language mutation of the Mobile CRM application – this means that you can change various display names in the app, name of entities, tabs in forms and other UI elements. To add a localization on the Organization level, go to Localizations subsection of the Administration section in Woodford. Click on the NEW button on the toolbar. In the opened window you need to select the target Language and the Template language that will be used as a source.

Localizations 3.4_1

Now open the created language from the list of Languages. In the first column, there is the field’s ID name, in the second one (Organization) there are the fields that are or need to be translated.

Localizations 3.4_2

In the English column there is the original English text for review. It can be turned off by unchecking the Show English checkbox in the top right part of the screen.

Localizations 3.4_3

After selecting All in the left part of the screen, you can see all available field strings. When you select Entities, all field strings related to Entities will be displayed. You can also scroll down the entity list and view field strings per entities.

Clicking on Standard App UI displays the fields that are used in the Mobile CRM application UI. User can also scroll down the list of controls and view strings per controls.

By using the Add button on the toolbar, user can add a new string. Using the Import/Export button can Import/Export the localization file and it enables the use of it for/from another server or Organization.

When you want to do the localization on the Organization level, first you need to open the project where you want to add the localization. Then you need to click on Localizations and the list of available languages is displayed. Here you can disable, enable or delete the selected localizations via the Activate, Deactivate and Delete toolbar buttons.

Localization 3.4_4

The state (font) of the localization string mean:

  • Normal – localized expression is taken from the server
  • Bold – template expression is used to overwrite the original text
  • Italic – expression that is neither available on the server nor on the template thus the English (default) version from the server is used
  • Italic Bold – new text – neither in template, nor on server

 

 

3.4.1 Localization Examples

 

 

3.4.1.1 Re-naming and custom icons on Home Items and Views

Please check this BLOG POST for examples of the localization. It contains examples of creating custom icons and re-naming Home items and changing view names. More to come in this and the next series of Blog posts

Keywords (language, localization, setup, configuration, Woodford, app)

 

 

3.4.1.2 Making a Lookup Field from Text Field

In some cases, users need to enter the same text into some field repeatedly. To help them, you can use Localization to predefine some often-used options, so that the text field will perform as a combination of a lookup field and text field. That way, users can choose from the most frequent options and also have an opportunity to enter a different entry if desired so.

To see how it works and how to set it up, please check the following WEBINAR SECTION

 

 

3.4.1.3 Sync Error Localization

It is also possible to localize specific synchronization errors, so that users can comprehend them better, or to show the error in language, that they use.

For more information please check the following WEBINAR SECTION

 

3.5 Geocoding

Geocoding section contains tools for geocoding user records according to their addresses – this means that the address information of the records can be translated into raw GPS data, which the mobile application needs to display records properly on the Map.

Geocoding 3.5_1

Prerequisites for Geocoding – a BING MAP KEY is necessary for geocoding the records – (if the company will be using the obtained GPS data only internally, then the plain developer key should be enough). More information about Bing Map Key can be found HERE

Prerequisites for GPS fields

 

 

3.5.1 Geocoder

Select Entity – Selects the entity from which user wants to fetch the records for geocoding

City, State, Postal code, Country – select the fields which fall under their respective categories (i.e. choose Address1_city as CITY, Address1_zip as POSTAL CODE, etc.)

Set additional street fields – after checking this option, you will be given the opportunity to select other street fields if there are more than one. You can also set their order by adjusting the {1} {0} {2} string parameter (e.g. {2} {1} {0})

Latitude, Longitude – latitude and longitude fields in which the GPS data are kept

Find position by query – when this is checked, Bing uses a different kind of search which is suitable for when user records are frequently missing fields like City, Zip and etc.

Filter By – you can define here which records from the previously selected entity will be fetched by choosing a view from the entity – records will be chosen by the view’s filter.

 

 

3.5.2 Toolbar

Fetch data button – after clicking this button, the records will be visualized in a grid on the right side of the geocoding screen. You can also change the field info in the grid (to make corrections to addresses, etc.)

Find position button – starts the geocoding process (records need to be selected)

Find address button – finds/updates address if only the GPS data is available for the record

 

 

3.5.3 Usage

After the data is fetched, it can be filtered into these categories:

Usage 3.5.3_1

All – shows all records

New – records which received the GPS coordinates after geocoding (after the FIND POSITION button was activated) and didn’t have any prior GPS information (green font color)

Changed – records that had their GPS coordinates updated – they had GPS information prior to geocoding (blue font color)

Failed – records which have failed geocoding (red font color)

Empty Lat/Lon – records which had no GPS data prior to geocoding (red font color)

By clicking on the „i“ button user can open a detail view on the record.

Usage 3.5.3_2

Results – results provided by the Bing map

Search – manual search according to user’s own criteria

Update/Location checkbox – will update the GPS data after clicking on the CONFIRM button

Update/Address checkbox – will update the address

Note: The map pin can be moved manually by dragging it across the map to enhance the accuracy of the GPS coordinates.

 

3.6 Plugins (Dyn CRM)

Plugins provide functionality, for which you need to configure some additional settings. Enabling them will allow tracking of certain operations like delete, N:N relationship disassociation and record owner change on the server. Without enabling of the tracking, the changes will not be propagated to the clients. Only changes made after the tracking was enabled, will be propagated to the mobile clients. Entries deleted before enabling the tracking will not be propagated on the mobile clients.

After enabling of the DELETE plugin you need to perform full synchronization on each device, to get the latest data without the previously deleted ones. To perform a full synchronization on a device, you need to go to Mobile CRM app’s Setup -> Delete Data and synchronize the client to perform it. Or you can use the Woodford’s Security section to Force Full Sync Mobile CRM app at next synchronization on the selected device (section 3.2 of this manual).

Plugins 3.6_1

Note: Plugins are available only for Microsoft Dynamics CRM 2011 and later.

 

 

3.6.1 N:N Relationships (Dyn CRM)

N:N relationship disassociates the relationship between entities. First you have to check the relations of the entities that you want to customize. In this case we will enable the Competitor <=> Product N:N Relationship.

N:N Relationships 3.6.1_1

Then we need to open the desired project and enable the Competitor -> Product relation as they will enable an Entity. Of course, both entities have to be enabled as well.

N:N Relationships 3.6.1_2

Then the PRODUCT LIST can be added to the Competitor’s edit form and the COMPETITOR LIST to the Product’s entity. After that the competitors can be added to the products on the Competitor’s tab.

N:N Relationships 3.6.1_3

 

 

3.6.2 Delete (Dyn CRM)

The changes made on the server will be tracked after enabling the delete functionality. When user checks an entity in this plugin or when an item is deleted from the entity on the server, the change will be also applied on the device, thus the item will be deleted from the local database on the device at the next sync.

Delete 3.6.2_1

 

 

3.6.3 Owner (Dyn CRM)

Turning on the tracking on the entity will enable changing the item’s owner on the client according to the server change.

Owner 3.6.3_1

For things to work properly, you might also need to enable the USER entity like in the screenshot below.

Owner 3.6.3_2

 

3.7 Maintenance

In Maintenance you can define rules to clean up records created by Mobile Audit and Mobile Tracking (Plugins). It is because when these features are used extensively, they can fill CRM server with loads of records. Since these records may not be needed after some period of time, you can set rules for when these records can be automatically deleted from CRM.

 

3.8 Mobile Reports

In Mobile Reports section, you can create reports that can be accessed by users in Mobile CRM app and these reports are running directly in Mobile CRM app. They can also run in full offline mode (without access to CRM server), as it uses Mobile CRM data in offline mode. In online mode, of course it uses direct CRM server’s data.

Mobile Reports can be set to run on any CRM entity, for single record or for group of records (using MultiSelect on View).

Details about how to create a mobile report and what there is possible to do with it, can be found in following BLOG POST.

Keywords (report, run, print, mobile, app, Woodford, setup, configuration, pdf, doc, xls)

 
For more information about Mobile Reports (and to see them in action), please check these webinar sections:

LINK 1

LINK 2

 
To add a signature element within the report document (which can be utilized to add a digital signature), to store a special fetch table variable to perform further report-related actions; to enable to aggregate the fetch results in a mobile report and show, for example the value of orders created over the past month; please check the following WEBINAR.

 
To find out more about Universign signature use, check out this BLOG POST.

 

3.9 Profile

When you connect Woodford to your CRM environment for the first time, you will be asked to provde the profile information. This information helps us identify the user when they need our help. In case of a mistake at entering the information or needing to change anything, you can do so in this PROFILE section.

Profile 3.9_1

 

3.10 Settings

When the AUTO ASSIGN LICENSES option is checked, each user that will log into the CRM with a mobile device, will be granted a license to use the Woodford customization. If you disable this option, you will have to go to the MOBILE USERS administration and manually change the state from Pending to Enabled. Until then the users will not be able to use the Woodford customization. You can also see the number of available/total licenses.

After checking the SEND LICENSES assignment, you will receive license assignment notification to the email, that you specified in Profile. You can also add additional email addresses which will also receive notification about assigned licenses.

Settings 3.10_1

 

3.11 Logs

In case you encounter an error with the Resco Mobile CRM Woodford, there is an option to check it, or send us the error log. This will help us locate the problem and fix it, or help you solve it.

Logs 3.11_1

 

3.12 About

In the About section you can check which version of Woodford you currently use. Also you can find our contact info in case you need help or want to contact us for any reason. If there is a new update available, you can use the UPDATE button to download and install the latest version of Woodford. This only takes into account if you use the standalone Woodford application. In case you use the integrated version, you need to download a new solution file and import it.

About screen also contains the UNIQUE ID and UNIQUE NAME (Organization Name) that are needed if you will be communicating with us about mobile user licenses.

Disclaimer: We highly recommend to create a backup of your projects before each upgrade of the Woodford (Both, Standalone and Integrated).

About 3.12_1

 

3.13 Resco CRM Sync (Dyn CRM)

Resco CRM Sync is a mechanism that allows you to create a “copy” of your Dynamics CRM organization, that you are connected to by using Woodford on our Resco CRM server. Usage can be various, from using it for your sales or technician forces, with Mobile CRM app instead of having them to connect to Dynamics CRM server, or for migration to Resco CRM server.

More information, including setup can be found in this DOCUMENT.

Note: This feature should only be used when you want to synchronize Dynamics CRM organization with a newly created Resco CRM organization. It is not needed for Woodford itself.

 

4. Creating a customization

Creating a customization or a mobile project is the core task for Woodford. By customizing the mobile project, you define how the Resco Mobile CRM application appears to users and what features it provides.

 

4.1 Creating a new project

You can create a new STANDARD USER PROJECT, where you can customize the Resco Mobile CRM mobile application by adding an entity, creating views, forms, charts and creating filters to get only the data you need and sort it.

First you need to click NEW (in the Main Menu) to add a new project. Then you can name the project (e.g. SalesApp), pick up one or more roles for which the project will be used (Salesperson in our case) and you also have an option to assign a priority to the project. Priority is useful if one user has more roles and multiple mobile projects for at least two of these roles.

For example, let’s assume that you have Sales Person and Sales Manager security roles with different permissions. Because the Sales Manager needs to have access to Sales Person’s data, they have both specific assigned roles. So when you create a project for the Sales Person and the Sales Manager, both with priority 0, Sales Person will get the correct project (as each sales guy has only one assigned role), but for manager, it is not determined. If you increase the priority of Sales Manager’s project, let’s say to 1 or higher, the project for Sales Manager role will be used because of the highest priority. At the end, it will not affect any sales person but it will manage to provide the correct project to the sales manager.

Type of project determines, who the project will be created for: internal, CRM user or for external users (Mobile App). More information about External (Portal) User and Anonymous projects type of projects can be found in Advanced Topic section.

Template defines, whether you want to use the Default project, the app like the Out-Of-The-Box-One to start customizing, or an extended version where a lot of additional features are already implemented.

Creating a new project 4.1_1

After clicking OK you can start editing the SalesApp project.

Click Edit (in the Main Menu) while having the SalesApp project selected, to open the project.

 

 

4.1.1 Publishing a project

In order to get changes made in a project to apply to Mobile CRM application, you need to publish the project. Publishing means that all project changes made until the PUBLISH or PUBLISH ALL command is clicked, are used to change the looks and functionality of the Mobile CRM application. These changes are applied to Mobile CRM app with the first synchronization after publishing these project changes.

Publish – using this command allows you to publish only the currently opened project.

Publish All – using this command allows you to select one or more projects, that you can publish at the same time. It is designed mainly to allow publishing the parent and one or more child projects in hierarchy, so that changes to parent project are published also to published child projects.

To see how it works, please check this part one of our WEBINARS and EXAMPLE of Publish All in action.

Publish Version – Publish Version allows you to specify the Woodford version, to be used for publishing the project. It is a tool for troubleshooting, not designed for permanent use. That’s because the Woodford version of the published project should be higher or at least match the Resco Mobile CRM application’s major version (first two digits) that is used on mobile devices by users.

In other words, if you use a version of Mobile CRM app that’s lower than Woodford used to publish a project, you will get UNSUPPORTED METADATA error. Mobile CRM application cannot use this project, since it was published with Woodford with features that are not yet implemented in older versions of mobile app.

If users are not able to immediately update Mobile CRM app to later (latest) version, they can lower the Woodford publish version to match the Mobile CRM app version that is used on the user device. If you have the 9.1 version of Mobile CRM app installed and use Woodford v9.3, you can set the Publish Version to 9.1 and publish the project without features that are not available on Mobile CRM version 9.1.

To see which major features are available in specific versions of the Resco solution, please check our NEWS ROOM.

 

4.2 Entity

You can find a list of all available entities from your CRM server on the left side of the interface. To use an entity in mobile project, e.g. Competitor entity, click on it, click on the green ENABLE button in the top toolbar to make it available in your project and SAVE the change.

Entity 4.2_1

Other parameters include:

  • Mode – There are two types:
    • 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 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.
  • Conflict Strategy – 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).

    The conflict resolution strategy is as following:

    • SERVER WINS – When there is a conflict, server version of the record is used and overwrites the record on the client.
    • DEVICE WINS – Since only changed fields are sent to CRM server, when there is a conflict, the server and client records are “merged”, because only changed fields that are sent to server are overwritten by client version.
    • USER ACTION – When there is a conflict, user receives a Sync Error, where he has multiple options how to deal with the error, e.g. edit the record on the device, save it and synchronize the changes again to beat the server change (Clear Error and retry).
    • DEVICE WINS (FULL) – Mobile CRM app sends and overwrites all fields to CRM server, even those that were not changed by the Mobile CRM app user.
    • These are also options that User Action offers: LINK, plus, it is possible to take server version. For this, user needs to have access to the CRM server and the record is overwritten by the record from the server.
  • Permissions – User can set the Read, Write, Create and Delete permissions for the whole entity.
  • Advanced Properties – when the INCLUDE LOOKUP LABELS is checked, the app will no longer show related data to that entity as “Unknown” in the offline mode. This often happened with ownerID’s of records as the data with User names is stored in the User entity (by default the Owner entity is not enabled in Woodford).

When the Competitor entity is activated (it has changed into full color icon), there is an option to expand it and see the five items that will roll down: Forms, Views, Charts, Fields and Indexes.

 

 

4.2.1 Fields

After enabling an entity, you can enable fields that you plan to use on this entity in the Resco Mobile CRM application. For example, you can pick some additional fields you want to use in your mobile project: City, Country/Region, Street and ZIP/Postal Code. Here you can also enable the custom fields for the entity.

Fields 4.2.1_1

You can configure the FORMATTING of a field – this affects the appearance of the fields in the Forms.

  • Single line – Field is formatted to have the appearance of a single line field in the mobile app.
  • Multiline – Field will have an appearance of a multiline field.
  • Email – Adds an action button to the field in the mobile app, activation of which will provide user with an opportunity to immediately create an email.
  • Phone number – Field gets an action button that provides phone call functionality (the device will dial the number contained in the field).
  • URL – Adds an action button to open the URL in the native browser of the device.
  • Barcode – Adding an action button that activates a camera so user can scan Barcodes and QR codes. Function will only work on devices that have a camera with Autofocus.
  • HTML – Formats the text field into a HTML type (bodies of email, signatures and etc).
  • DropDown, DropDownList, Multi DropDown, Multi DropDownList – this feature allows you to predefine input for users, so instead of entering a value, they can choose to use options from drop down list (or enter what is needed manually). More about this feature is shown in this WEBINAR SECTION.

Also, you can configure the Permissions for the fields to either enable/disable the Read, Create or Update permission.

Note: The functionality of the Add Images to the entity will be explained in the Advanced Topic section of this manual – 5.2.

 

Warning: If you disable any previously enabled Field, please check the existing Views and Forms and remove any Fields or Lists that are represented by the sign “Invalid”, or enable the correspond Field so that the Field will no longer be listed as Invalid. If there will be any Invalid Field or List in the Form or View, the application will crash when you will try to open an entity list or record details.

 

 

4.2.2 Best practice when updating or adding metadata (fields, entities) on CRM server

In case a change is made on the CRM server, e.g. changing option set values, Woodford needs to be restarted, so that it can load the latest changes in metadata. Then you need to republish all projects to apply these changes to them. If a field is added to CRM, you also need to enable it in project and place it into view or form.

 

 

4.2.3 Best practice when disabling field in project

When a field that is used somewhere in the application is disabled, Mobile CRM application can crash when user tries to access view or form, where this field was used. To avoid this situation, you should keep in mind these steps:

When you want to disable the field that is enabled in the entity, first you need to remove the reference of this field from each view, form or chart, also from other entity views where it is used. To do so, you need to use the SELECT FIELDS option in View and disable this field from the view. Same applies FOR the Chart. Using Select Fields removes the field from the view.
In form, you just need to delete the field from it. Then the field can be disabled and it will not be used in Mobile CRM application. Any change in fields (enabling/disabling a field) will cause a full sync on this entity.

Special case is when you want to remove a field from the CRM server. If this field is enabled and used on the Mobile CRM application, the above steps need to be performed first, letting users synchronize and telling them not to make changes to data, and after they all synchronize, removing the field, publishing the project and asking users to synchronize. Only this way the problems can be prevented in the case when users make changes to field that is to be removed. A problem that can occur is that server will report an error when Mobile CRM app will try to update/fill in a field that no longer exists on the CRM server.

 

 

4.2.4 Removing field/option from CRM server

When you remove a field, an option from option set or an entity from the CRM, you first need to let your users synchronize the changed data and then remove all references of the field from forms and views. Then you can disable the field in the project and the field can be removed from the CRM. Otherwise users that have the field filled in, will not be able to synchronize the changes.

When this situation happens (you remove a field or option from option set) and users are not able to sync, as value in their record does not exists on the CRM server any more, that option needs to be added back to the CRM server, let user(s) synchronize and then continue as the above paragraph.

Or users need to delete their changes/data by using DELETE DATA option in Resco Mobile CRM app’s Setup. This will of course cause losing unsynchronized changes.

 

4.3 Setting up a Sync Filter

Sync filters define what data will remain in the Resco Mobile CRM application after synchronization.

There are two types of synchronization: initial (full) sync, and incremental sync.

FULL SYNC is performed when the Mobile CRM app is used for the first time after install or when it does not have any data in offline, local database (performed Delete Data from the app’s Setup). In case of such sync, Mobile CRM app downloads data from the CRM server depending on the sync filter, so the sync filter is used to define what data is being downloaded to the Mobile CRM app’s local database.

In case of an INCREMENTAL SYNC, Mobile CRM app downloads all records (that the user has permission for) that were created or updated since the last synchronization. Then the sync filters are used to only keep the records that follow the sync filters in the local database.

When setting up a Sync Filter, a condition can be defined for the CRM database entities (rows) which will be synced to your mobile device. Please bear in mind the capacity of mobile devices. In this example, we set up a Sync Filter for opportunities that were created within the last 120 days.

Setting up Sync Filter 4.3_1

We need to select the entity from the list on the left, for which we want to define the Sync Filter. Then we need to click the Sync Filter button (red square).

Settimg up Sync Filter 4.3_2

Clicking the little black arrow next to the Opportunity expands the box. Selecting „Add Condition“ and the desired field, gives us an option to define the condition and add the value.

Don’t forget to click Save/Save & Close to save the changes.

 

 

4.3.1 Linked sync filters (Dyn CRM)

There’s a reason why the Incremental linked sync filter is used under a condition like in the example. Let’s presume that you have this sync filter on the Accounts. Only Accounts that you either own or are related to Opportunities, that the you own, should be downloaded to the Offline mode. Also, there is a sync filter for Opportunities that allows download only of those Opportunities that are owned by the user. Sync filter for Opportunity entity is simple (Owner Equals Current User), but the one on Account entity uses linked reference to Opportunity entity, using the Opportunity’s sync filter.

During sync, only Opportunities that you own and related Accounts should be available in the Offline mode. There is also a case where there is a new opportunity assigned to the user while the Account that is related already exists in the CRM, and the user does not own it. Since the incremental sync only downloads records that are changed on the CRM server, the related Account is not downloaded during incremental sync since the Account record is not changed on the CRM server. This is handled by enabling the Incremental Linked Sync Filter on the entity, since it will ensure that the Mobile CRM app will download also records that follow the linked part of the filter, even though those records will not be downloaded with the incremental sync without this option enabled.

If you use CRM server version 2013 SP1 or later, you can use the advantage of the linked filters, that will work not only on initial/full synchronization, but also on incremental synchronization. If not, from the incremental synchronization definition, only records, that are changed will be included.

To create a linked filter, a link needs to be added to the associated entity. With filter, we follow the situation from the above example. Only Accounts, that we own or are related to Opportunities, that the current user owns, should be downloaded to the Offline mode.

So it can be created like this:

Linked sync filters 4.3.1_1

In the next step, to make the filter work on CRM 2013 SP1 and above also at incremental synchronization, we need to enable the use of “Incremental Linked SyncFilter” for the entity.

Linked sync filters 4.3.1_2

It can be enabled by default in the project’s Configuration, but it is not recommended because such filter will create a complex query, that might increase server load. It’s rather recommended to enable this option on per entity basis.

 

4.4 Views

Picture below shows the view types.

Dashboard view shows views and charts that were designed and defined for the entities.

Views 4.4_1

Public View displays the selected entity’s list of records.

Associated View shows the list of items from the associated entity that are relevant for the selected item and entity.

Views 4.4_2

Lookup View shows the list of items from the entity that should be inserted to the form.

Views 4.4_3

Note: If a custom Associated View, Lookup View or Dashboard View is not created, then the Public View is being used.

 

 

4.4.1 Creating a Public view

To create a new Competitor’s public View you need to click on the Views under Competitor’s entity first and then New in the Main Menu. In this case the view was named: Competitors. One of the 4 types of view can be selected: Public, Associated, Lookup and Dashboard View. In this example, the Public view and a Primary + 2 Secondary Template are chosen. You can choose any of the templates or proceed with an empty one and design it your own way, but please bear in mind the screen size of a mobile device.

Creating a Public View 4.4.1_1

At first, you have to add the fields to be available on the Field Explorer by clicking SELECT FIELDS in the Menu Bar and in this case select all of them. Select Fields shows all fields that are available for the mobile device, not only for the View but also for Sort and Search. Selected fields are displayed in a list on the right. You can also disable fields that need to be enabled for synchronization, but they do not need to be added to View to make the designer tidier.

Creating a Public View 4.4.1_2

If you want to have more fields, they need to be enabled in the Fields option under the COMPETITOR ENTITY. Then selecting the left bottom cell in the blue rectangle and double-clicking the City field in the list on the right adds City field. Same thing can be done with the bottom right cell and adding the Street field. Then you just need to press Save & Close when finished.

Note: If you want to search by using a wildcard, use “%” in Mobile CRM search bar, the same way as you would use “*” in the CRM web interface.

Creating a Public View 4.4.1_3

Each field has four available anchors (arrows). Anchor can be activated by clicking on it. It will fix the boundary position of the field to the side the anchor is pointing to. In the case of the picture below, the Address 2: City field is bound to the left border of the view item and to the bottom border of the Name field. When the anchors are set correctly, the view will not be messed up when users rotate the screen e.g. from portrait to landscape.

Creating a Public View 4.4.1_4

Row

  • Name – Defines the Row’s name (to distinguish between multiple Row designs).
  • Width – Defines the width of the row in a view.
  • Height – Defines the height of the row in a view.
  • Color – Defines the color of the row’s background.
  • Selected – Defines the color of the row’s background, when the record in view is selected.

Cell

  • Left, Top, Width, Height – Coordinates of the selected element (field on the row). You can adjust the element size and position either by entering the coordinates or by drag-and-dropping the element and element’s sides in the designer.
  • Kind – You can set the selected element as Text field, Image or Map Pin that will be used in the Map view.
    • How Image Kind works: When user selects a field for which the Kind is changed to Image, the field’s value is taken as the image name. So for example, if you set the status code field as Image, and add the icons of the different status codes to the customization, the icon on the view will change according to the record’s status code. Also, please see the Form Style Editor’s Folder description for more information.
    • How Map Pin Kind works: When you select a field for which the Kind is changed to Map Pin, the field’s value is taken as the Map Pin image name. So for example, if you set the status code field as Map Pin, and add the icons of the different status codes to the customization, the Map Pin icon on the map view will change according to the record’s status code. Also, please see the Form Style Editor, ImageCell Folder property description for more information.

Binding – Please check the following section (4.4.2) for more information.

Style – You can select the style that will be used for the selected element. The designer will also preview the selected style. You can also create your own styles or adjust the existing ones by using the Style Editor (button in the top toolbar).

 

 

4.4.2 Binding

You can define what will be used as FIELD DATA in a view element, an entity field. When an entity field is added to the view, by default, Binding is set to Value and you can see the entity field‘s name in Binding’s field data. This way the field data is shown in standard way, so that you can see the value of the field in Mobile CRM app.

Binding 4.4.2_1

For example, when there is an Option Set field on the view, if you leave the Binding Type on VALUE, Mobile CRM app will display the item’s label. If you set Binding Type to Raw Value instead of label, value of the Option Set will be used. This is useful, if you don’t want to display text, but different view images, or map pins based on different value of the option set. It is because images cannot have space in their names.

Binding 4.4.2_2

Binding 4.4.2_3

When Binding Type is set to CONSTANT, you can enter a static text as Field Data and this text will be displayed instead of the entity field data. This way you can add “labels” to views, to describe fields that only show numeric values.

Binding 4.4.2_4

 

 

4.4.3 View Style Editor

It is possible to change or add a style by using the Edit Styles button on the Toolbar.

Editor gives you an opportunity to change the default styles or add new styles, that can be then assigned to fields on views. The styles are global for all fields on views, so if you change a style that is assigned to multiple fields, even to a view on a different entity, these changes are also applied to these fields. Also, it does not matter in which view the Style Editor is opened and edited in.

The properties of the ImageCell (It’s used when the Kind of the element is set to Image) that are useful for this type of item are as follows:

  • Folder – Name of the Folder under the platform folder of the Image.zip where the icons for the field values that you want to represent as pictures are stored.
  • ForeColor – If the icon that you want to use, is colorized, you can change the color of it here.
  • FormatString – If you use a non-string field as a source for the image (e.g. a lookup field), the string should look like folder_name{0}.png. {0} represents the target name (name of the lookup record, according to which the image is used.
  • HorizontalAlignment – NEAR aligns the image to the left side of the cell, FAR aligns image to the right side of the cell and CENTER aligns the image to middle of the cell.
  • Name – Name of the style.
  • VerticalAlignment – NEAR aligns the image to the upper side of the cell, FAR aligns the image to the bottom of the cell, CENTER aligns the image to the middle of the cell.

View Style Editor 4.4.3_1

Properties of the TextCell (used when the Kind is Text) are as follows:

  • AutoHeight – Adjusts the row’s height to fit the field in case the field element in designer is smaller than the font.
  • BackColor – Color of the field’s background (color of the cell).
  • FontSize – Size of the text’s font.
  • ForeColor – Color of the foreground element – in this case it’s the text (#AARRGGBB – AA = alpha/transparency, RR = red channel, GG = green channel, BB = blue channel).
  • Format String – You can format the way the field data is represented, e.g. you can enter a format string in the way “Personal: {0}” where Personal: is a static text and the field data is entered where the element {0} is.
  • HorizontalAlignment – NEAR aligns the text to the left side of the cell, FAR aligns text to the right side of the cell and CENTER aligns the text to middle of the cell.
  • Name – Name of the style.
  • VerticalAlignment – NEAR aligns the text to the upper side of the cell, FAR aligns the text to the bottom of the cell, CENTER aligns the text to the middle of the cell.

View Style Editor 4.4.3_2

 

 

4.4.4 Additional View Configuration

In each view you can also define more than the beforementioned stuff.

 

 

4.4.4.1 Buttons

You can configure the buttons used in the view (visible only if the List Buttons option in Resco Mobile CRM Setup or in project’s Configuration is enabled), when record on view is selected. By clicking on the Buttons’ icon and adding commands from right to left, you can add buttons to the view. On some, you can specify more details, like what child entity record to create or which status to set for the record.

Buttons 4.4.4.1_1

 

 

4.4.4.2 Edit filter

Edit Filter can restrict the displayed data in the view to only those that meet the specified conditions. The difference between Sync Filter and Edit Filter is that the Sync Filter allows the sync only of those fields that meet the conditions, while the Edit Filter works with all fields and only displays those that meet the conditions. This is the perspective of having more views for one entity.

Edit Filter 4.4.4.2_1

 

 

4.4.4.3 Edit Sort

Edit Sort defines the direction of sorting (Ascending or Descending) and which field will be used for it.

Edit Sort 4.4.4.3_1

 

 

4.4.4.4 Edit Search

In Edit Search, you can define where (which field) will the application search for the character entered into the application’s search field. Also, it can be defined whether to search at the field’s beginning, end or in each full text. The search uses the logical operation OR.

Edit Search 4.4.4.4_1

Note: Because the search uses OR, to enable more advanced search, you can create a filter with a condition over a text field (e.g. Name, Title etc.) and enter @@filter@@ as a filtered text. This will be replaced (in runtime) by the text entered into the search field on the view.

 

Note: If you have a GPS coordinates field in the entity, if you enable it for the mobile project you will be able to switch the view from list to map and see the records on the map.

 

 

4.4.4.5 MultiSelect

It‘s possible to set actions for Views when MultiSelect is triggered. To trigger it, you need to tap and hold finger on a record in view, where at least one MultiSelect button is enabled. Then you can select multiple records and the selected action will be performed on all selected records.

Multiselect 4.4.4.5_1

To see how it works, please check this WEBINAR SECTION.

 

 

4.4.4.6 Add Image, Add Map Pin

Adding images is shown in section 5.3.1 and adding a custom map pin in section 5.3.2.

You can also watch this WEBINAR for more info on Map Pins.

 

 

4.4.4.7 Sort Fields and Filter Fields

Since version 9.1 of Mobile CRM app, it is possible to set up additional sorting and filtering on view by using the Search bar. In these two view options, you can specify which fields will be available to users for this additional sorting and filtering.

Sort Fields and Filter Fields 4.4.4.7_1

 

 

4.4.4.8 Date Fields

In Date Fields, you can specify which fields will be used as Start and End date fields, in case you need to add the view to Calendar. Since it‘s possible to add any entity to Calendar, this is a good way for you to set the appropriate field to be used as Start and End date on Calendar.

Date Fields 4.4.4.8_1

 

 

4.4.5 Multiple Views

Multiple Views are useful if the mobile user needs an access to particular data from the same entity in one place, e.g. if the default public view is set to show all data, you can create a new view that will show only a subset of the data with different fields.

Example:

To create multiple views for Account entity, first we need to create a new public view named Seattle Accounts. It will display only accounts that are located in Seattle. Therefore, such filter for accounts located in Seattle shall be defined. For this new public view we will also define the Edit Sort order as Ascending and Edit Search, that will search for the address that contains the characters entered to the search field in the Address field.

Multiple Views 4.4.5_1

Multiple Views 4.4.5_2

Multiple Views 4.4.5_3

Multiple Views 4.4.5_4

Multiple Views 4.4.5_5

We will create another public view with the same steps, this time with the name Redmond Accounts, and it will have a filter set to show only accounts located in Redmond.

As the last step we will define which view will be a default one. In our case it will be the Redmond Accounts. Select it in Woodford and click Properties.

Multiple Views 4.4.5_6

  • To make the Redmond Accounts as the default view, tick the Default (Initial View) If the default view is not set manually, Mobile CRM will apply the alphabetical key.
  • The option Hidden (Hide in view selector) can be used when you are creating a view that will not be shown in the list of multiple views in the Mobile CRM application. It can be used for example for a filtered lookup. How to create one will be shown in the Advanced Topic section at the end of this guide.
  • You can also set whether a view is created for Online and/or offline mode, so that you can define different views for these modes.
  • Also there is a possibility to apply the entity Sync filter for the View in Online mode to decrease the amount of the data that will be downloaded. This is done by checking the Use Sync filter in Online Mode checkbox in the properties dialog.

Multiple Views 4.4.5_7

And here is the outcome in the Mobile CRM App. By selecting the different view users gain an access to different data.

Multiple Views 4.4.5_8

Note: This example may vary if the data used in the Mobile CRM application are different from CRM server.

 

 

4.4.6 Advanced View Features

 

 

4.4.6.1 Row Scripts

In Woodford, you can change the row’s design, such as changing of its background or highlighting of specific records.

Hint: Please check this BLOG POST for an additional example of row script use.

You need to navigate to the view where you want to change the row (background) and click on Clone Row button to clone the current row. Then rename the Row.

Row Scripts 4.4.6.1_1

You can also use Copy Design button that will allow you to copy the design of any view from any entity. Add Row adds an empty row, where you can add fields and design it from scratch.

Now, you need to go to Edit Styles, click on Primary and click on +Add button. It will create a clone of the primary style. Then you can change the BackColor (background), ForeColor (text color) or edit the style’s name (in our case Red Primary).

Row Scripts 4.4.6.1_2

Now you can change the field style of the new row (Red background) from Primary to Red Primary.

Row Scripts 4.4.6.1_3

To define when and how, the different row designs will be used, you need to set the Row Script (rule). After clicking on Row Script button you can create the script (rule), under which condition the different row designs will be applied.

Row Scripts 4.4.6.1_4

Warning: Please do not use Load reference in Row Script, even when it is possible. It will not work and could cause issues.

 

 

4.4.6.1.1 Changing style on View dynamically

Since version 10.1, there is also a different option in changing the field style on View dynamically, based on its value or other conditions instead of creating a different row design. It is also possible to change the field’s style by using Row Script directly.

To learn more about this approach, please check this part of WEBINAR and HERE to see the setup and see it in action.

 

 

4.4.6.2 Best practice in renaming a view

You need to bear in mind that the view name is used as a logic name, so it’s used all over the application. If someone changes the name of a view, it can cause issues with the application. Especially if they rename default view names on pre-defined entities.

Views are used in Map, Calendar, in entities as public, associated or lookup views. So when the name is changed, you should reset the views on all these places.

It is easier to use Localization to change the display name of a view, while keeping the “logical” name untouched. To enable this, you need to keep the view names without spaces or special characters (underscore is ok).

 

 

4.4.6.3 Editable field (Editable list)

Editable field, list or editable grid is a feature that allows users to edit more records at once, directly from the view, without a need to go to edit form of a record.

To set a field to be editable directly in the view, you just need to set the field’s Kind to one of the Edit options.

Editable Field 4.4.6.3_1

Main difference between Edit and DirectEdit is that changes made on fields with the Edit option, need to be saved. Since the Save button for View changes is available only in the Public view (list of records accessed from Home), DirectEdit option saves changes in field directly, without the need for user to use save button on the View.

For the use on lookup or associated views, you need to use the DirectEdit option only, otherwise changes on different records will not be saved correctly.

Hint: For more information about Editable fields, please check this section of one of our WEBINARS

 

 

4.4.6.4 Clickable field

Clickable field is a means to create a hyperlink of a lookup field on a view, and clicking this field opens the lookup target record. So, a kind of a shortcut to e.g. parent account on an opportunity view.

To enable a clickable field on a view, just set the field’s Kind to CLICKABLE.

Clickable Field 4.4.6.4_1

 

 

4.4.6.5 IFrame

It’s possible to add JavaScript and JSBridge to views and perform validation, when you use the view to change the data (editable fields, MultiSelect) and to handle view buttons. It is also possible to use JavaScript and JSBridge to load records to the view (FetchXML).

For more information about extending views by using this technology, please check the following part of a WEBINAR.

There are additional validation options, like the possibility for the app to ask whether a change should be saved or discarded, when users edit records on lists;

OnChange and OnSave actions triggerring in JavaScript, validations when records are modified or saved directly on a list etc. can be seen in this WEBINAR.

 

 

4.4.6.6 Search View

It is possible to create a specific view that will be used for search results. It needs to be a Public View named SearchView (cannot be hidden). You can set up different looks and functionality of this view.

To see it in action, please check this WEBINAR SECTION.

 

 

4.4.6.7 Responsive View/List

In order to use larger screens on tablets (or phones with large screens) to their full potential, it is possible to adjust the view design to be more responsive, i.e. to use the screen more effectively.

To learn how it can be achieved , please check the following BLOG POST.

 

 

4.4.6.8 Automatic List/View headers

It is possible to add headers, field names on the list.

To learn more, please check this part of a WEBINAR.

 

 

4.4.6.9 List/View Footer

This feature does not require setup in Woodford project. It allows to see some additional information when using multiselect in Resco Mobile CRM app, like number of selected items vs number of all items in the view or setting up the aggregation (e.g. sum of total amount on Opportunity) for selected vs all items in the view.

To learn more, please check this part of a WEBINAR and this PART to see it in action.

 

 

4.4.6.10 Set view items into grid/columns (display more records in one row)

You can display your list of records in grid view or in columns, if you want to have more than one record in one row.

To understand it better, please check this PART of a webinar and this PART to see it in action.

 

4.5 Form creation

There are two types of Forms: Edit form and Contact Information form. Contact Information form is a read-only type of form designed for quick access to information. By customizing the Edit form you will be able to edit the field’s information.

Note: Only one form type is available per entity. If you need to provide different forms for different scenarios, consider using different projects for different user groups. Another option is using Rule or Offline HTML with JavaScript to adjust the form (show, hide fields, tabs) based on specific conditions.

 

 

4.5.1 Contact Information Form

You can find the Contact Info section in Contact Information form. There you can determine which information will be displayed in the special Info tab. In this case, it is a summary of the competitor’s information. It contains predefined categories that cannot be edited, so it should be only used for the entities where it will make sense. It is not really a Read-Only form, it is rather a Contact or Quick Info form. The main function of it is to provide a quick direct phone call option or to send an email without the need to open the edit form. You can also add the available fields to the categories (Address, Call etc.). Information on the Contact Info will be displayed without labels.

Other items in the Tabs section on the toolbar provide a way to add the Iframe, Map and Wall objects. You can also add an available associated list or unrelated list (list of records that will not be filtered).

In the Field Explorer you can add associated views of the fields from the entities bound with the foreign key. Also, when you click on the Contact Info form’s designer part, you can see a list of available fields that can be placed on the Contact Info tab.

Hint: Contact Information Form can be adjusted by using Offline HTML with Java Script. For more information please check this SECTION of one of our webinars.

 

Note: If you use Flexible Forms (New Form UI), the Contact Information Form will be automatically disabled and not displayed to users.

 

 

4.5.2 Edit form

Edit form serves for defining which fields will be able for editing and designing of the form.

To design an Edit form you need to click on Forms and then New in the Main Menu. After that you can name the form and select Edit Form.

Edit form 4.5.2_1

Default Form includes two tabs: General and Address.

Selecting GENERAL form and clicking on the Add Field button adds available fields. Once one field is added through the Add Fields button or by clicking on one of the fields in the center part of the screen (Designer area) you can drag and drop the fields from Field Explorer list on the right to the designer.

Edit Form 4.5.2_2

Now the same needs to be done for the Address tab (Why use Address tab?)

Edit Form 4.5.2_3

You can add additional tabs by using Add Detail button and place fields there, delete the default or custom tabs or rename them (click on the tab and then click on the rename button).

Add List button serves for adding of tabs that will show related/associated entities (list of related contacts, products & etc.) You can also drag&drop the lists from the right to the center of the screen. If a specific associated list is missing on the form, you should make sure that the lookup that defines the relationship is enabled on the child entity, e.g to add a list of associated Contacts on Account entity via lookup parentcustomerid, the field parentcustomerid needs to be enabled on the Contact entity.

Same button can be used also to add lists of unrelated records, but the last option needs to be used in this case – Unrelated Entity List and selecting the entity that should be used.

When you select a list and click on Properties (or double click on the list), you can define the view(s) that will be available for this list.

Edit Form 4.5.2_4

When selecting a field on the form designer, you can also select the Style that the field should use. You can choose from between the default or your own custom styles. To create and edit custom styles and to edit the default styles, you should use the Style Editor.

 

 

4.5.2.1 Advanced filtering

You can specify views to be used for the item in lookup fields and associated lists.

You just need to double click (selecting the item and clicking on Properties) on the item (lookup field on associated list on the form) and select views, that will be used.

Advanced Filtering 4.5.2.1_1

It is also possible to add additional filter that will be combined with the used view’s filter. This can help narrow down the results, e.g. when you want to assign the primary contact to an account and you don’t want to have all contacts listed, you only want to see the contacts that are associated with the account already. You can create a filtered lookup view (section 5.1 Filtered Lookup) or in this case click on the Filter and add additional condition that will be always applied to Primary lookup field.

Advanced Filtering 4.5.2.1_2

 

 

4.5.2.2 Form item options

Each form item has following options:

  • Binding – This defines the tab name for the detail tabs. For associated lists, it defines the lookup field.
  • Side – When using the flexible forms, you can place the tab item to the left or right side of the form when viewing the form in full screen.
  • Header – When using the flexible forms, you can set what to display as the form header.
    • Hidden – Header is hidden and only records are shown (no plus, or flip to button is shown as well).
    • Icon & label – Whole header, including the icon and name will be shown.
    • Label – Only the tab name is shown.
  • Width – NORMAL represents the ordinary size of one tab, LARGE means that the tab will take size of two tabs.
  • Height – Number of rows that will be visible in the tab item, other records will be available with scrolling.
  • Orientation – Only available for list items and defines whether records are aligned horizontally or vertically. Scrolling also follows this option.

 

 

4.5.3 Form Style Editor

This editor provides an option to change the default styles or add new styles that can be then assigned to the form fields. The styles are global for all fields on forms, so if there’s a change of style that is assigned to multiple fields, even to a form on a different entity, these changes are also applied to these fields. Also, it does not matter which form user opens and edits in the Style Editor.

Properties that can be changed in the Form Style Editor DetailItem (field) are:

  • BackgroundColor – Sets the color of the field’s background color.
  • ButtonColor – Color of the field button (for URL, Phone, Barcode… formatting).
  • EditorDisabledColor – Color of the field, when the field/form is disabled for editing.
  • EditorFontWeight – Weight of the entered value of a field.
  • EditorForegroundColor – Color of the field value.
  • EditorHorizontalAlignment – Sets the field value’s alignment. NEAR aligns the value closer to the field’s label, FAR aligns the value further from the label and CENTER centers the value to the middle of the value cell.
  • ErrorColor – Color of the field, when error message is set to the field or when the field is Business Required.
  • ImageAlignmnet – Sets the alignment of a picture, if used. TextOnly shows the label of the field, ImageOnly shows image without label. Remaining options represent the alignment of the image inside the field.
  • ImageBasePath – Path to the image’s project folder (project image).
  • ImageQuery – Specifies where the image is taken from (CRM data).
  • IsMultiLine – FALSE means that the text field will be in a single line format, TRUE means that the field will be in multiline format.
  • LabelAutoHeight – Makes the field row higher if needed according to the size of the label.
  • LabelAutoWidth – Automatically sets the label’s width, based on the label’s length.
  • LabelFontWeight – Sets the weight of the label.
  • LabelForegroundColor – Color of the label’s text.
  • LabelHorizontalAlignment – PlatformDefault follows the default alignment of the label according to the platform settings (as is on not customized MobileCRM), NEAR aligns the label closer to the field, FAR aligns the label further from the field and CENTER centers the label to the middle of the label cell.
  • LabelPosition – PlatformDefault follows the default placement of the label according to the platform settings (as is on not customized MobileCRM), LEFT places the label on the left side of the field, TOP places the label on the top of the field (can be useful when the label is long and RIGHT places the label on the right side of the field.
  • LinkColor – Color of the field’s link items – lookup values, URLs.
  • MinuteIncrement – Sets the minimal minute number used for minute selector.
  • Name – Name of the style.
  • RadioButtonMaxCount – Number of options in an option set, for which the radio buttons are enabled. Option set with more options will be displayed as a standard option set (drop down).
  • RelativeLabelFontSize – Adjusts the label size according to the default size by the positive or negative number.
  • RelativeTextFontSize – Adjusts the field text size according to the default size by the positive or negative number.
  • WrapText – Wraps the text into more lines if value exceeds the size of the field.

Form Style Editor 4.5.3_1

Hint: Further information about newly added style options can be checked in this SECTION of one of ours webinars.

 

 

4.5.4 Additional Form objects

 

 

4.5.4.1 Iframe

Iframe is a visual HTML browser window with URL support that is able to send the entity’s properties. You can authenticate the current Mobile CRM user to use the credentials on the web site. Also, as shown on the picture below, you can bind an entity property name in {} to the link (e.g. in this case search for the competitor’s name).

When Delay Load is enabled, the web site (or offline HTML) is loaded when user opens the tab. When Delay Load is disabled, the web site (or offline HTML) is loaded when the form is opened.

Note: Authentication works only for Active Directory connection type.

Iframe 4.5.4.1_1

Here is the visualization of the Iframe functionality in the app:

Iframe 4.5.4.1_2

Hint: You can check our BLOG POST about LinkedIn integration (search).

 

 

4.5.4.2 Map Frame

Map Frame processes 2 entity properties (both are GPS coordinates) and visualizes them on a map. To be able to set the map coordinates, the entity (in this case Accounts) must possess the latitude and longitude enabled property.

 

 

Prerequisites for the Map, GPS and Geocoding, as well as Update GPS option on custom entity’s form

You need to go through couple necessary steps to be able to see the Update GPS and Update Address command button and use them to assign the current GPS-enabled device’s GPS coordinates (and address based on the GPS position) to entity fields:

The entity must have a floating point number fields with names ending with „latitude“ and „longitude“ e.g. GPS_coordinates_latitude and GPS_coordinates_longitude or as in case of Accounts, Contacts and Leads Address1: Latitude and Address1: Longitude and the field must be Floating Point Number type.

Precision needs to be set to 5 decimal numbers, Maximum Value to 180.00000, Minimum Value to -180.00000 for the Longitude, and Maximum Value to 90.00000, Minimum Value to -90.00000 for Latitude.

Map Frame 4.5.4.2_1

To add it to the form, you need to click on the Form under Objects and select Add Map.

Map Frame 4.5.4.2_2

Also, you need to have a detail tab named exactly “Address” on the edit form. It is possible to change this name to any other by using Localization.

To use the GPS fields for showing the record’s position on the map, on the edit form, you need to add a Map item and specify GPS fields to be used. If you want to show more than one position (e,g, Invoice and Shipping address position), you can add more than one Map item, with specific GPS fields specified.

Map Frame 4.5.4.2_3

Here is the visualization of the Map Frame functionality in the app:

Map Frame 4.5.4.2_4

 

 

4.5.4.3 Media tab

There is a specific tab, Add Media that serves for adding different files, attachments to Note. By default, it is set as signature tab, but you can set it up for other actions, like capture photo, record video and more. You can also set a certain action as required for specific status. Name represents a name of the tab and Title Equals represents Subject or Title of the Note where the file is attached. When configuring new Media Tab, Entity and Title Equals fields must be filled. When you define the Entity, there are two options to choose – Note or Cloud Document.

Media Tab 4.5.4.3_1

Example in the screenshot below: to change the records status to „In Progress“ you need to input customer’s signature.

Media Tab 4.5.4.3_2

Note: You can add as many Media frames (tabs) as you like, each with different option. You can have a dedicated signature tab, a dedicated photo/picture tab, a record tab etc.

To allow further validation/logic of the Media tab, you can use Form rule where there are new options available for the Media tab items. To see it in action, you can watch this PART of one of our webinars.

 

 

4.5.4.4 Form Rules – On Load, On Change, On Save

Form Rules are a pseudo-scripting language (conditional formatting) that allows users to create conditions and steps to be performed.

Rules Guide is available as a separate document here: Mobile CRM Woodford – Rules Guide

You can also check our Blog post dedicated to Form Rules, Webinar videos Form Rules Basics, and Form Rules in Action.

Some examples on how rules can be used can be found also in our blog.

Webinars regarding new rules features, executing a fetch, parent entity variables, new string functions and section visibility:

WEBINAR 1

WEBINAR 2

Webinar showing how to define condition to check the security role, and perform different action for different security role can be found HERE.

 

 

4.5.4.4.1 Form Rules Examples – How to make a field required

(Keywords: fields, required, business, setup, configuration, Woodford, form rules, rule, logic)

BLOG: Say goodbye to empty fields and incorrect data: How to make fields required in Resco Mobile CRM?

 

 

4.5.4.4.2 Form Rules Examples – How to dynamically show/hide sections on the edit form

(Keywords: fields, sections, show, hide, setup, configuration, Woodford, form rules, rule, logic)

BLOG: How to dynamically show/hide fields & sections in the Resco Mobile CRM application?

 

 

4.5.4.4.3 Form Rules Examples – How to set a placeholder text on edit form fields

(Keywords: placeholder, text, field, label, localization, app, Woodford, form rules, setup, configuration)

BLOG: Don’t let your users wonder what to type into a field – Tell ’em

 

 

4.5.4.4.4 Form Rules Examples – How to show information from parent record on child edit form

(Keywords: child, parent, mobile, project, derived, form, entity, shared variable, Woodford, setup, configuration)

BLOG: Show info from parent on a child form: E.g. see the relationship type of the Account whenever you open up a Contact

 

 

4.5.4.5 Edit Commands

Edit Commands button provides you with an option to manage what commands will be available for the users.

Edit Commands 4.5.4.5_1

By moving commands from section Available to Selected, you enable this command to be available on the Edit Form entity.

Edit Commands 4.5.4.5_2

If there is an item that has multiple options (like ChangeState, ChangeStatus), you need to determine which options will be available on the command.

 

 

4.5.4.5.1 Default commands have the following functionality

ChangeState – Change state code of a record. You can also specify which state options will be available to users. Each state option will be displayed as a separate command.

ChangeStatus – Change status code of a record. You can also specify which status options will be available to users. Each state option will be displayed as separate command.

Delete – Deletes the record from the database. If it is performed in offline mode, after synchronization it is also deleted from the CRM server.

EmailLink – Creates an email with links to the record, for CRM server and for Mobile CRM application.

Favorite – Adds/Removes record from Favorites. You also need to add Favorites to Home to give users a way to access favorite records.

PrintReport – Runs a report. For more information please check this BLOG POST.

Scan – Only on the new records belonging to Contact and Lead entity – Starts barcode scanner and by scanning VCard/Me Card enabled QR code on a business card (or elsewhere) it will fill in appropriate fields of a new record.

ScanBusinessCard – Only on a Contact and Lead entity – Similar to the previous command, but runs CamCard application to scan business card and by using text recognition it fills in the appropriate fields. User needs to have CamCard application installed on the device and needs to enter CamCard Api Key to Project’s Configuration (section Advanced).

Qualify – Allows record qualifying. Available on Lead and Activity entities.

GetProducts – Loads products to Invoice or Order from the selected associated record (e.g. opportunity).

WonOpportunity – Sets opportunity as won and closes it.

LostOpportunity – Sets opportunity as lost and closes it.

CreateInvoice – Creates an invoice from the order.

 

Hidden commands

UpdateGPS – Sets the current device’s position to record’s latitude and longitude fields, by using Google Maps Services.

UpdateAddress – Sets the current device position (latitude, longitude fields) and address (Street, City, Country) by using Google Maps Services.

Example for managing hidden, default and custom commands can be found HERE.

 

Each command can be adjusted with the On Can Execute and On Execute rules. More about these rules can be found in the next section.

 

 

4.5.4.5.2 The Business card scanning feature

CamCard integration with Mobile CRM app works in such way, that when creating a new Lead or a Contact, you can select a command (in Mobile CRM app) that will run CamCard app and you can scan the card. Then it transfers the information back to Mobile CRM app’s new Lead or Contact record.

You need to do the following:

    • You need to enable the command (ScanBusinessCard) on Lead or Contact entity edit form.
    • Edit Commands 4.5.4.5.2_1

    • You need to have CamCard free app installed on Android, iPhone or iPad (with iPad you need to install the CamCard app from iPhone, not the HD version).
    • You need to obtain Open API key for iOS from Intsig (company that develops CamCard app) and enter it into mobile project’s Configuration CamCard ApiKey field. This key is used for both, iOS and Android platforms.
    • Edit Commands 4.5.4.5.2_1

Intsig has special pricing for Resco customers, you just need to specify that you are Resco customer, when contacting them.

If you are not already in contact with Intsig, you can let us know and we can give then contact to Intsig.

Mobile CRM app can update these fields by using the scanned card information from CamCard:

LastName 

FirstName

MiddleName

Prefix

Suffix

Title

Org

Tel (Work/Home/Fax/Cell)

Email (Work/Home)

Address

GEO

Url

NickName

Bday

 

 

4.5.4.5.3 Check In/Check Out

Check In/Check out functionality is available from the 11.2 version of the application. It can be configured for any entity available in Woodford. This is how you can configure it:

Enable Check In command for entity. You will find it in Command section on Form. The entity we are using is Appointment.

Custom Commands 4.5.4.5.3_1

After adding it to selected commands, press the button to open Configurator. You can select fields for Check In/Out Time, Duration, Latitude, Longitude etc. Two mandatory fields are Check In time and Check Out time. Once you hit Check In command, the time will be set for Check In time field. The behavior is the same for Check Out time field (Check Out command hit). Please keep in mind that enabling Check In command makes these two fields read-only, since we do not want users to change the time set by command.

Duration field – Once you set it, the total duration from Check In to Check Out will be set for this field. You can choose fields which are Float/Decimal type. It will be filled after Check Out.

Latitude, Longitude fields – You can set the location in these fields once user hits Check In command. Only Float fields will appear in the options.

Status and Status configuration section is a little more complicated. This configuration gives you the ability to change status of a record when Check In/Check Out command is hit. Once you select status field, you get two additional mandatory fields:

  • Change Status after Check In
  • Check Status after Check Out

Selected statuses will be automatically added to the Status field on command hit. If you select more options, users will have an option to choose one of them.

If you want to show Check In command only for records with, for example Free status, use the option Check In possible for Status.

Custom Commands 4.5.4.5.3_2

Custom Commands 4.5.4.5.3_3

 

 

4.5.4.6 Custom Commands

You can create custom commands, where you can define, under which condition the command will be available, and what to do at user action (when the command is used).

Custom Commands 4.5.4.6_1

It is also possible to connect custom commands with offline HTML with Java Script and perform actions that are not available when using command rules.

For the default and custom commands you can also define On Execute and On Can Execute rules.

On Can Execute rule defines when the command will be available for the user. In this rule you specify in what situation users can see and use the command, so that you can hide this command in situation, when its action is not suitable.

Custom Commands 4.5.4.6_2

On Execute rule defines the actions that the command performs. You can specify what will be performed by the command, when user initiates it. It can be filling in some data, hiding fields etc.

Custom Commands 4.5.4.6_3

 

 

4.5.4.6.1 On Can Execute Example(Disabling Update GPS command, dynamically disabling Delete command, and disabling Signature on Note attachment form)

A simple example is the Update GPS command on the Edit form’s Address tab. Users should not change the GPS position of a record, that already has the GPS position set so you can hide this command in such situation.

On Can Execute examples 4.5.4.6.1_1
 
Another example is when you want to prevent users from deleting a record. You can disable deleting records by not putting the Delete command on Selected commands section. But what if you want them to delete commands in some situation? You can add the Delete command but hide it in specific situations. In this case we will not allow users to delete records that are owned by different users.

On Can Execute examples 4.5.4.6.1_2
 
Yet another example can be when you don’t want to have Signature on Note’s Attachment. To disable it, you need to go to Note’s Form and adjust the On Can Execute rule.

On Can Execute examples 4.5.4.6.1_3

The tricky part can be setting the command’s name. It needs to be exactly DocAction.CaptureInk (Beware, it’s case sensitive!).

On Can Execute examples 4.5.4.6.1_4
 
Here is the list of all DocActions, all possibilities you can do with Note attachment’s commands:

  • Actions for an empty Attachment

    • DocAction.CaptureInk – Configures the view for Capturing Signature. When disabled, list of available commands is shown
    • DocAction.CapturePhoto – Asks user to capture a photo and loads the chosen media into the view
    • DocAction.SelectPhoto – Asks user to choose a media (image, video, depending on what the platform supports) and loads the chosen media into the view
    • DocAction.SelectFile – Asks user to choose a file and loads it into the view
    • DocAction.RecordAudio – Asks user to record an audio note and loads it into the view
    • DocAction.RecordVideo – Asks user to record a video and loads it into the view
    • DocAction.UseLastPhotoTaken – When user captures photo using the camera, and then wants to attach this picture to a Note, this action can be used, instead of Select Picture and navigating to the picture.
    • DocAction.LoadForm
  • Actions for non-empty Attachment, i.e. when there is a file attached to a Note
    • DocAction.Clear – Clears the view and marks it as empty
    • DocAction.View – Shows a preview of the loaded document (full screen, etc.)
    • DocAction.OpenExternal – Opens the loaded document in an external application. Which application will be used, is platform specific
    • DocAction.FindApp – Find external application for opening specific document. Find method is platform specific (i.e. find on Android Market)
    • DocAction.Download – Saves file in device, platform specific
    • DocAction.Copy – Copies image to clipboard
    • DocAction.Paste – Pastes image/file from clipboard
    • DocAction.Print – Prints the document
    • DocAction.ResizeImage – Lets user to choose smaller image resolution
    • DocAction.Import – Lets user import VCard attachment (handled in common code)
    • DocAction.Edit – Allows the document to be edited directly in Resco Mobile CRM application
    • DocAction.SendTo – Creates a new Email with the file/document as attachment

 

 

4.5.4.6.2 Can Execute Example

Can Execute rule can define what exactly should a command do. For example, it can fill in some specific fields and set the status code as busy.

Can execute example 4.5.4.6.2_1

 

 

4.5.4.7 Additional options for associated lists

When you select an associated list and click on the Properties (or double click on the associated list), the options for the list will be displayed in a section.

Associated Views – Here you can define which views you want to be available on the associated tab. You can also define an additional filter for all associated views.

Additional options for associated lists 4.5.4.7_1

Lookup Views – Similarly as above, you can define which view will be used as lookup (associating a new record).

Additional options for associated lists 4.5.4.7_2

Charts – You can define which charts will be available for the FLIP TO CHART functionality.

Additional options for associated lists 4.5.4.7_3

Properties – Options available on the Properties tab depend on the associated tab’s type.

Actions – Here you can define what actions/commands will be available. On most associated items, you will have options Create New and Add Existing. This defines whether user can only create a new associated record or associate an already existing record by using the plus button on the associated item’s header.

Controls – In controls you manage the available options for displaying the associated item’s data. They can be either displayed as list, a Flip to Map view or in a Chart view. By disabling “on” of the options, you remove the option to flip data. If you only leave the List option enabled, the FLIP TO… button will be removed. Initial Control defines which display type will be used as the initial one.

Additional options for associated lists 4.5.4.7_4

 

 

4.5.4.8 Placeholder text

If you want to advise your users what to enter into the field, you can use this feature. Placeholder text is text that’s displayed in an empty field and provides either a hint to users at what to enter into that field, or some specific instructions. Once user taps on the field to enter data there, the placeholder text is cleared.

There are two options for how to enter such text. One is a static one, by using Localization, and the other is both, static or dynamic, where you set placeholder text by using the edit form Rules.

 

 

Localization approach

You need to navigate to project’s level (or organization level) localization and add a new localization string.

As an ID, please enter the entity name, field name and empty in form: entity_name.field_name.empty

Placeholder text 4.5.4.8_1

 

 

Edit form Rules approach

When using edit form Rules, you can set a placeholder text as a static string or change it dynamically.

In this example, in OnChange rule, the placeholder text for address1_line1 is static and when user enters data to the address1_line1, the placeholder text for address1_line2 and address1_line3 shows up.

Placeholder text 4.5.4.8_2

 

4.6 New UI

Warning: If you want to use the New User Interface, it’s recommended to start with importing the default project into Woodford. It’s available for download HERE. Please extract the .woodford file from the .zip before importing it into Woodford.

This project contains preconfigured settings of views, forms and images. These settings ensure the New UI will behave correctly.

Building a New UI project consists of two parts. Creating Hubs and setting up Flexible Forms (simply put: a new way of displaying fields and associated lists).

 

 

4.6.1 Hubs

Hubs combine records that have something in common. These can be records that represent user’s customers (like Accounts, Contacts and Leads) or are a part of the sales process (Leads, Quotes, Opportunities, Orders, Invoices) etc.

In hubs, you can display not only the records themselves, but also associated records that help users access more information from one place.
 

Note: Deciding how to combine entities into hubs is up to you, it all depends on how you use your CRM and what makes sense in your case. The only restriction is: the entities merged into one hub need to have a common type of field that will affect the sorting of the view (e.g. for accounts, contacts and leads the common field can be the name. For activities, it can be the scheduled end date).

 
Hubs 4.6.1_1

For example, you can combine accounts and contacts into one hub. For Accounts, you can show associated activities, opportunities and contacts. Users will see the latest communication with the account, its opportunities and contacts directly, without the need to go to account’s form and search for the needed information. On the other hand, for the contacts you can decide to only show the parent account and related activities.

When you create a Hub (or edit a default one), you need to specify the structure of the entities and its views according to the data that will be displayed in the hub.

 

 

4.6.1.1 How to create a hub

  1. Add Group – You can have one or more groups in a Hub. The purpose of the group is to have entities of a similar type together. It allows users to filter the Group sections in Hub’s view more easily.
  2. Add Merged – Here you can specify a section, which will combine the views and display resulting records. Only records from one merged section can be displayed at once.
  3. Add View – Add the views to be used for the selected Merged section.

How to create a hub 4.6.1.1_1

 

 

4.6.1.2 Drill down

Drill down serves for specifying the associated or parent views that will be displayed when users expand the record in the view (just like in the example of Accounts and Contacts described above).

In this case we add a list of related opportunities to an account. If user sets a view that has a filter, this filter will be applied and only opportunities that fit the view filter will be shown (e.g. show only opportunities where estimated revenue is higher than $10 000).

Drill Down 4.6.1.2_1

 

 

4.6.2 Flexible forms

The flexible form is a replacement of tabs. Now user can put record’s fields, associated views and other items into one screen, so the users get a perfect overview of any record at a glance.

  1. In project’s Configuration section, user needs to enable the use of Flexible forms (if it is not enabled, the old UI using tabs is applied). In this section, user can also set how the form will be displayed by default (whether it should be opened full screen or in one column). This is a tablet only option, the form is always displayed in one column on phones.

Flexible Forms 4.6.2_1

  1. For each entity form, user can set its specific layout:
    1. Flexible Form option
      • Project Default – Form is displayed in old or new UI, depending on Flexible Form option in project’s Configuration.
      • Enable – Enables the New UI Form.
      • Disable – Form with tabs will be used.
    1. Layout (Applicable for tablet devices, when form is in full screen)
      • Single Panel – Form is displayed in one column, all items are below each other, like on phone devices.
      • 2 Panel Auto – Right or left panel covers more space (depending on the content – which panel has more items on it).
      • 2 Panel Left – Left panel is larger.
      • 2 Panel Right – Right panel is larger.
    1. Full Screen
      • Project Default – Form follows the project’s settings.
      • Enable – Form is opened in full screen.
      • Disable – Form is opened in collapsed mode (like in old UI).
    1. User Resize
      • Project Default – Form follows the project’s settings.
      • Enable – User can resize the form (switch to full screen or to collapsed mode).
      • Disable – User cannot resize the form.

Flexible Forms 4.6.2_2

  1. Each form’s item can be further configured:
    1. Side – To set whether the item should be displayed on the left or right side. By default, the detail item (where you can add entity fields) is set to be on the left side and associated or unrelated list is on the right. Users can rearrange it as they wish.
    2. Header – What to show on the item’s header. Options are:
      • Hidden – Item won’t have a header.
      • Icon & Label – Both, the icon and the label (name of the item), will be shown.
      • Label – Only the item name will be shown.
    1. Width – User can set the item’s width for one (small) or two (large) columns.
    2. Height – User can set the number of lines per each item. Only this number of records will be seen at first, the rest will be reachable by scrolling within the list. Or it is possible to set the height in pixels. To learn more about it, please check this WEBINAR.

Flexible Forms 4.6.2_3

  1. It is also possible to set the form’s associated list properties. For more information please check the Form section – associated list setup.

 

4.7 Dashboard

Dashboard views provide access to the most necessary information from various entities in one place. You can add Charts, Views and Iframes there. You can also create multiple dashboards and place them separately into Home.

To add a chart to the Dashboard view, first you need to create/import the specific chart for the desired entity, that will be used on the Dashboard View.

 

 

4.7.1 Charts

Charts can be used in two cases. In Dashboard, you can add the desired chart(s) or flip the list view into a chart view. In case of the Chart view, if you have more charts, you can switch between them just like with multiple views.

You can create more Charts for one entity or you can import a chart, that already exists in the CRM.

Charts 4.7.1_1

First, you need to select the desired item from the Legend Entries field (in our case the Total Amount) and the desired aggregation function (Sum). Available functions will differ according to the item’s type. Next item is the color set for the selected legend entry, and you can set the limit for records shown in the chart.

Mobile CRM supports multi series chart, so that you can add a new legend entry by clicking on the Add a series option.

Then you need to select the Horizontal Axis Label (e.g. Customer) and choose the type of the Chart. You can choose from Bar, Column, Line and Pie chart types (Pie chart is not available when you have multi series chart). Save the changes when the chart is ready. You can also select additional fields and apply filters to adjust the displayed data.

Similar steps are required to make a Case Chart. For example: First we need to create a new Chart in Case Entity and use the Case field item as Legend Entry, Count: All as function, Customer as Horizontal Axis label and Bar chart type. In this case we set the Limit to Top and enter 10 into the field. It means that the maximum number of cases shown in the chart will be 10. After that we just need to save the Chart and will go back to the Project screen.

Charts 4.7.1_2

You can also define which fields will be available to users when performing Drill Down, or whether to enable Drill Down at all.

Hint: An example of multi series chart setup can be found in our Blog Post.

 

 

4.7.2 Creating a Dashboard

As a default option, there is already a dashboard called DashboardForm. When you open it, you can remove the pre-created items by selecting it and pressing the Delete button.

You can add View, Chart and Iframe items by selecting an empty slot and press the appropriate button from the toolbar.

In case of Views, you need to specify the entity and view(s) that will be available for users. If you select more than one view, users will be able to switch between them. A View, that’s set as an initial one (not required) will be selected, until you change it. It will be selected again after restart of the Mobile CRM app.

Creating Dashboard 4.7.2_1

You can also define whether you want to enable Search on the Dashboard view, and whether to allow users to add records to the entity in Dashboard view.

In case of Charts, you need to specify the entity and chart. You can leave it on automatic and the first chart in alphabetical order will be used, or you can specify the chart manually.

Creating Dashboard 4.7.2_2

In case of Iframes, you just need to enter the URL.

The number of items placed on the Dashboard can be set by adjusting the number of Columns and Rows. You can also combine two and more windows into one by dragging the right or bottom border of the window to the right or down.

Hint: An example on how to adjust the Dashboard can be found in our Blog Post.

 

4.8 Managing entities available on the Mobile CRM application’s Home screen

To create a new Competitor entity, that’s accessible from the Home screen, you need to add it to the Home list then click Home, that appears in the Project list on the left. Then you only have to drag and drop (or double-click) the Competitor field from the right column (Available Items) to the left column (Home).

Managing entities 4.8_1

When all changes are done, the customization needs to be published, so the device will download and use it at the next synchronization. To do so, you just need to click Publish all.

Now you need to run the app on your mobile device and tap the Sync button. You need to make sure you log in as a user with Salesperson role (the role we created the customization for). A newly added Competitor entity should be displayed on the home screen after the synchronization.

You can add or customize any other entity or custom entity in the same way as described in this guide.

 

 

4.8.1 Home Item’s properties

Here you can customize the properties for the entities on Home.

Public View tab – It displays the views that are enabled/available to users when they open the Home entity item. E.g. user can have more than one Home item of the same entity, each with different views.

Home Item's Properties 4.8.1_1

Charts tab – If you define any chart for the entity, you can specify which charts will be enabled/available for users. You can specify which enabled chart, will be used to visualize data.

Calendar tab – If you have a Date field defined for at least one of the views that’s enabled on the Home item, you may flip the view to calendar view. If it is the case, you can specify the calendar properties on this tab.

Home Item's Properties 4.8.1_2

Properties tab – Here you can define whether users will be able to create new records (option Create New), and what options to flip the view the users have, and how to visualize records. For example, if you allow only a Chart (option Show records as Chart), users will only see the defined chart. If there are more charts enabled on the Charts tab, you can switch between different charts, but not between different ways of visualizing records, only as Charts.

You can also define the initial control, a way of displaying records when you select the Home item.

Home Item's Properties 4.8.1_3

Map tab – Since Woodford version 10.2. it is possible to set up initial map position and zoom when switching from list view of entity to map view.

To set it up go to Home section -> choose entity -> click on Properties -> choose Map -> enter initial coordinates or use ‘From Map’ option to manually choose initial map position and zoom directly from the map.

4.8.1_4

Note: Initial map position and zoom can be also defined for Associated Views (Tabs) of entities. To set it up repeat the process described above for Associated View which can be found on entity’s edit form.

4.8.1_5

 

 

4.8.2 Home Groups

You can group home items (Entities and other features) under custom groups.

To add a new group, you need to click on the Add Group button located on top right – this will open a new section on the left of the home column and it will be called Groups.

Root, as the name suggests, is the main level of the home items and groups (visible at the start of application). A sub-level for the groups can be created by clicking on a group in the Groups section and then clicking again on the Add Group button.

Home Groups 4.8.2_1

Note: Green color highlights position of the same Group in GROUPS section and then in HOME section.

Home Groups 4.8.2_2

To Rename or Remove the Group, you have to select the Group in the Home section (not in the Groups section) and then you can click on the respective Rename and Remove buttons in the top toolbar.

Groups can also have their own images just like any other entity – when adding image, use the same name as is the name of the Group.

 

4.9 Social

Social 4.9_1

 

 

4.9.1 Chat

First, you need to enable Chat and save the changes. To be able to access chat for all records you follow, you need to place Chat on Home. If you want to be able to use Chat to comment on records, you need to place the Chat Wall on the entity form.

Chat 4.9.1_1

Note: Chat works only when Internet connection is available. Chat uses Push Notifications to notify users about new messages, when Mobile CRM application is not running.

To see how the new, redesigned chat works, please check these webinar sections:

LINK 1

LINK 2

 

 

4.9.2 Activity Feeds (Dyn CRM)

 

 

4.9.2.1 Prerequisites

To be able to enable the Activity Feeds on the Mobile CRM, you need to make sure you have a working Activity Feeds Solution on your Dynamics CRM server. If not, you can follow this “How to install Microsoft Dynamics CRM Activity Feeds” guide on how to add and configure Activity Feeds on user’s Dynamics CRM server.

 

 

4.9.2.2 Setting up Activity Feeds using Woodford

At first, you need to navigate to Social section in the project and enable Activity Feeds and save the changes.

Then, if you want to access all news, you need to place the Activity Feeds to the Home.

You can also add the Wall to the entity’s Edit form so you can see all news assigned to the currently opened record. To do so, you need to open the Edit or Contact Information Form of e.g. the Account entity and click on the ADD WALL icon on the toolbar (in case of the Contact Information Form, click on the Form prior to the last step). In the end, you just need to save the changes and publish them.

Setting up Activity Feeds 4.9.2.2_1

Note: Activity Feeds work only in Online Mode.

 

4.10 Branding

In the Branding section of the project, there’s an option to set the custom information about the application. You can change the name of the Manufacturer, the Title of the application, Subtitle, Website and Support Email. You can enter your company’s support email address if you want to take care of the first level support on your own. In this case the logs from the application will be sent to the specified email.

When you change the title, it will be used as application name, application’s title on the main screen.

Remaining information is shown in the About section.

Branding 4.10_1

You can also design the About section in the same way as Views are designed, so you can remove/change the information displayed there.

Branding 4.10_2

It is also possible to add a custom icon, e.g. company logo on the home screen (iOS only so far). To do so, you need to go to Images section in the project and add a new item.

We will set Home as Directory, MonoTouch (iOS) as platform, we will set the DPI (XHDPI is for retina displays) and the Name must be exactly “Image”, without quotes.

Branding 4.10_3

Then we can add the other DPI by scrolling down to the Image (Home) item.

Branding 4.10_4

 

4.11 Auditing

In the Auditing section of the project you can set what kind of action will be recorded on selected entities by using the Mobile CRM application. Then it will be sent to the CRM server when the application is synchronized. You can track the time and GPS position (the device must contain the GPS chip) when the action/change was performed. It‘s also possible to record the time and location where the synchronization was performed.

You can track application’s state events, and that is whether the application is running, it’s terminated, paused (put to background) or resumed (put back to foreground).

If you want to audit the movement, you can use the Track GPS position changes, where you can set the Delay and Distance of the GPS position. If the device moves for the defined distance after the set time interval expires, the position is recorded.

Auditing 4.11_1

 

 

4.11.1 Auditing on Server Side (Dyn CRM)

On server side, you need to go to Settings -> Auditing under MobileCRM section. There are two options: To check the Mobile Auditing Records or to view them on Map with the Mobile Auditing Map.

Auditing on the Server Side 4.11.1_1

If you receive an error message (like the one displayed below this) after trying to open the Mobile Auditing Map, you need to enter the Google Maps API key to your CRM server.

Auditing on the Server Side 4.11.1_2

To enter this key, you need to do what the next chapter describes.

 

 

4.11.1.1 Entering Google Maps API key

To use the Mobile Auditing Map, you need to own the Google Api Key v3. To enter it, you need to navigate to SOLUTIONS section and double tap on the Woodford solution. It will open the solution and at the first screen, you will find the field where you need to input the Google API key.

Entering Google Maps API key 4.11.2_1

Different and more complicated way to do the same is this: While on the Dynamics Server, you go to Settings, select the Customizations under Customization section and click on CUSTOMIZE THE SYSTEM.

Entering Google Maps API key 4.11.2_2

Then you need to select Web Resources to open the Global properties for Map Providers.

Entering Google Maps API key 4.11.2_3

In Web Resources: Global properties for Map Providers you need to click on the Text Editor to add the Google API key to the script file.

Entering Google Maps API key 4.11.2_4

Last step is entering the Google API key to the selected area, specifying the key into googleMapsApiKey field and leaving googleClientID null:

googleMapsApiKey: "EnterYourGoogleApiKeyHere",

googleClientID:null,

Entering Google Maps API key 4.11.2_5

If the “null” is removed from code – user’s code will not be valid Javascript.

 

 

4.11.1.2 Adding Mobile Audit records on the server form

To also add the Mobile Auditing tab on the CRM server form, go to the Settings -> Customizations -> Customize the system on the CRM server, and select the Form on e.g. User entity as it is the most relevant entity for the Auditing functionality. Then click on IMPORT and add or select the tab where you want to add the list of user actions and click on Sub-Grid. Fill in the unique name and select the Mobile Audit (Created by or Modified by) from the list of primary data source entities after that.

You can also set the View selector to show All or selected Views (there are some predefined views for the Mobile Audit entity like Today, Yesterday etc.).

Adding Mobile Audit records on the server form 4.11.3_1

 

 

4.11.1.3 Adding Mobile Audit map on the server form

If you use the Google Maps API key, you can add the user activity visualization map. You need to go to the Settings -> Customizations -> Customize the system on the CRM server and select the Form on e.g. User entity as it is the most relevant entity for the Auditing functionality. Then you need to click on IMPORT and add or select the tab where you want to add the list of user actions and click on WEB RESOURCE. There you need to select resco_MobileCRM/MapIframe.html Web resource. Then just set the name and make sure to check the „Pass record object-type code and unique identifier as parameters“ option, as it will show only the records that the observed user made.

Adding Mobile Audit map on the server form 4.11.4_1

Note: Server support for Auditing is now available for Resco Cloud, Salesforce, CRM4, 2011, 2015 and Dynamics 365. Salesforce is a special case because with it, the records are saved on Resco Cloud.

 

 

4.11.2 Auditing in Mobile CRM application

Since version 10.1 of Resco Mobile CRM app, it is possible to see aggregated Auditing data in the mobile application, not only on CRM server.

To see it in action and how to set it up, please check this part of the WEBINAR.

 

4.12 Images

You can change the default images and icons or add images for custom items (such as map pins, entity icons, form tabs icons and command icons) in the IMAGES section.

The list shows all the available image items with their dpi variants, for each platform. You can filter the list by using the Platforms and Directories filters.

For an easier orientation, you can disable those platforms that you are not interested in (don’t want to change the icons of).

Images 4.12_1

You can also disable the directories (sections) that you don’t want to be shown.

Images 4.12_2

 

 

4.12.1 Changing a standard image

If you want to replace a standard/default image with one of your own, first you need to locate the existing icon and then double-click on it.

Note: Items are listed in alphabetical order, first the Directory/Folder and then the name of the item.

Changing a standard image 4.12.1_1

In the Edit Image window that will pop up, you need to click on the no image icon to be able to upload a custom icon from your computer. To return to the default icon, you have to click on the DELETE button.

Changing a standard image 4.12.1_2

Once you’re done, you just need to save the changes.

 

 

4.12.2 Adding a custom image

If you want to add a picture to the custom item, you can use the default directories or you can create your own directory, where you can store custom images. To do so, you need to go to Directories list and click on NEW DIRECTORY.

Adding a custom image 4.12.2_1

To add a new image, click on ADD on the toolbar.

Adding a custom image 4.12.2_2

In the Add Image window, set image’s properties.

Adding a custom image 4.12.2_3

You need to specify the Directory/Folder, where the picture will be placed in, the platform, target DPI and name of the item, for which you are adding the picture.

Hint: Please check the appropriate section/example for specific item properties, e.g. map pins, tab icons, view icons…

List of platforms:

  • MonoDroid – Android devices
  • MonoTouch – iOS (iPhone, iPad)
  • Windows – Windows Tablets

Then you need to click on the no image icon and upload an icon from your computer.

Adding a custom image 4.12.2_4

Other DPI versions, or images for other platforms can then be added in simpler way. You just need to locate the newly added image and continue adding images by double-clicking on the no image icon dedicated to other platforms.

Adding a custom image 4.12.2_5

Then you just need to click on the custom no image icon and upload your icon.

Adding a custom image 4.12.2_6

Adding a custom image 4.12.2_7

All you need to do now is to save the changes and publish the project.

 

 

Colorize

If you want to use your picture in the same way as default pictures are used (i.e. picture follows color selected in the theme or view style) you need to enable the Colorize option. It will create a mask from the picture, you add. The picture needs to have an alpha channel. Everything, where alpha is different from 0, will be used as a mask and it will follow the color set in theme or view style.

 

 

4.12.3 Bulk change/import of custom images – Advanced

Bulk import is done by importing a specifically named zip file that contains the images in a specific folder structure – the best way to explore the folder structure is to download the icon package from our WEBSITE. Once you have the file, you need to remove the directories and files that you don’t want to change. This way you won’t need to worry about getting the names of the folders or the structure of the folders wrong.

Please note, that different devices have different screen capabilities, and therefore there are different directories for them (like the Platform option in Images section in Woodford, when adding a new image).

  • MonoDroid – Android devices
  • MonoTouch – iOS (iPhone, iPad)
  • Windows – Windows Tablets

Example: We want to place the image into the home section of the app – first, we need to place the image file into the subdirectory Home of the MobileCrm.zip file. The names and sizes of the actual pictures have to follow existing ones as they differ per platform. In this example case, we will add a picture for the iOS.

If users use newer and older iPad/iPhone devices, they need two sizes of the image – this is because the older apple devices have screens with a smaller resolution. Android devices are also divided by LDPI, MDPI, HDPI, XHDPI according to the resolution of the app (you can regulate this in the Android app’s setup).

That’s why we will need a small and a large image version that has a suffix @2x (e.g. account@2x.png). Please check the dimensions of existing images for the reference. Also, the Tabs directory can be interesting for us, if we want to change the images of the associated views. The name prefix of the image for the entity (on Home screen) should be the logic name of the entity. It can be checked in Woodford.

E.g. If we want to add only one image to the home screen for our custom entity with name cust1 and overwrite the default image for invoices, we have to create a zip file with the following structure.

MobileCrm\Images.MonoTouch\Home\cust1.png

cust1@2x.png

invoice.png

invoice@2x.png

To import the file, we just need to go to the Woodford/Images, there we click on the IMPORT button on the top toolbar and then select this zip.

Bulk change 4.12.3_1

After the import is done, we can verify the added images by searching for them in the list (use the filters Directory and Folder to get a quicker access to the images) or it can be verified by exporting the Images.zip, or by exporting the Mobile Project, adding an extension .zip to it and inspecting it. Images.zip file should be in the root.

Note: The zip should only contain images you want to replace or add, so if you use the sample zip, you need to remove all the default images, otherwise they will be used twice in the project, and the project will increase in the size, resulting to possible problems in synchronization, and increasing the time of synchronization.

 

4.13 Configuration

Configuration section serves for customizing some of the Resco Mobile CRM mobile application settings remotely. You can also prohibit users from modifying the settings. Each option has a description, and some specific options are specified below.

In the rightmost column (Default Value), there are default values as they are set in the out-of-the-box version that can be downloaded from the stores or from our website.

If you want to set any application settings remotely, you can do so in Woodford.

If it’s necessary to prevent the users from changing the settings in the Mobile CRM Setup, you have to tick the Lock checkbox. If you want to change only the default settings and you want to give users the possibility to change the settings, keep the Lock checkbox cleared and the settings will be set only when the project is published (Mobile CRM application shows the message “Application was updated” after synchronization).

When the Lock option is used for Configuration’s Accounts section, these options will hide from Resco Mobile CRM app’s Setup.

The Value column is used to define the value of the setting.

Any changed option is highlighted in Bold.

Configuration 4.13_1

For more info please check this GUIDE.

 

 

4.13.1 Configuration examples

Client Customize setting does not use the Lock checkbox. If you leave the Value checkbox ticked, users will be able to use the Data part of the Setup and enable/disable entities. If you clear the Value checkbox, users will not see the Data part anymore and will not be able to enable/disable entities.

Multi Thread Sync does not use the Lock checkbox, as this setting is not available in the Mobile CRM Setup. This option is enabled by default, but if users experience synchronization problems, it can be turned off.

Use Database Encryption does not use the Lock checkbox, as this setting is not available on the Mobile CRM Setup. Local database is encrypted by default on the mobile devices. It can be disabled though.

Save Signature As PNG – If this option is enabled and value set to true, the signature files will be saved as .PNG files instead of .SVG that is used when the value is set to false.

If you have an automatic field mapping set up on the CRM server, by enabling Use Entity & Attribute Map, you will enable the same functionality in the Mobile CRM application.

Background synchronization – You need to set Require Sync Login option to False and Save Password to True.

Automatic synchronization – Please check our BLOG POST.

 

 

4.13.2 Duplicate detection (Dyn CRM)

The purpose of Duplicate detection is to discover duplicate records, such as:

  • Accounts using the same name
  • Contacts using the same e-mail address

Duplicate detection rules are to be set on the CRM server (for more info, go to LINK). Mobile CRM application does not create any rules on its own; it may be directed to make use of the CRM server rules.

If you do so, then whenever an entity record is saved, this record is compared against the existing records to find the possible duplicates. If there are any, MobileCRM application displays a warning and users get a chance to edit the data.

This process is called duplicate detection and can be set up to work in various ways. In particular, you need to set up the Duplicate detection mode as either DISABLED (no detection is done), ENABLED or ALWAYSONLINE.

Enabled mode works as follows:

  1. If MobileCRM is in offline mode: The local database is checked for duplicates by using the local rules. (Duplicate detection is stored in system entities duplicaterule and duplicaterulecondition. These entities physically contain the duplicate detection rules. They are originally stored on the server (server rules), but once enabled, the synchronization will copy the rules to the local database thus creating the local rules.)
  2. If MobileCRM is in the online mode: The server database is checked for duplicates by using the server rules.

AlwaysOnline mode differs in a single aspect: It always (even if Mobile CRM app is offline) looks for duplicates in the server database.

Note: Make sure that the SyncFilter does not exclude rules that are needed for the duplicate detection. Also, do not disable these entities in Woodford.

 

4.14 Global Maps

In Global Maps you can create items, which will display the selected entity records on the map, in the Home section.

You can edit the default Map or create a new one. You can add any entity in global map editor. You need to specify the used entity View. This view needs to have enabled GPS fields: Either entity fields or GPS fields from the parent record (Regarding that, please check this EXAMPLE).

If you enable Is Initial checkbox, that view will be enabled by default on the Map.

Global Maps 4.14_1

To be able to show records from this entity on the Global Map on the Home section, these records need to have GPS coordinates entered as latitude and longitude fields. To learn more, please check the PREREQUISITES.

 

4.15 Calendar

You can add any activity entity to be available on the Calendar. Custom activity entities are also supported. For calendar, you can set various constraints and different color rules. You can also create multiple calendars. Each calendar can have different activity entities displayed and different constraints and rules applied. The calendars need to be placed in Home separately.

When an existing calendar (Tourplan) is opened, or a new one is created, you have various options to set for it.

 

 

4.15.1 Views

Views tab serves for selecting the entity views, which will be available in the calendar. This also defines which activity entities will be available on the specific calendar. You can select the default entity and the initial view that will be set each time the calendar is opened.

Views 4.15.1_1

 

 

4.15.2 Offline Maps

In order to use the offline capabilities of the Offline mode in Resco Mobile CRM application fully, it is possible to use Offline maps. To learn how, check this PART of a webinar and this FOLLOW UP.

For more info on Mapbox and offline map custom styles, check this DOCUMENT.

 

 

4.15.3 Constraints

In Constraints section, you can set the calendar limitations.

With Date Range you can set the date when users can create activities from the calendar.

Time Range sets hours, when users can create activities from the calendar.

Day Filter specifies which days are available on the calendar, and when users can create activities from the calendar.

In Tabs you can enable/disable calendar views/tabs.

Constraints 4.15.3_1

 

 

4.15.4 Rules

It is possible to control the color of the calendar entries based on the Rules functionality. This is similar to Form Rules, so prior form rules knowledge and experience is necessary.

You can set different rules for specific activity entity, or you can setup Global Rule, where you can for example disable the drag & drop functionality for a specific entity.

Rules 4.15.4_1

The rule can look like this:

Example – We want to color appointments according to the subject. When the subject of the appointment contains the “meeting” string, we want to color this Appointment in orange color (#FFFF9000 color).

Rules 4.15.4_2

Color is changed by clicking on Add Step and selecting Color from the dropdown, then entering the color value (##AARRGGBB, AA = Alpha/Transparecny, RR = Red channel, GG = Green channel, BB = Blue channel) into the text box in the Assign operator.

It is also possible to add the drag & drop disabling.

Rules 4.15.4_3

To find out how to customize labels of your Activities, please check out this quick GUIDE.

 

4.16 Events & Reminders

This option defines how to display personal events in the app’s calendar, or how to show CRM events in device’s native calendar – available for iOS 6.0+, Android 4.0+. For other devices, only the reminders of the CRM events are available.

Note: For more info about Reminders, be sure to also read this BLOG POST.

 

 

4.16.1 CRM events in the personal (device’s native) Calendar:

To display MobileCRM events in the mobile app’s Calendar, you need to navigate to Woodford’s new tab called ‘Events & Reminders’.

CRM events 4.16.1_1

In this tab, you can define which events will trigger reminders, as well as which ones will be displayed in the personal app.

Every event type (entity) has following integration options:

CRM Events 4.15.1_2

  • Reminder Only – When the activity is due, and the Mobile CRM app is not running in the foreground, a reminder will be shown to users.
  • Show in Calendar – CRM events are displayed in native system calendar (a new calendar called ‘CRM Events’ will be added). This option includes also reminders. It does not allow users to edit CRM events within the native device’s calendar.
  • Sync with Calendar – Any changes of CRM events made from the native calendar app will be reflected in MobileCRM app. This option includes also reminders.

 

 

4.16.1.1 Filters

You need to set a filter for each entity by clicking on ‘Define Filter’.

Only those records that meet the filter criteria will trigger reminders/be displayed in the system calendar.

Filters 4.16.1.1_1

To force users to have reminders/CRM events on the device calendar, the Settings need to be locked (mobile users won’t be able to change them). In ‘Configuration’ tab, ‘Use Reminders‘ option needs to be enabled and you need to click on ‘Lock’.

 

 

4.16.2 Personal events in the Mobile CRM Calendar:

The option to display personal events in the Mobile CRM Calendar can be set by each user within the app itself. This option is disabled by default but can be enabled by turning on the ‘Private Calendars‘ option in the application’s Setup section.

System admin can change this default setting or enable/disable this option. For this, he needs to go to Woodford’s Configuration tab and click on ‘Show Personal Events‘.

Personal events 4.16.2_1

If ‘Show Personal Events’ is enabled and the value is set on TRUE, users will have their personal events displayed in the Mobile CRM Calendar by default. If it’s set on FALSE, personal events will not be displayed in the Mobile CRM Calendar.

The ‘Lock‘ option will lock the setting, so that mobile users won’t be able to change it within the app.

 

4.17 Color Themes

In Color Themes section, you can change different colors for the app and give Mobile CRM app e.g. corporate branding.

Color Themes 4.17_1

Setup is WYSIWYG, so you can click on any sections on the preview to change its color. The changes will be shown immediately in the preview.

Color Themes 4.17_2

If you want to see all items, the color of which you can change, you need to click on Show Color List.

Color Themes 4.17_3

Hint: Colors set for ListForeground and ListSelForeground for Views and TabForeground and TabSelForeground for tab are also used for icons, that were Colorized, when importing via images section.

It is also possible to create separate color versions for different platforms. Platform dependent changes will be used instead of the All Platforms color theme.

Customize – ios – Apple iOS platform

Customize – android – Google Android platform

Customize – win – Windows desktop, application, installation file of which can be downloaded from our website

Customize – winrt – Windows RT, 8, 8.1 Metro style applications available from Windows Store

Note: WinRT only accepts foreground color changes.

Color Themes 4.17_4

At the bottom, there is the Palette – list of colors that are used in the current theme. By changing the palette color, all items that use this palette color will be changed accordingly.

Color Themes 4.17_5

After using the LOAD PRESET button, all changes will be reverted back to the default setting.

You can export the current theme setup and save it by using the EXPORT button (to use it in another project for example). IMPORT will import a theme setup and apply it.

Hint: You can check our Blog post about Themes for an example of work with Themes.

 

Note: View styles set for specific field(s) on a view have higher priority and override the theme color settings. To learn more about view styles, see the section 4.4.3. You can also check Row scripts, section 4.4.6.

 

4.18 Documents (External Document/File Integration) on DropBox, Google Drive and SharePoint

If you don’t use CRM attachments only to store documents and files, you can integrate additional services with Mobile CRM app. Currently SharePoint (in the next section), DropBox and Google Drive are supported. It means that you can attach documents/files to CRM records in Mobile CRM app and decide where these documents/files will be actually stored.

To enable DropBox and Google Drive, the Enable Documents option needs to be enabled in Documents section of the project.

Documents 4.18_1

Then you need to add Cloud Documents List to entity forms, so that users can access documents associated with entity records.

Documents 4.18_2

Finally, you need to go to Mobile CRM app’s Setup and login to DropBox or Google by using your credentials (credentials to company profile).

Hint: All documents, that you want to access, need to be downloaded to the offline database, even if you want to use Mobile CRM app in Online mode.

 

Hint: For more information about Document integration please check this SECTION of one of our webinars.

To get deeper insight into the External Document integration, please read this set of technical deep dive articles about the Document integration:

LINK 1

LINK 2

LINK 3

LINK 4

 

 

4.18.1 SharePoint Integration server side prerequisites (Dyn CRM)

Mobile CRM application supports both Sharepoint List Component base integration and Server-Side Integration.

Both will result in the creation of the required records, the difference is in the CRM web UI, which is not important for Mobile CRM.

The List Component is deprecated, but please read the following GUIDELINES to make sure you pick the right choice.

Mobile CRM requires that sharepointsite and documentLocation records are correctly configured. This means that these records must exist:

  • At least one sharepointsite record with the sharepoint url
  • At least one documentLocation per Sharepoint-enabled-entity root
Warning: You should never create these records manually! You need to use the Document Management Wizard in Dynamics CRM, then go to Settings -> System -> Document Management and click on Document Management Settings.

SharePoint Integration sever side prerequisites 4.18.1_1

Follow the Wizard:

  • Selecting entities that shall have Sharepoint documents integration
  • Entering the Sharepoint Site URL

Optionally select the Folder Structure and Automatic folder creation.

SharePoint Integration sever side prerequisites 4.18.1_2

SharePoint Integration sever side prerequisites 4.18.1_3

Once the Wizard finishes, enable SharePoint in Woodford.

 

 

4.18.2 SharePoint Integration

If you have SharePoint integrated in your CRM and you want your users to have access to SharePoint documents from Mobile CRM application, you can enable and set up the SharePoint Integration in Documents Section in a mobile project.

First, you need to enable Documents and SharePoint by checking the checkbox.

Warning: Enabling SharePoint Integration will also enable SharePoint Site entity in the mobile project. Please do not make any changes to this entity.

Sharepint Integration 4.18.2_1

If you have SharePoint on premise, you can define the internal and external SharePoint server URL.

Then you need to add Cloud Documents List to entity forms, so that users can access or add SharePoint documents, associated to entity records.

Sharepoint Integration 4.18.2_2

If user credentials for SharePoint differ from the CRM credentials, you need to set SharePoint credentials in Resco Mobile CRM application’s Setup. If SharePoint uses different authentication or you use CRM on-premise vs SharePoint online (or vice versa) than CRM, you also need to specify the Type.

 

 

4.18.3 External Document Sync filter options

For reference on how to exclude specific documents from download to the Mobile CRM app’s database, based on the file type, entity, a file they’re associated to, how many and what maximum size per file type etc. and all the options together with other specific information, please check this PART of our webinar.

 

4.19 Business Process Flow (CRM 2013 and later)

Process Flow section of the project serves for enabling the use of Business Process Flow on Mobile CRM application.

First step is to enable the Enable Business Process Flow on Mobile Device option. Then you’ll see a list of all Business Process Flows available on the CRM.

Business Process Flow 4.19_1

Then you can select those Business Process Flows, which you want to use on Mobile CRM application. Now you need to validate all processes that will be used. You can either use Validate Process for any selected process, or use Validate All Processes. This will check if fields, used by process are enabled on the mobile project. If you find the list of fields, that are not enabled, you can simply use the Enable Process Fields button.

Business Process Flow 4.19_2

When OK is visible for each Business Process Flow that you want to use, you can save changes.

Business Process Flow on Mobile CRM application is visualized by an additional tab, where it can be followed.

 

4.20 Favorites

If you want to provide your users with an option to add records to the Favorites section on the Home screen, you need to perform these two steps:

First, you need to navigate to Home in Woodford project and add the Favorites item by dragging it from Available Items to Home column.

Favorites 4.20_1

The next step is navigating to Edit Form on the Entity, the records of which will be available for users that will want to add some to the Favorites list. Then you have to click on the Edit Command button on Edit Form.

Favorites 4.20_2

In Form Commands Editor, you need to drag the Favorite command from Available Commands to the Selected Commands column.

Favorites 4.20_3

You should follow these steps on any other entity, the records of which you want to be available for users to add to the Favorites list.

Once the changes are saved, you can publish the mobile project. Once users synchronize the Mobile CRM application, they will be able to pin records to their Favorites list by using the action button/command on Edit Form.

 

4.21 PIM Integration

For more information about Email integration, please check this SECTION of one of our webinars and the following updates regarding latest features in this area:
LINK 1
LINK 2

In addition, it is possible to send tracked emails directly from within the Resco Mobile CRM application. For more details, please check this BLOG POST (Dyn CRM).

 

 

4.21.1 Google integration (Gmail, Calendar)

Enabling Google integration in the project allows users to link their google account to Mobile CRM application and to see their Gmail emails in mobile CRM, in E-mail activity entity, together with CRM emails and Google Calendar events with CRM appointments.

You can track your Gmail communication and Google Calendar events, and save these items in the CRM.

This can be enabled in Google section of the project by enabling the Gmail and/or Calendar.

With setting the Days to Sync you specify how old the emails should be synced and displayed in Mobile CRM app.

Google integration 4.21.1_1

Email Sync item can be also added to the Home screen, and by using this item, you can synchronize any emails.

Google integration 4.21.1_2

If you add the Email item on the Home section, your users will be able to synchronize the Emails from all enabled integrations. There will be an additional synchronization button for Emails only.

Google integration 4.21.1_3

From user’s point of view, users have to go to Mobile CRM app’s Setup and use the Google option. Then they need to sign in with their Google (Gmail) credentials and allow Mobile CRM app to access their Gmail data, and synchronize.

It is also possible to notify users about the read/unread emails by adjusting the Email Entity View – just by adding the ImageUnread field to the View. An image is bound to this field and when an email is not read a blue line is shown in the field.

You can set any email as read/unread in email’s edit form with the use of commands.

Google integration 4.21.1_4

 

 

4.21.2 Exchange integration (Email, Calendar, Contact)

Enabling Exchange integration in the project provides users with a way to link their Exchange account to Mobile CRM application and to see their Exchange data like emails, calendar events and contacts in mobile CRM, in E-mail activity, Appointment activity, Contact entity, together with CRM records.

When it comes to an Email, you can track your Exchange communication and save Exchange emails in the CRM.

To enable this, you need to go to Exchange section of the project and enable the Email.

By setting the Days to Sync you can specify how old the Exchange items should be synced and displayed in Mobile CRM app.

When you enable the Contact option, your Exchange contacts will be available in Contacts entity in Mobile CRM app.

Exchange integration 4.21.2_1

If you add the Email item on the Home section, users will be able to synchronize the Emails from all enabled integrations. There will be an additional synchronization button for Emails only.

Exchange integration 4.21.2_2

From user’s point of view, users have to go to Mobile CRM app’s Setup and use the Exchange option. Then they need to enter their Exchange Email address, password, and if the auto discovery will not work, also the URL of the Exchange server and User Name (with the Domain if needed).

It is also possible to notify users about the read/unread emails by adjusting the Email Entity View
just by adding the ImageUnread field to the View. An image is bound to this field and when the email is not read, a blue line is shown in the field.

You can set any email as read/unread in email’s edit form with the use of commands.

Exchange integration 4.21.2_3

Hint: For additional information about Exchange Email integration please check this SECTION of one of our webinars.

 

 

4.21.3 Sending Invitations

In order to send invitations to people (records), that should be notified about a specific appointment, you need to follow these necessary steps:

  1. You need to enable Exchange integration in project, at least for Emails.
  2. Go to Mobile CRM application’s Setup.
    • Set up the Exchange account’s credentials and Exchange’s URL. For Exchange online, it usually is https://outlook.office365.com.
    • Set the option “Send Email Via” to Exchange
    • Enable option “Send Invites”.

Then, when an appointment is created and saved an invitation will be sent as follows:

  • Appointment’s Organizer will be used as From in an Email sent as invite.
  • Appointment’s Required Attendees will be added as To in an Email sent as invite.
  • Appointment’s Optional Attendees will be used as Cc in an Email sent as invite.

 

4.22 Route Planning

Route Planning allows users (or their manager) to use Mobile CRM app to create a daily route.

To learn more about Route Planning, please check these sections of our webinars:

LINK 1

LINK 2

Besides that, it is also possible to specify whether a COMPLETE button will be available and required to move to next point or to set the Start time for the route, default duration of the route point and default work location, that can be used as start and/or end for the route.

Route Planning 4.22_1

Since Resco Mobile CRM application version 10.0, there was a redesign of the Route Plan feature. Please check the new design and learn how to work with it in this WEBINAR.

 

 

4.22.1 Route Planning Events

To learn about Route Planning Events, please check this SECTION of one of our webinars.

 

4.23 Tutorial in Mobile CRM app’s About

As you may have noticed, there is a tutorial, describing running the application for the first time after installation. This tutorial is also available in Mobile CRM app’s About section and can be played by pressing the TUTORIAL button.

You can replace this tutorial with your own tutorial, to help your users with some specific aspects of your customized Mobile CRM app.

All you need to do, besides creating the tutorial as HTML, is to name its file as Index.html and upload it to Offline HTML section of the project, to the folder (you need to create it) named exactly GuidedTour (lower and upper cases need to be maintained). The path to this file should be GuidedTour/index.html.

In the HTML, you can use images that can be stored in this folder as well or you can use links to other online/offline content. You can also use JSBridge to access CRM data.

 

4.24 Inspections & configuration in Dynamics

A very common usage scenario for mobile CRM are Mobile Field Inspections.

Inspection survey template is a list of questions which can either serve as source of information for workers or as controlling tool for checking the workflow process.

Check this GUIDE to learn more and to get more detailed info on this topic

 

5. Advanced Topic

 

5.1 Filtered Lookup

Let’s say that you want to add a primary contact field on the Account edit form and want to be able to choose from the contacts that belong only to the specific Account, instead of from all contacts.

First, you need to enable the Primary Contact field on the Account entity.

Filtered Lookup 5.1_1

Next step is to create a new Lookup view for the Contact entity. Let’s name it “Account’s Contacts”. You can also select the HIDDEN option, so that it will not be shown in the view selector in the Mobile CRM application. Add any desired fields to the Primary and Secondary fields.

Filtered Lookup 5.1_2

Now you need to open the Edit Filter, add a condition, select the Parent Customer field, click on the Enter Value field and click on SET VARIABLE on the toolbar (Set variable is only available on the Lookup View Filter). After that you just need to select the Account row with AccountId Primary Key.

Filtered Lookup 5.1_3

The condition should look like the one in the picture below.

Filtered Lookup 5.1_4

Then you need to save and close the Filter, save and close the View, open the Account’s Edit form and add the Primary Contact field to the form.

Filtered Lookup 5.1_5

Now click on the Properties, check the Account’s Contact Lookup view to be available for the Lookup and set it as default view for Lookup.

Filtered Lookup 5.1_6

After you save the form, publish the project and attempt to choose the Primary Contact for an Account, you will only have to choose from the filtered selection displaying the Account’s contacts, not all contacts. You will still have the possibility to change the Lookup view to the default one with all contacts, unless you uncheck the Default View from the Primary Contact Properties on the above picture.

Hint: You can create a filter directly for the specific lookup (also for associated list) on the form. For more information see the Advanced Filtering.

 

5.2 Barcode scanner functionality

You can enable barcode scanner functionality for lookup views and fields in forms in Woodford. It is possible to set any text field’s formatting (Single line of text) to barcode.

Barcode Scanner functionality

If you do so, you need to enable this field for the lookup view (or the default view that is used for lookups) by using Select Fields on the View Toolbar.

Fields that have been formatted to Barcode format will have an action button which will start the scanning process when put into a form.

Barcode Scanner functionality

Then, when the lookup is called (choosing the lookup field from the Edit Form that brings the Lookup view), you will notice a barcode scanner icon next to the Search. When you choose this icon, the camera turns on and when you focus it on the barcode or QR code, it recognizes the value and compares the value with the field set to barcode formatting. If the value is found, the record is selected.

Note: Please note, that the screenshots only refer to the steps you need to make, the field that needs to be formatted and enabled should be the one that is used for actual bar code scanning.

 

5.3 Examples of advanced options

 

 

5.3.1 List and Form Images

To learn more about what List and Form images represent, please check this BLOG POST.

You can also check the example in this BLOG POST about Woodford setup for the List and Form images.

 

 

5.3.1.1 Available for all CRM backends

 

 

5.3.1.1.1 List/View picture from Note

You can add pictures that were originally saved as Note attachments to the View and/or on an Edit Form. This way you can for example show contact’s photo or product pictures on Views or Edit Forms.

To display pictures on a View, you need to do following:

While you’re on a view (e.g. a Public View for entity Accounts), you need to use the Add Image Option and select ListNoteImage. This will add a picture item to the view designer.

List/View picture from Note 5.3.1.1.1_1

You should adjust the size of other fields, otherwise they might be overlaid by the picture.

By default, the Note where the View picture should be attached, needs to have a subject name set to be exactly “ListImage”. This can be changed In the View Style Manager by clicking on EDIT STYLES button, then on the ListNoteImage. To change the Subject name of the Note, you just need to click on ImageQuery field.

List/View picture from Note 5.3.1.1.1_2

By changing the Subject field you’ll set the name of the Note, from where the picture will be taken.

List/View picture from Note 5.3.1.1.1_3

You can also create more ListNoteImage styles in order to use different notes for different Views.

If you use more ListNoteImage styles, you should make sure to set the correct one for the img item.

List/View picture from Note 5.3.1.1.1_4

Now, you need to save these changes, publish the mobile project and synchronize the Mobile CRM application. Then open any Account record in the app, create an associated Note with Subject “ListImage” and attach/capture a picture. This picture will be used in the list for this record.

 

 

5.3.1.1.2 Default and Editable List/View Images

If you use images on Views, and there are some records that do not have any image in their Note, you can display a default image instead, so that there is not an empty slot in the view.

Also, it is possible to set editable images in View. It does not mean that you can edit the image, but you can edit the field, that is represented by it. e.g. option set may be displayed as image, rather that its value as text. And similarly to editable fields, you can change the value with the images.

To find out how to set up these two features, please check this webinar SECTION.

 

 

5.3.1.1.3 Edit Form picture from Note

You can add a picture to Edit Form exactly like to the View. When on, for example an Account Edit Form, you need to click on ADD IMAGE and select FormNoteImage.

Edit Form picture from Note 5.3.1.1.3_1

There will be a new field added – image1 on the Form. You can rename it by using the Binding field (e.g. Account Image). To apply the change, you just need to click on the image field item.

By default, the Note, where the Edit Form picture should be attached, needs to have a subject name exactly “FormImage”. This can be changed in the Style Manager by clicking on Edit Styles button, then on the FormNoteImage. To change the Subject name of the Note, you should click on ImageQuery field.

Edit Form picture from Note 5.3.1.1.3_2

You’ll set the name of the Note, from which the picture will be taken, by changing the Subject field.

Edit Form picture from Note 5.3.1.1.3_3

You can also create more FormNoteImage styles and use different notes for different entities.

If you have more FormNoteImage styles, you should make sure that they you set the correct style for the image1 (or the renamed) item.

Note: If you set the same Note Subject for List and Form view, the image attached to a simple Note will be used for both, View and Form images.

 

 

5.3.1.2 Available only for CRM 2013 and later

In CRM 2013 and later, there is a special picture field, where you can store images of Accounts, Contacts, Leads, etc. If you use this kind of picture field, you can use it also on Mobile CRM application.

First you need to make sure the Entity Image is enabled for synchronization. Contact entity shall be used in this example.

Available only for CRM 2013 and later 5.3.1.2_1

 

 

5.3.1.2.1 Entity image on View

To add a picture to View you need to go there, click on ADD IMAGE and select the ListEntityImage. Then you need to adjust the size of other fields, otherwise they could be overlaid by the picture.

Entity image on View 5.3.1.2.1_1

To preserve the default functionality, it’s not recommended to edit the ListEntityImage style. You need to save the changes and publish the customization (or proceed to setting up Edit Form entity image).

 

 

5.3.1.2.2 Entity image on Contact Information Form

Once you enable the Entity Image field, the default image set for the record will be automatically displayed on the Contact Information Form. No need to perform any further steps.

 

 

5.3.1.2.3 Entity Image on Edit form

To have an Entity Image on an Edit Form, you need to open the form first, click on ADD IMAGE and select FormEntityImage.

Entity Image on Edit form 5.3.1.2.3_1

You can notice a new item – image1 on the Form. It can be renamed to e.g. Contact Image by using the Binding field. To apply the change, you need to click on the image field item.

Entity Image on Edit form 5.3.1.2.3_2

When changes are saved, the project needs to be published and synchronized with the Mobile CRM app. Entity Images will appear on the View and on the Edit Form for those records that have an Entity Image.

 

 

5.3.2 Custom Map Pins

You can set the map pin for different records, according to the field difference. In this case it is an option set. Let’s demonstrate it on a field “Preferred method of contact” on an account entity. In case you want the records on the map to have different map pin according to different value on preferred method of contact, do the following:

First, you need to navigate to the Account view, that is used on global map (or a different one and it will be used on global map view).

Then clicking on the Add Map Pin icon on the toolbar will add a static map pin.

Cusom Map Pins 5.3.2_1

Now change the Binding type to Value.

Hint: If your option set contains labels with spaces or characters not allowed to be used in file name, set binding type to Raw Value. Then in later steps do not use option set’s label, but value (number).

Next step is double clicking on Select… on map pin item in the view and choose the Preferred Method of Contact.

Custom Map pins 5.3.2_2

Custom Map pins 5.3.2_3

Now you need to change the Style. In Style, you can define where the map pin pictures will be taken from.

First, a new style needs to be set up to make it easier in the future. Or you can use a predefined one.

You just need to navigate to Edit Styles, click on ImageCellStyle and click on NEW.

Custom Map pins 5.3.2_4

First you need to click on the arrow at ImageCellStyle and select the new style. Here you need to set the FormatString option. It will tell the application how the picture or map pin will be named and where it is taken from, i.e. where it is stored. You just need to select the folder (in Images section of the project), where you custom pins shall be stored (each picture added to the project needs to be in png format). Now you need to Save & Close the editor. You can use this style also for other pins on different views.

Custom Map pins 5.3.2_5

Then you have to set the Style of the map pins item to the new style and Save & Close the changes.

Custom Map pins 5.3.2_6

Next one is the Images section. You need to click on the Directories, then on New Directory. Here you will create the directory with the exact same name as you have entered for the style and hit CREATE.

Custom Map pins 5.3.2_7

For better orientation, you can uncheck all directories except the newly created one and hit ADD.

There you need to set the Directory to the one you created (Map_Pins), the platform of the desired devices (it’s possible to add image for other platforms later) – MonoDroid is Android, and MonoTouch is iOS. Then set the desired resolution and the Name. The Name represents the name of the preferred method of contact field’s value. In this case it is Any, Mail, Phone etc. By clicking on the “no image” image icon, you can add an image that will be used as a map pin for an account with that value.

Custom Map pins 5.3.2_8

When you click on ADD, you will be shown the whole line for this value, where you can add other resolutions and platform images easier.

As you will be entering other desired values, it may look like this:

Custom Map pins 5.3.2_9

As the final step, you need to go to Global Maps, open the Map where you want to use the customized view and set the View, that contains your newly created pins as the one that will be used for the entity (Account view on the Accounts entity).

Custom Map pins 5.3.2_10

 

 

5.3.3 Appointments on Global Map (Appointment entity does not have GPS fields)

If you want to display records on a Global Map according to position of their parent records (i.e. appointments or service activities), you can simply add parent’s GPS fields in the appointment’s view.

First you need to go to the view that you want to use on the Global Map. Then click on Select Fields button, expand the Account (Regarding) and select its GPS position fields.

Appointments on Global Map 5.4.2_1

Then you need to save changes and navigate to Global Map. You can double tab on the map item, where you want to add the appointment view or select the item and click on EDIT.

Appointments on Global Map 5.4.2_2

There you need to add a new item and specify the entity (Appointment) and View (All Appointments). Only views with GPS field available on the view, are displayed.

Appointments on Global Map 5.4.2_3

 

 

5.3.4 E-mail attachments

To be able to add attachments to emails, you need to enable the E-mail Attachment entity first. Then you need to place the E-mail Attachment List to E-mail entity’s edit form.

E-mail attachments 5.4.3_1

In Mobile CRM app you need to save the E-mail activity in order to be able to add an attachment.

 

 

5.3.5 Form item’s icon and name changes

To have different icons on form items, you need to have unique names of the tabs also.

Therefore you need to rename the items (tabs), and make sure that no item name contains spaces or characters that are not allowed to be used as file names. If you need to have a name where you want to use these “forbidden” characters, you can change the name in Localization (See the next section). Without localization changes, the tab name will be displayed the way it is set in form.

Form items icon and name changes 5.4.4_1

 

 

5.3.5.1 Icon changes

If everything from the previous section is done, you can proceed to Images section.

Tap there on ADD and select a folder, e.g. Tabs. This is to define where the picture will be stored inside the project. Also, if you want to have the same tab names but different pictures on different forms, you can create new folders and distinguish pictures. Then select the target platform (you can add pictures to other platforms later and easier, this is just the initial step) and the desired DPI (other DPI same as with platforms).

MonoDroid means Android and MonoTouch is iOS.

The picture name should be the same as the Tab name.

Icon changes 5.4.4.1_1

For easier navigation, you can disable the folders that you do not need to see.

Icon changes 5.4.4.1_2

Other platforms and DPIs can be added directly in the Images section. You just need to click on the empty picture icon and add the desired image.

In case of tab pictures, only the alpha channel of a png file is used.

 

 

5.3.5.2 Localization of the tab name

To change the display name of the tab (e.g. if you want to use spaces and characters not allowed to be used in file names), after making the tab name unique, you need to go to Localization section. There you open the language for which you want to change the tab name. After you go to Customized App UI section, expand it and search for the Account. Then open then Form subsection (because the tab is located on the account form) and look for the name of the tab. Or you can search for account.detailview.contactsonaccount and change the text in project column.

Disclaimer: Please bear in mind that the space for the tab name is limited, so we recommend using short names.

Localization of the tab name 5.4.4.2_1

Now you just need to save all changes and publish the project.

 

5.4 Mobile Apps

 

 

5.4.1 External (Portal) User project

To learn what the external user option is, go to this BLOG POST.

Prerequisites: You need to have fields (e.g on contact entity) with stored user name and password of the external user. CRM user’s credentials are entered into Woodford and are stored on our licensing server.

So, if you have two fields on a dedicated entity that contain the user name and password, you can move on to creating a project for external users.

You need to create a new project first:

  • Set the Type to EXTERNAL USER.
  • Server Alias will be used in Mobile CRM app’s sync dialog as URL. In this case you enter “external” or “External” into the URL field on Mobile CRM sync dialog. This alias needs to be unique because it’s a project identifier. It needs to be unique among all external/anonymous projects, so that in case a user can’t save a new external project, it usually means that the alias is already taken.
  • CRM User is the user (license) that will be used to access the CRM.
  • Password is the password of the CRM user.
  • Authentication Entity is the entity where the fields with user name and password are stored.
  • User Name Field is the field on the authentication entity where the user name is stored.
  • Password Field is the field on the authentication entity where the password is stored.
  • CustomerId Field is the field that points to the parent entity record, which serves for filtering the records that users see.
  • Customer Lookup Field is the specific field that contains the name of the parent record. This is a part of the authentication that needs to be filled in. Then you can limit the records users will see (by using sync and view filters).
  • Registration Method represents the way users get registered (their records get created in the Authentication Entity).

Then you can customize the project to define what these external users can see and edit.

External User project 5.4.1_1

External User project 5.4.1_2

Under Registration Method option you can change the way a new external user is created:

  • None – You need to create the External user manually in CRM before users can synchronize the app.
  • Direct – You can create a new External user with a registration form, after selecting REGISTER USER on Mobile CRM’s Sync dialog, a record will be created directly on the CRM server.
  • Web Service – Same as the Direct method, but data from the registration form will be sent to the Web Service that you want to use for creating the record. Please contact us if you want more information about this option.
  • Email – Same as the Direct method, but data from the registration form will be sent via an Email.

When you change the Registration Method to Direct, Web Service or Email, an Edit Registration Form option shows up. You need to click on it so you can set up the registration form.

You can place any field from the Authentication Entity there. Of course, the User Name and Password Field should be there as well. You should not forget to add the field used as a Customer Lookup Field that will set up the parent record. For example:

External User project 5.4.1_3

This is how the sync dialog should look like for the above shown setup.

External User project 5.4.1_4

This is the Registration Form that appears, when user clicks on Register User.

External User project 5.4.1_5

Besides the above-mentioned info, you can also check the BLOG POST about setting up an External (Portal) User project.

Also, in this ARTICLE, you can find more about how to set appropriate Sync Filters for External (Portal) User project (Custome App).

To learn how to keep track of record changes made by external users, you can read this BLOG POST.

 

 

5.5 Planner Controller and Field Service

Planner Controller is a part of Resco Mobile CRM and it is available for organizations that are connected to Resco CRM or Salesforce. It helps the Schedule Manager manage the people working in the field during the day/week, it oversees the free resources and helps to manage their work out of office.

This tool provides a graphical overview of task scheduling for each resource, history of the performed tasks, an ability to set only the specific resources from the selected regions or with the specific required skills, ability to set the automatic optimization of existing tasks and many other features.

For more info, check out this DOCUMENT.

 

6. Communication with external applications

You can send and receive information from other applications running on the device. To get more info about these possibilities, please check this PART of one of our webinars.

 

6.1 Mobile CRM app URL Schema example

To open a specific record in Resco Mobile CRM app from other external application, it is possible to use this URL schema, link:

  • mobilecrm://open?{entity_logicalname};{entity_id}

where {entity_logicalname} represents the entity name (case sensitive), and {entity_id} represents the GUID of the record itself.

An alternative URL for Android (which works from e.g. email apps) is:

  • http://resco.net/schemes/mobilecrm?{entity_logicalname};{entity_id}
Note: The record, that the URL scheme is pointing to, needs to be available in Mobile CRM app’s offline database.

 

7. Offline HTML with JavaScript

It’s also possible to use JavaScript to customize Resco Mobile CRM application.

To learn more about Offline HTML with JavaScript, please check these two webinars:

PART 1

PART 2

For more information about the JavaScript development, please check the JSBridge Development GUIDE, which also contains information about debugging the JavaScript code.

You can also check the JavaScript Bridge REFERENCE (a link to the feature that can be used).

There is also a possibility to reuse JavaScript on the Dynamics CRM server side. You can find more info about using it in this PACKAGE (Dyn CRM).