Auditing
Auditing allows you to define actions in the Resco mobile apps that should be recorded. Collected audit data will be sent to the backend server when the application synchronizes. Auditors can then display audit data on the backend server or even in the mobile app.
There are two types of data auditing:
- Mobile auditing
- Server auditing
Mobile auditing
Mobile auditing lets you track who is performing what operations, when, and where. Utilize the data to find out where the internal processes of an organization do not work as desired. Analyze how much time users spend at customer sites and let the app collect data automatically, based on the administrator's configuration.
Enable collection of audit data
Select Auditing from the Project menu of Woodford to configure auditing in the app project.
- Enabled
- Select to enable audit.
- Include GPS Position
- Track the time and GPS position (the device must contain the GPS chip) when the action/change was performed.
- Log synchronization event
- Record the time and location where the synchronization was performed.
- Log application state events
- Track application's state: whether the application is running, terminated, paused (put to background), or resumed (put back to foreground).
- Track GPS position changes
- 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.
- Table of entities
- For each entity, select which actions should be recorded: Create, Update, Delete, StartEdit, EndEdit. These actions are tracked on the entity level, not on the level of entity fields.
Display auditing data in Microsoft Dynamics server
To see auditing records in Microsoft Dynamics, go to Settings and select MobileCRM > Mobile Auditing. You have two options:
- Check the mobile auditing records.
- View the records with the mobile auditing map. Requires a Google Maps API key.
Entering a Google Maps API key
To use the Mobile Auditing Map, you need to own the Google Api Key v3.
To enter it, go to Settings > Solutions and double-click Woodford. Select Configuration from the menu, enter the Google maps API key, and then click Save.
There's also an alternative way of setting up the API key.
- On the Dynamics Server, go to Settings > Customizations > Customize the System.
- Select Components > Web Resources from the menu and scroll down to Global properties for Map Providers.
- In the Web Resource: Global properties for Map Providers window, click Text Editor to open the script file for editing.
- Finally, enter the Google API key into the script specify the key into
googleMapsApiKey
field; leavegoogleClientID
asnull
googleMapsApiKey: "EnterYourGoogleApiKeyHere", googleClientID:null,
Adding mobile audit records on the server form
To add the Mobile Auditing tab to the backend server form:
- Go to Settings > Customizations > Customize the System on the backend server.
- Select the Form, for example on the User entity, as it is the most relevant entity for the Auditing functionality.
- Click Import and add or select the tab where you want to add the list of user actions and click on Sub-Grid.
- Enter a unique name and select the Mobile Audit (Created by or Modified by) from the list of primary data source entities after that.
- Optionally, set View Selector to show all or selected views (there are some predefined views for the Mobile Audit entity, such as Today, Yesterday, etc.).
Adding mobile audit map on the server form
If you use the Google Maps API key, you can add the user activity visualization map.
- Go to Settings > Customizations > Customize the System on the backend server.
- Select the Form, for example on the User entity, as it is the most relevant entity for the Auditing functionality.
- Click Import and add or select the tab where you want to add the list of user actions and click on Web Resource.
- Select
resco_MobileCRM/MapIframe.html
as the web resource. - Set the name and check Pass record object-type code and unique identifier as parameters, as it will show only the records that the observed user made.
Display auditing data in Resco mobile apps
Since version 10.1 of Resco Mobile CRM app, it is possible to see aggregated auditing data not only on the backend server, but also in the mobile application, on a map.
Enabling in Woodford
This option is configured for each app project in Woodford, you need to add audit analysis to the Home screen.
- Edit an app project.
- Select Home from the Project menu.
- Select Audit Analysis from the Available Items pane and click Add.
- Click Save.
The Audit Analysis item shares configuration with global map. If you have defined multiple global maps, you will have multiple audit analysis entries. You can still add only selected to your home as needed.
For more information, see also this part of a webinar. Webinar
Using in mobile app
In the mobile app, this shows as Mobile Audit Analysis in the menu. You can control it in the same way as usual maps. Your selected entities show up as map pins. If there are any audit data from the same location as the map pins, you can see the number in the pin.
The Mobile Audit Analysis view comes with a few additional settings. Tap Settings in the top right corner.
- Precision [meters]
- Specify the precision in meters. If you use a fairly high number (i.e. low precision), a single audit record can appear in multiple neighboring map pins.
- Date range
- Restrict the audit data by date.
- Hide frequently visited records
- This allows you to easier locate records that did not receive much attention.
- Max visible visits
- Map pins with more visits than set here are not displayed if they're set as hidden in the checkbox above.
Display auditing data on different backend servers
Support for mobile auditing is available for Dynamics, Resco Cloud, and Salesforce backend servers. Salesforce is a special case because with it, the records are saved on Resco Cloud.
In Resco Cloud, auditing data is stored in the resco_mobileaudit entity. The data is available at https://{organization}.rescocrm.com/Administration/Organization/EntityList.aspx?entity=resco_mobileaudit
.
Mobile auditing and location tracking
Resco Mobile CRM supports the tracking of users' real-time GPS position and sends location records to the backend server. Location tracking data is stored in the backend as Mobile Auditing entity records. These records can generate a large amount of data.
Manage audit data
Auditing can generate a lot of records. See Maintenance for information how to handle it. This function is only available for Dynamics CRM.
Server auditing
Note | Backend servers have their own auditing mechanisms. This section describes how server audit works on Resco Cloud. |
Server audit allows you to:
- track changes in records on the field level
- monitor attempts to access your data
- follow updates in your schema and server.
Define the events and entities you need to monitor and record using the Admin Console.
Enable collection of audit data in Resco Cloud
- Start the Admin Console:
- On the Resco Cloud landing page, click Admin Console.
- On the Resco Inspections' Manager's experience, click Manage Organization.
- Select Settings > Organization from the menu.
- In the Audit section, click Enable, then click Configure.
- Select Audit user access if you want to audit user logins.
- Select Audit entity schema if you want to audit all metadata changes.
- As Audit retention policy, select how long should audit data be kept in the database. Older records are deleted automatically. Does not apply to custom Cosmos databases.
- As Audit database, select where you want to store your audit data. The amount of audit data can grow large fast.
- Internal – Audit data is stored in the same cloud as your organization.
- CloudService – Use the default external storage of audit data provided by Resco (Azure Cosmos DB or Azure Table).
- Azure CosmosDb – Audit data is stored in your custom Azure Cosmos DB.
- Azure Table – Audit data is stored in your custom Azure Table. (Requires release 16.1.)
- Save all changes.
- Select Data > Entities from the menu and select the entity where you want to enable audit of record changes. Click More Settings and select Audit. By default, all fields for this entity are enabled for auditing.
Limits, defaults, and data transfer
- Limits
- The size of an auditing record is capped at 2MB. I.e., larger records (usually binary documents) is not included in audit storage. If you are using Blob storage for Resco Cloud, the audited document body will be located on external storage.
- Defaults
- Server audit starts disabled for new organizations. When you enable server audit for organizations created after release 16.0, the default audit option is Resco's Azure Cosmos DB.
- Transfer
- If you are using internal storage for audit data and switch to Cosmos DB, you have the option to delete or transfer existing records. A job called DeleteInternalAuditLogs or TransferInternalAuditLogs is scheduled. You can check status of the job in Processes Center > Logs.
Display auditing data in Resco Cloud
In Resco Cloud, auditing information is available from the Admin Console: select Settings > Auditing from the menu. Auditing information are stored in the resco_audit entity.
Display auditing data in Resco mobile apps
Auditing data can be also displayed in Resco mobile apps, on a view or entity list. To set up a server auditing list:
- Edit an app project in Woodford and enable the Auditing entity.
- Customize the auditing view and sync filter according to your preferences.
- Add the view to the home screen or to any other entity form as a related entity list.
The Auditing entity is online-only. Auditor can see the audit records in online mode after the users synchronize their apps.
Server audit for mobile client in offline mode
When the app is in offline mode, every update or change in data is recorded. To distinguish the server and client updates, the attribute resco_source is used as a differentiator. The changes between two synchronizations are also properly tracked. The data are uploaded to the server after synchronization with resco_source set as Mobile App.
Display auditing data on third-party backend servers
Server audit on third-party backends is managed independently from Resco server audit; other backends have their own audit policy. To collect audit data from Resco Cloud to these backends, it is necessary to create a custom entity and map resco_audit entity attributes.
Contact Resco support for more information.