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:

  1. Read
  2. Create
  3. Edit
  4. 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:

  1. View All (Read); and if required
  2. 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:

  1. Sharing Settings
  2. Permission Set Object Permissions
  3. User Profiles


The table below summarises how these may be configured and the data actions possible.


Sharing Setting
Custom Object Permissions
Actions Possible With Axsy Mobile App
For Records Owned by User
For Records Owned by Other Users
PrivateNoneNo access
Read, Create, Edit, Delete
Read | Create | Edit* | Delete
None
Read, Create, Edit, Delete, View AllRead
Read, Create, Edit, Delete, View All, Modify AllRead | Edit*
Public Read OnlyNoneNo access
Read, Create, Edit, Delete
Read | Create | Edit* | Delete
Read
Read, Create, Edit, Delete, View AllRead
Read, Create, Edit, Delete, View All, Modify AllRead | Edit*
Public Read/WriteNoneNo access
Read, Create, Edit, Delete
Read | Create | Edit* | Delete
Read | Edit*
Read, Create, Edit, Delete, View AllRead | Edit*
Read, Create, Edit, Delete, View All, Modify AllRead | Edit*
* Edit (Modify) action not available in Axsy Mobile app list views.


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 VariantAxsy Pre-Configured Record Sets
Base ObjectRecord Sharing
Salesforce PlatformActive PricebookPrice BookBase object + consideration for all of the objects listed in the related objects tree
Current UserUserNot required
EventsEventBase object
Historic OrdersOrderBase object + consideration for all of the objects listed in the related objects tree
Field ServiceAppointmentsService AppointmentBase object + consideration for all of the objects listed in the related objects tree
Current UserUserNot required
EventsEventBase object if required
InventoryLocationBase object + consideration for all of the objects listed in the related objects tree
Resource AbsencesResource AbsenceBase object if required
Service ResourceService ResourceBase object + consideration for all of the objects listed in the related objects tree
Public SectorCurrent UserUserNot required
EventsEventBase object + consideration for all of the objects listed in the related objects tree
Form Definitions*FormBase 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
VisitsVisitBase object + consideration for all of the objects listed in the related objects tree
Retail ExecutionCurrent UserUserNot required
EventsEventBase object if required
Form Definitions*FormBase 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 TasksOther Component TaskBase object if required
Previous OrdersVisitSee Visits
Vehicle InventoryVehicle User AssignmentBase object + consideration for all of the objects listed in the related objects tree
VisitsVisitBase 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.