Hands-On Activities: Sharing & Visibility
Hands-On Activities: Sharing & Visibility
FEBRUARY, 2018
DETAILED REQUIREMENTS
• Cases are initially owned by a specialty team but can be assigned to an individual
case owner.
• Cases are visible to the team by default but will only be visible to the case owner and
their manager once assigned.
• When a case is initially created, it will be assigned to members of that specialty
team, based on the combination of type and subtype.
Note:
Ensure that all the detailed requirements are met while testing your solution.
USE CASE
Universal Containers comprises Sales and Service organizations. They have Account
Management, Contact Management, Opportunity Management, and Case Management
functionality to be deployed to users. Considering the functionality needed and the
organization structure, administrators would like to set up application security to provide
the right data visibility to the users.
DETAILED REQUIREMENTS
The role hierarchy should be built to the lowest level required (e.g., to the sales rep level),
but you will not need to populate all the roles at each level (e.g., do not populate all
countries or all states in a country). It should be sufficient for demonstration purposes.
• All actors in the scenario should be assigned appropriate user licenses (Salesforce,
Community, etc.).
• Use an org which is provisioned with Partner Community licenses.
CONSIDERATIONS
The following considerations will guide in you in designing the solution:
Object OWD
Account Private
Opportunity Private
Case Private
ROLE HIERARCHY
• High-level considerations:
□ Every user that owns application data must be assigned to a role, as it impacts visibility,
roll-up, and other displays based on roles.
□ To avoid performance issues, no single user should own more than 10,000 records of an
object. Users who need to own more than that number of objects should either not be
assigned a role or placed in a separate role at the top of the hierarchy. It’s also important
to keep that user out of public groups that might be used as the source for sharing rules.
• An indicative role hierarchy to the necessary depth should be built. Width (e.g.,
countries) should be representative but not exhaustive.
• The following is the suggested role hierarchy:
USE CASE
Universal Containers comprises Sales and Service organizations. They have Account
Management, Contact Management, Opportunity Management, and Case Management
functionality to be deployed to users. Considering the functionality needed and the
organization structure, administrators would like to set up application security to provide
the right data visibility to the users.
DETAILED REQUIREMENTS
The role hierarchy should be built to the lowest level required (e.g., to the sales rep level),
but you will not need to populate all the roles at each level (e.g., do not populate all
countries or all states in a country). It should be sufficient for demonstration purposes.
• All actors in the scenario should be assigned appropriate user licenses; for example,
Salesforce, Community, etc.
• Use an org which is provisioned with Partner Community licenses.
OBJECTS:
• Create a custom object (Industries) that will hold the list of Industries.
− Field: Industry (Name)
− Field: SIC Code [Text]
− Field: Parent Industry [Lookup (Industry)]
− Field: ….
− OWD: Public ReadOnly
− Only Administrators will have Profile / Permission Set to Create and Edit for Industries
− Administrators will have Profile set to "View All" on Industries
• Create a custom object (Account Industry) that will list Industries associated with a
particular Account.
− Field: Account [Master-Detail (Account)]
− Field: Industry [Lookup (Industry)]
− Field: ….
− OWD: Controlled By Parent
DATA MODEL:
• The following is the data model for the solution:
• When OWD for Account Industries is set to Controlled By Parent and Parent
Account has OWD set as Private, the users that have access to the Account will be
able to access the related Account Industries.
• Create a report type of Account Industries with Accounts with a filter on Industry.
• In Manager, select the user you created when you signed up for your organization.
You can use the magnifying glass to search for the user.
• In User License, select Salesforce.
4. Click Save. You will receive an email confirming the creation of the new user. You still
need to configure authorizations, so don’t log in as Bob Smith yet or you’ll have to
immediately log back in as the administrator.
1. Log into Workbench and run a query to find Bob Smith, the user you created in
the previous activity.
• Type or paste the following URL into your browser:
https://developer.salesforce.com/page/Workbench
• Leave the default Workbench settings, accept the terms of service, and click Login
with Salesforce.
• Check that the Logged in as user in the top right-hand corner of the screen is the
administrator of your Developer Edition organization. If it isn’t, click (Not you?)
and log in as the administrator of the Developer Edition organization.
• Click Allow on the “requesting permission” screen.
• In the workbench menu, select queries > SOQL Query.
• Choose Profile in Object.
• Select Idand Namein the Fields selection box. You can select more than one field by
holding down the CTRL key and clicking the field names.
• Filter results by Name = Standard User.
• Click Query.
• Copy the Id of the Standard User Profile to an ASCII text editor such as Notepad.
The Id will be used later when creating the new user.
2. Now use the REST API in Workbench to retrieve Bob Smith’s information.
• In the workbench menu, select utilities > REST Explorer.
• Click Execute next to /services/data.
• Click the most recent release.
• Click url: /services/data/v{version#}.
• Click recent: /services/data/v{version#}/recent.
• Click Bob Smith.
• Click attributes.
• Click url: /services/data/v{version#}/sobjects/User/Bob Smith’s user Id.
• Click Show Raw Response.
• Copy everything in Raw Response between the curly brackets ({}) and paste it into
an ASCII text editor such as Notepad.
The text between the curly brackets is a JSON object representation of Bob Smith’s
information