1 design guidance. 2 contents setting up the customer portal implementation checklist
TRANSCRIPT
1
Design Guidance
2
Contents
Setting up the customer portal
Implementation Checklist
3
Personalization the Experience for Your Customers
Multiple Branded Portals - Differently branded portals for different sets of users, customers, products or users
Portal User Profiles - to drive different page layouts, record types and access for different user segments
Portal Role Hierarchy and Sharing- 3 level role visibility and include portal users in sharing rules
Portal List Views – Create and expose list views to portal users
Update My Profile – Portal users can keep the user and contact information up-to-date
Advanced Case Management & Knowledge Base
Edit and Close Cases - Edit and close as the portal user
Cross Account Case Visibility – enable specific portal users to view cases across an account hierarchy
Case Deflection using suggested solutions - Offer matching solutions using suggested solutions to deflect cases and reduce costs
Search My Data- Cases, activities, custom objects
Associate Assets to Cases– Associate assets to cases in an account
Rich Content Solutions – Search and browse rich content solutions
Expose Documents – Expose product documents, patches and files
4
Create and Share Custom Apps with your Customers
Custom Objects and Tabs- Expose custom objects to portal to enable additional self service processes
Web Tabs – Create mashups and Integrate other apps
Customize using the force.com platform and Apex Code
Customization Features– Apex Code, S-Controls, Custom Buttons, Custom Links, Custom Fields etc
Full User API and Single Sign-On Capabilities
Expose AppExchange Apps to your customers
Project management, collaboration, spreadsheets etc
Provide a branded experience to your customers
Customizable Homepage and Branding – Login page, Homepage, Logo, Header and Footer customization
Look and Feel – Style editor for fonts and colors
5
A. Setting up portal users, profiles & roles
B. Setting up multiple portals
C. Customizing the portal user interface
D. Setting up the portal login page
E. Setting up the sharing model
F. Setting up cases
G. Setting up cross account case visibility
H. Setting up assets
I. Setting up solutions
J. Setting up documents
K. Setting up custom objects and tabs
L. Setting up list views
M. Setting up search layouts
N. Setting up web tabs
O. Setting up communication templates
P. Using reports for analyze usage
Q. Using s-controls and apex code
R. Setting up single-sign-on
S. Using the api for the customer portal
T. Creating portal users en masse using Apex Connector
Steps to setup the customer portal
6
A. Setting up portal users, profiles & roles
Customer Portal Manager
(default license)
Customer Portal User
(scaled down user type provided for deployments with over 100,000 users)
Typical Users Normal Portals Users, Super Users, Managers, Executives or Administrators
Normal Portal Users
Profile Both user types have exact same profile capabilities and permissions
Visibility Can view their own records
Can view records of the users below them if put in the manager or executive portal roles
Can only view their own records
Sharing Can share data to these users like Salesforce users
Cannot share directly to these users
Can clone customer portal profiles to provide different capabilities and page layouts to customer segments
• Customer Portal Manager (Basic and Standard) are the default licenses provided depending on the version purchased
7
A. Setting up portal users, profiles & roles
• Portal user licenses are linked to profiles similar to salesforce users with some differences
Can use
Page Layouts,
Record Types
Field Level Security
Settings in the same as way as salesforce user profiles
Clone standard profiles to create custom portal profiles (remember to add new profiles to a portal)
To expose custom objects you need to use cloned custom portal profiles
To expose custom tabs/web tabs make sure the tab is included in the service & support app (in Setup->Build->custom apps)
8
Tabs Access Ability to access detail Pages (page layouts)
API access (s-controls, Apex code)
Cases Yes Create, Read, Update
Yes Yes
Solutions Yes Read Only Yes Yes
Documents Yes Read Only Yes Yes
Assets No Read Only Yes Yes
Custom Objects/Tabs
Yes Create, Read, Update, Delete
Yes Yes
Accounts No Read No Yes (including shared accounts)
Contacts No Read No Yes (including shared contacts)
• Portal users profiles have access to subset of objects & tabs
A. Setting up portal users, profiles & roles
9
A. Setting up portal users, profiles & roles
• Create new portal users by clicking on the “Enable Customer Portal User” button on a contact’s detail page
Need “Edit self service users” profile perm to enable contacts as portal users
Portal users can be managed like other app users in Setup->Manage Users->Users
Can create a portal user list view by filtering on license type
Can upload large numbers of users using the Apex Data loader
The contact and portal user are linked on the user detail page
10
Select the right role for the user on the user edit page
Report on customer portal role hierarchy using administrative reporting
Visibility
A. Setting up portal users, profiles & roles• 3 portal roles (User, Manager, Executive) in each account allow you to set
visibility to match your customers org structure
• All portal users in the Manager role sees all records associated to the portal users in the User role
• All portal users in the Executive roles sees all records associated to portal users in the Manager role and User role
• Portal users in the same role do not see each others records by default
<Account Name> Customer Executive
<Account Name> Customer Manager
<Account Name> Customer User
11
A. Setting up portal users, profiles & roles• You can controls access to what portal users see and do using a variety of tools
Page Layouts specifically associated to portal user profiles
Record types specifically for portal use to filter picklists for portal use – with workflow rules to switch record type automatically
Field Level Security
CRUD on User profile
Automatic Account Scoping
12
B. Setting up multiple portals• Create multiple branded portals for different customer segments, products etc
The following attributes of a portal can be configured differently for each portal using a combination of the portal setup and profiles associated the portal
Portal Name displayed on browser
Header, footer logo
Portal login page and message
Tabs visible in portal
Style (colors and fonts)
Branded e-mail templates
Top Solution Category
Action Confirmations
Suggested Solutions
13
B. Setting up multiple portals• Create separate profiles for each portal
Can select which Customer Portal Profiles are associate to which Portals for access control
A portal user can be associated to multiple portals
Each portal has a unique ID, found in the login URL e.g portalId=060D00000000Q1F.
The unique identifier determines the specific portal a user can access.
If a user accesses a login URL that does not contain a unique identifier, they are automatically directed to the login URL of the first Customer Portal you created.
14
For each portal you can define the following in portal setup
Header or logo
Footer
The homepage layout tied to portal user profile determines which of the following types of components can be displayed to the portal users
Customer Portal Welcome
Solution Search
Create New
Recent Items
Search (Cases, custom objects etc)
Document Search
Custom Links
Custom HTML Components and Images
S-controls
2
6
7
1
10
8
9
7
8
9
6
C. Customizing the portal user interface• Customize the portal UI using the look and feel settings on the portal setup and
the homepage layouts tied to portal user profiles.
4
5
3
1
2
3
4
5
99
10
9
15
C. Customizing the portal user interface• Customize the colors and fonts for each portal using the style editor in portal
setup
16
Generic login page that matches your portal theme. Create a link on your website to go to this page
Or embed a Login component in your website (see code on next slide)
Forget password link
Portal user enters user name and receives e-mail with temp pwd
Can set a URL to go to when user logs out (logout URL in portal setup)
D. Setting up the portal login page You can brand the default login page or post to the login page from a login
component from your website.
17
<form name="login" action="https://na1.salesforce.com/secur/login_portal.jsp" method="POST" base_target="_top"> <input type="hidden" name="startURL" value=""> <input type="hidden" name="loginURL" value=""> <input type="hidden" name="useSecure" value="true"> <input type="hidden" name="jse" ID="jse" value="0"> <input type="hidden" name="local" value=""> <input type="hidden" name="orgId" value="00D300000007IL5"> <input type="hidden" name="portalId" value="060300000004cQ0"> <input type="hidden" name="loginType" value="2"> <div class="pbHeader"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td class="pbTitle"><h2>Secure Customer Login</h2></td> </tr> </table> </div> <div class="pbBody"> <div class="errorMsg">Please enter your username below.</div> <table border="0" cellpadding="0" cellspacing="0"> <tr> <th scope="row"><label for="username">User Name:</label></th> <td><input autocomplete="on" type="text" NAME="un" size="25" maxlength="80" value="" class="username"></td> </tr> <tr> <th scope="row"><label for="password">Password:</label></th> <td><input autocomplete="on" type="password" id="password" name="pw" size="25" maxlength="80" class="pw"></td> </tr> </table> <div> <a id="forgotPassword" href="https://na1.salesforce.com/secur/forgotpasswordp.jsp?orgId=00D300000007IL5&portalId=060300000004cQ0&pLu=%2Fsecur%2Flogin_portal.jsp">Forgot your password?</a> </div> </div> <div class="pbBottomButtons"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td class="pbTitle"><img width="1" height="1" title="" class="minWidth" alt="" src="/s.gif"></td> <td class="pbButtonb"><input type="submit" class="btn" value="Login"></td> </tr> </table> </div> </form>
D. Setting up the portal login page You can use the following HTML to POST to the portal login page from a
custom webpage
18
E. Setting up the sharing model
You can recreate internal public sharing on accounts & cases by creating an “All Internal Users” public group to “All Internal Users” sharing rule
The Customer Portal requires a private sharing model for accounts & cases, so that portal users don’t see data from other accounts.
It’s recommended that you create the “All internal Users” sharing rule before setting accounts to private so users don’t see any change in visibility as the changes happen
The conversion to private sharing may take many hours to complete so it’s highly recommended that it be done on a weekend.
Also set private sharing on custom objects that should not be visible across portal accounts
19
CEO
VP Mktg VP Sales VP Service
West East
Exec
Mgr
User
Great Divide
Exec
Mgr
User
Exec
Mgr
User
Exec
Mgr
User
Exec
Mgr
User
Exec
Mgr
User
Acct 1 Acct 2 Acct 3 Acct 4 Acct 5 Acct n
…
Visib
ility
Role
s an
d S
ub
ord
inate
s
Use Roles and Internal Subordinates instead of Roles and Subordinates
E. Setting up the sharing model
Roles and Subordinates groups do include portal users and can mean inadvertently sharing data with portal users.
Use the new “Roles and internal subordinates” group instead which does not include portal users and roles
A wizard is provided to convert org wide sharing rules form “Roles and subordinates” to “Roles and internal subordinates”
If roles and subordinates is used in other areas such as queues, public groups, list views, manual shares they should be replaced with Roles and Internal Subordinates
20
Contact edit rights: contact on case who is the portal user can edit or close cases
Internal user can uncheck “Visible in Self-Service Portal” to hide case from portal user
Case Attachments: Portal users can upload and edit/delete their attachments but not attachments uploaded by internal users
Case Comments & Activities: Internal user can make activities public/private
On the portal case page layout solutions related list, filter the fields to only show the Solution title.
F. Setting up cases
Clone an existing internal case page layout to create a portal page layout
21
Use case assignment or workflow rules to change ownership of portal created cases to an internal user or queue
If using workflow, you can use the following settings
F. Setting up cases
Step 1. Setup the workflow on the case object
Step 2. Set the evaluation criteria to "only when a record is created"
Step 3. Set the rule criteria to Current User:User Type equals equals Basic Customer Portal Manager, Standard Customer Portal Manager
Step 4. Set a workflow action of type field update on field Case Owner to change it to a queue or an internal user
22
Changing case ownership using case assignment rules
F. Setting up cases
If using case assignment rules it is recommended you set up an additional record type and page layout which you change to your normal record type using workflow after the case is created (this will prevent cases from being reassigned when they are edited by portal users)
Step 1: Create a “new portal case” record type with a corresponding case page layout that has the “Select Case Assignment checkbox by default” checked.
Step 2: Ensure that this "new portal case" is the case record type selected on the portal user profiles (and only this record type is selected)
Step 3: Create a workflow rule that changes the “new portal case” record type to your normal record type when a new case is created by a portal user in the following way
a) Setup the workflow on the case object
b) Set the evaluation criteria to "only when a record is created"
c) Set the rule criteria to Current User:User Type equals Basic Customer Portal Manager, Standard Customer Portal Manager
d) Set a workflow action of type field update on field Case Record Type to change it to your normal record type
Step 4. Ensure that the page layout associated to your normal record type does NOT have the “Select Case Assignment checkbox by default” checked
Using different page layouts/record types for new case and edit case in this way, allows you the flexibility to restrict some fields from being edited by portal users after the case is created.
23
Reduce support costs
Portal users get an immediate response to their issue
Activate by checking the “Enable Self-Close Case from Suggested Solutions” option on portal setup
Create a separate case close page for portal users
F. Setting up cases
Deflect cases by automatically displaying suggested solutions for the case
24
Give case access to specific portal user or portal role by manually sharing child account to portal user or portal role in parent account
Can specify read/write or read-only access to cases
NOTE: Manual shares need to be recreated if Account Owner of child account changes
Lauren Boyle in Big Corp Exec role can now see cases from Big Corp
EMEA.
G. Setting up cross account case visibility
Use account sharing rules to allow portal users or portal roles to view and edit cases from other accounts in a hierarchy
25
G. Setting up cross account case visibility
To assign cross account visibility to many users en masse you can use the apex connector to create the account sharing rules
Using apex connector export the accounts with accountIDs you want to share
Using apex connector export the portals users with their UserID from the User object
If sharing to portal roles export the IDs of the portal roles from the Group Object
Export an account sharing rule from the AccountShare object to use as a template to insert new shares
Create the list of sharing rules
Insert the records into salesforce.
26
H. Setting up assets You can expose assets as a lookup on a case or through an S-control
Portal user sees all assets in his/her account only
Can make Assets a required field so that customers can track cases associated to specific products
Can use a s-control to display all the assets as a list in a web tab or on the homepage
27
Clone the internal solution page layout and create a simplified version for the customer portal
Designate which solutions are visible in the Customer Portal by selecting the “Visible in Self-Service Portal” checkbox
Can set a different top solution category for each Customer Portal in portal setup
Rich Content Solutions appear in Customer Portal as well
Solution feedback question is tracked in Helpful Solutions report
I. Setting up solutionsStatus field is automatically
hidden from portal users
28
Customer Portal users can automatically see any folders with “This folder is accessible by all users”.
Create folders specifically for portal users by restricting accessibility to the “All Customer Portal Users” group.
Hide internal folders from portal users by restricting visibility in the folder setup to the “All internal users” group
It’s recommended you restrict the “Manage Public Documents” profile permission to admins only so that internal users don’t inadvertently create folders that can be viewed by customer portal users.
You can create folders accessible by specific customer accounts by using portal roles to define access
J. Setting up documents You can expose document folders to portal users in the same way as for
internal salesforce users
29
Can expose custom objects and tabs to the portal
Only available in the “Standard Version”
Portal user can own custom objects records and can change owner to another portal user in account
Admin selects which custom object to make available in portal
To expose custom objects you need to use cloned custom portal profiles
To expose custom tabs/web tabs make sure the tab is included in the service & support app (in Setup->Build->custom apps
K. Setting up custom objects and tabs
30
Example 1: Share Training Registrations (custom object) owned by all portal users with Training Manager internal user
Example 2: Share All Training Registrations from Account Acme with Acme CSM
The custom object should have a private sharing model
Use “All Customer Portal Users” Default Public Group
Use Portal Roles for Account
K. Setting up custom objects and tabs
For custom objects that are related to specific portal users e.g training registrations let the portal user own the record and share to internal users
31
Portal users can choose between multiple list views and sort lists
Create list views specifically for portal users by restricting visibility to the “All Customer Portal Users” group
Customer Portal users can automatically see any list view with visibility settings marked “This view is accessible by all users”.
Hide internal list views from portal users by restricting visibility in the list view setup to the “All internal users” group
It’s recommended you restrict the “Manage Public List Views” profile permission to admins only so that internal users don’t inadvertently create list views that can be viewed by customer portal users.
You can create list views accessible by specific customer accounts by using portal roles to define access
L. Setting up list views You can create case, solution and custom object list views for portal users in the
same way as for internal salesforce users.
32
M. Setting up search layouts Search layouts used internally are applicable for the portal as well. Restrict any
fields that should be not visible to portal users
Ensure search layouts on cases, solutions, assets and custom objects are filtered to not show fields you don’t want to expose to portal users.
33
N. Setting up web tabs • Expose web tabs to portal users via portal user profiles
Use webs in the portal to:
Create powerful mashups
Integrate with other applications
Create custom pages using s-controls
To expose custom tabs/web tabs make sure the tab is included in the service & support app (in Setup->Build->custom apps
34
O. Setting up e-mail communication templates You can create branded templates for when portal users are sent e-mails
The following templates are available in portal setup and can be configured differently for each portal.
New user
New password
Lost password
Case Comment by app user
Change Owner to Portal User
If you have the same users with the same profiles logging into multiple portals it’s recommended you also set the portal wide e-mail templates which determine the email templates to use when sending email notifications, such as a new case comment or a reset password.
Because the default email templates are sent to users of multiple Customer Portals, we recommend that you create default email templates that do not contain portal-specific branding.
35
P. Using reports to analyze usage of the portal• You can use reports to monitor logins and knowledge base usage
Report on customer portal users and role hierarchy using administrative reporting
Helpful Solutions report captures how useful solutions are:
Self Service Access Count: Gets incremented when a portal user views a solution
Self Service Answer Count: Gets incremented when a portal user answers the “Was this solution helpful” question
Self Service Answer Count: Gets incremented when a portal user answers “Yes” to the “Was this solution helpful” question
36
Q. Using S-controls and Apex Code• You can use S-controls and Apex Code to customize the portal
Use the portal stylesheet in your s-controls by specifying the correct OrgID and PortalID
“/sCSS/9.0/PortalDefault/<ORGID>/<PORTALID>/portal.css”
Embed S-controls on portal homepage by creating an HTML homepage component that refers to the S-control in an IFRAME.
<IFRAME src="/servlet/servlet.Integration?lid=<S-control Record ID>&ic=1" frameBorder=0 width="100%" height=200 scrolling = no></IFRAME>
Apex Code in the portal runs in the context of the portal user, and has access to all the objects allowed in the customer portal profile.
37
R. Setting up single-sign-on
• The single sign on capabilities available for the salesforce application are also available for the customer portal.
• See technote on implementing single-sign-on: http://wiki.apexdevnet.com/index.php/How_to_Implement_Single_Sign-On_with_Salesforce.com
• If you are using a token generator that logins into the portal, make sure to add the parameter loginType=2 e.g.
https://na1.salesforce.com/secur/login_portal.jsp?orgId=00D300000007IL5&portalId=060300000004cQ0&[email protected]&pw=123456&loginType=2
• Make sure to also turn on the single-sign-on permission on portal user profiles.
38
S. Using the API for the customer portal
Portal users have api access to the objects they have access to in the UI
To login as a portal user through the api, you need to specify the org ID in the loginscope header
Some customer portal specific api fields are available to ease administration
Account.IsCustomerPortal: Boolean field indicating the Account is enabled for the Customer Portal.
User Role.PortalType: to identify which portal (PRM or Customer Portal)
39
T. Creating portal users en masse using Apex Connector
Using apex connector export all the contacts you want to enable with the minimum contact fields of contactId, e-mail & lastname into excel
Export an existing portal user’s fields from the user object to use as a template to insert new users
Choose the correct ProfileID for each of the contacts (query the Profile Object for the correct ProfileIDs)
User Role ID is optional (defaults to user role) and can be updated after the user is created.
Insert the records into salesforce.
When you are ready to send the new login e-mail to your users, do a mass password reset (make sure to configure the reset pwd e-mail template in portal settings)
40
Implementation Checklist
1. Accounts and segments review for multiple portals
2. Users – number, profiles and roles
3. Design business processes to be extended to customer segments
4. Review Sharing model, design and implement appropriate sharing and role hierarchy
5. Hide internal list views, queues and document folders from portal users
6. Design and implement portal branding and style
7. Create branded communication templates
8. Create custom fields and custom objects
9. Create portal page layouts, appropriate ‘business processes’, record types and picklists
10. Design workflow and assignment rules
11. Implement portal specific s-controls, button overrides, links
12. Design and implement portal home pages and home page components
13. Design and implement branded portal login page
14. Optional single sign-on implementation
15. Implement Knowledge Base for portal users
16. Design appropriate admin reports
17. Roll out to users