Location tracking

From Resco's Wiki
Revision as of 14:30, 22 October 2021 by Jzambor (talk | contribs) (→‎Authentication error while publishing)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Since the version 11.1, Resco Mobile CRM app can track users' real-time GPS position and send location records to the CRM server.

Key features:

  • It's implemented as a background service activated via Woodford
  • It runs even when the app is killed or running on background
  • It caches data locally until user connects to the internet
  • Users can disable it in the app setup or by disabling the access to the location services
  • By default, it uses Resco's web service for flushing data (real-time flushing option)
  • Alternatively, it can send the location tracking records directly to the CRM server
  • Location tracking data is stored in the CRM as Mobile Auditing entity records. The Owner field is set to user who initiated the tracking event
  • External user mode currently isn't supported
  • It supports Resco CRM and Dynamics 365 backend. Salesforce support is coming soon.

Location data storage and flushing

By default, location tracking uses Resco's web service for flushing data, which is the so called real-time flushing option. Flushing means that the location data is sent to Resco's service if there is connectivity.

If there is no connectivity or Resco's service is not accessible, the location data are stored locally on the device. If during the next attempt the connectivity is restored, all cached data are sent to the service. This approach was chosen because the app cannot have access to user's password when running on background and therefore it cannot access the CRM server.

This requires activation through Woodford by providing valid CRM user and password which is then stored on Resco's server. This login is used for sending all collected organization data from Resco's server to your CRM server. No data is stored on the Resco’s server as all the location records are immediately sent (forwarded) to your CRM server.

Alternatively, the location tracking records can be sent directly to the CRM server via an online web request. Again, if the password is not available, the records are cached locally on the device until the background service gets the password. This can happen after restarting phone/tablet or if OS decides to kill the service due to the lack of resources. When the user provides the password after starting the app, the cached location data are sent to the CRM server.

Registering organization for location tracking

If you want to use the real-time flushing mode, you must register your organization for Resco location tracking web service.

When you switch the real-time flushing mode off, records are sent directly to CRM and no registration is needed.

  1. Select Location Tracking from the Administration menu of Woodford to register your organization for the location tracking web service.
  2. Click User name and select one of the users (email addresses), then click OK.
  3. Enter a password.
  4. Click Register.

This information is stored on the Resco's server which hosts the web service for background GPS position reporting. This is because the app does not have access to the user’s password when it runs on background. The web service then creates records in the target CRM system using this user's credentials.

Authentication error while publishing

When publishing projects, you can run into authentication problems.

  • As the first thing to try, verify that the user name and password are still valid. Unregister your location tracking service user and re-register it. When you save the changes, Woodford will verify that the credentials are correct.

For Dynamics organizations, verify also the following:

  • The account used when you register your organization for location tracking must be granted consent to access organization data. See here for details.
  • Multi-factor authentication must be disabled for the account.

Configuring an app project for location tracking

Add location tracking to your app project:

  1. In Woodford, go to the app project where you want to configure location tracking.
  2. Select Map & Routes > Location Tracking from the Project menu.
  3. Update your configuration and click Save.
Note Location tracking can generate a large amount of Mobile Audit records.

Common options

  • Business hours: Restrict tracking to business hours. Specify time from and to.
  • Business days: Restrict tracking to business days. Select which days of a week count as business days.

Background service options

  • Enable background GPS monitoring: Enable location tracking
  • Request position every x minutes: Specify how often should the position be polled.
Keep in mind that it's not possible to specify the exact time interval for system service. This value is rather a suggestion for the device, how often we would like to get positions. Neither Android nor iOS reports the position more frequently than once per minute. This value prevents our service to flush positions too frequently. It prevents massive battery drain which would be caused by frequent system wake-ups.
  • Optimize for: Select whether you want to optimize the location data for Best Results or longer Battery Life.
  • Enable real-time position flushing via Resco web service: Send changes in the position real-time through the Resco web service or directly to the CRM.

Monitoring options

Customize which entity/view represents tracked users, and which entity/view is used as a visit displayed on the Location Monitor map.

User entity view
Choose user entity and its view defining a set of users or resources that are being tracked. The default configuration uses the User entity. You can select a different entity and view (e.g. Bookable Resource) that will be used in location tracking.
Visit entity view
Choose an entity and its view which should be displayed on the Location Tracking Monitor map along with tracked users trajectory. The default configuration uses the Appointment entity. You can select a different entity and view (e.g. Bookable Resource Booking) that will be used to display the visits on the Location Monitor map. Selected view should contain the following fields: primary field (id), name field, start/end fields, latitude/longitude fields (can be linked from a related entity), owner field (lookup to user entity), status field.

Using location data

Administrators and managers can visualize the gathered location data for each user on a map.

  • The main tool for viewing staff location is the Location Monitor.
  • Alternatively, you can use Auditing to see the collected mobile audit records as a view or on a map.