Available in: Axsy Mobile for Salesforce
Record Sharing and the Axsy Mobile App
Sharing rules and object permissions for Salesforce object records are configured on the Salesforce platform and these rules are fully respected by the Axsy Mobile app. Care must be taken to ensure that users are able to perform the following data actions, whilst using the Axsy Mobile app, on records they own:
- Read
- Create
- Edit
- Delete
Typically all four of the above data actions will be enabled.
Additionally to perform the following data actions, whilst using the Axsy Mobile app, on records they do not own the following settings must be enabled:
- View All (Read); and if required
- Modify All (Edit or Write)
Example: a user with the Standard User profile has, via the Industries Visit Permission Set been granted Read, Create, Edit and Delete permissions actions on the Visit object. This enables this specific user to carry out these actions on Visit records that he / she is the owner of. These actions are not possible on Visit records that the user is not the owner of.
This is very important in a multi-role environment if a Visit is created by a supervisor and then assigned to an inspector (who is not the supervisor). With just the Industries Visit permission set the inspector would not be able to view the Visit in his / her Visit queue in the Axsy Mobile app.
To enable users to perform actions on object records that they are not the owner of this can be achieved by one or more of the following Salesforce methods:
- Sharing Settings
- Permission Set Object Permissions
- User Profiles
The table below summarises how these may be configured and the data actions possible.
Read |
Read | Edit* |
Read |
Read |
Read | Edit* |
The above table does not consider user profiles as these vary greatly, however it may be possible to use a suitable user profile for record sharing purposes. Details on how to see if a user profile provides the necessary sharing is described later in this article.
Which Objects Should be Shared For Other Users Access?
Pre-Configured Objects
Each Axsy app variant contains pre-configured record sets based on how the Axsy Mobile app is expected to be used. E.g., the Visit object for Public Sector and Retail Execution orgs, or the Service Appointment object for Field service orgs. Multiple parent and child dependent objects are included in the pre-configured record sets.
The pre-configured record sets cannot be modified to have objects removed as they are required to enable the normal operation of the Axsy Mobile app. You can add additional objects to the pre-configured record sets.
You may not use all of the objects referenced in the pre-configured record sets, but for those that you do use and where records not owned by the user need to be viewed or modified, you must enable record sharing.
Refer to the table below for guidance on the objects you need to consider for record sharing.
Org Variant | Axsy Pre-Configured Record Sets | Base Object | Record Sharing |
Salesforce Platform | Active Pricebook | Price Book | Base object + consideration for all of the objects listed in the related objects tree |
Current User | User | Not required | |
Events | Event | Base object | |
Historic Orders | Order | Base object + consideration for all of the objects listed in the related objects tree | |
Field Service | Appointments | Service Appointment | Base object + consideration for all of the objects listed in the related objects tree |
Current User | User | Not required | |
Events | Event | Base object if required | |
Inventory | Location | Base object + consideration for all of the objects listed in the related objects tree | |
Resource Absences | Resource Absence | Base object if required | |
Service Resource | Service Resource | Base object + consideration for all of the objects listed in the related objects tree | |
Public Sector | Current User | User | Not required |
Events | Event | Base object + consideration for all of the objects listed in the related objects tree | |
Form Definitions* | Form | Base objects only. Axsy configures Public Read/Write Internal Access sharing during managed package installation. The additional application of an Axsy Smart Form permission set is also required. | |
Form Responses* | Form Response | ||
Visits | Visit | Base object + consideration for all of the objects listed in the related objects tree | |
Retail Execution | Current User | User | Not required |
Events | Event | Base object if required | |
Form Definitions* | Form | Base objects only. Axsy configures Public Read/Write Internal Access sharing during managed package installation. The additional application of an Axsy Smart Form permission set is also required. | |
Form Responses* | Form Response | ||
Other Component Tasks | Other Component Task | Base object if required | |
Previous Orders | Visit | See Visits | |
Vehicle Inventory | Vehicle User Assignment | Base object + consideration for all of the objects listed in the related objects tree | |
Visits | Visit | Base object + consideration for all of the objects listed in the related objects tree | |
Record Sets / Objects marked with an asterisk * are Axsy custom objects, whilst these record sets are not pre-configured in Salesforce Platform and Field Service orgs, they should be setup if Axsy Smart Forms will be used in these orgs, see our knowledge article here for further details. |
Custom Objects
Any custom objects you create that are used in the Axsy Mobile app, for example as Object Record List plugin components, must be treated in the same way as the pre-configured objects with regard to their need for record sharing.
How Do I Check if An Object is Shared and Modify Sharing Access?
Object sharing may already be setup for your required objects, this might have taken place at time of org creation as an org wide default (OWD), via user profile or permission set assignment or during managed package installation.
Note: Although sharing may already be in place, you must still check all the objects that need to be shared are indeed shared.
1. Salesforce Sharing Settings
Salesforce Sharing Settings define the OWD's for object sharing.
From Salesforce Setup ➞ Sharing Settings from the list of objects review the Default Internal Access.
To add additional sharing settings, you can edit the OWD sharing for individual objects.
2. Salesforce Object Access
Salesforce Object Access enables object access via permission sets and / or user profiles and provides greater granular detail than the OWD settings.
From Salesforce Setup ➞ Object Manager ➞ Select your required object ➞ Object Access which will list the Permission Sets / Permission Set Groups / Profiles that provide access to your object. For record sharing of records not created by the current user View All and / or Modify All must be ticked.
To add additional object sharing, do so via Salesforce Setup ➞ Permission Sets ➞ create or modify a custom Permission Set ➞ Object Settings ➞ Click Edit ➞ enable View All and / or Modify All in the Object Permissions and if relevant Read Access and Edit Access for Field Permissions.
Alternatively if a user profile is available that provides the required object sharing you may use this.
Note: For objects that you want to provide additional record sharing to, you must decide if you want to do so as an OWD via sharing settings and / or via permission sets / profiles.
Note: Be careful with user profiles, for example the System Administrator profile provides universal record access, but if this profile will not be used for mobile users then it cannot be considered as a suitable sharing solution.
Testing
You must test all of the use cases your users will perform with the Axsy Mobile app to ensure adequate sharing settings are setup. This should include Events / Visits / Service Appointments assigned to users by other users.
Once adequate read access has been established, you can also check for the permissibility of other data actions.
When users of the Axsy Mobile app sync content back to the Salesforce platform if there are any Insufficient Access Rights error messages then this will be due to incomplete sharing settings. The error messages will be visible in the users Axsy Mobile app Pending Changes Queue and in the Axsy Mobile web app Events Tab as Upload Errors. You can inspect the JSON related to the error which will list the impacted object(s) that you need to check for sharing.