1 design guidance. 2 contents setting up the customer portal implementation checklist

40
1 Design Guidance

Upload: jonathan-rollins

Post on 26-Mar-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

1

Design Guidance

Page 2: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

2

Contents

Setting up the customer portal

Implementation Checklist

Page 3: 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

Page 4: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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

Page 5: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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

Page 6: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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

Page 7: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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)

Page 8: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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

Page 9: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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

Page 10: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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

Page 11: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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

Page 12: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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

Page 13: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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.

Page 14: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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

Page 15: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

15

C. Customizing the portal user interface• Customize the colors and fonts for each portal using the style editor in portal

setup

Page 16: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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.

Page 17: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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

Page 18: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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

Page 19: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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

Page 20: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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

Page 21: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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

Page 22: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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.

Page 23: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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

Page 24: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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

Page 25: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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.

Page 26: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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

Page 27: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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

Page 28: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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

Page 29: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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

Page 30: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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

Page 31: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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.

Page 32: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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.

Page 33: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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

Page 34: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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.

Page 35: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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

Page 36: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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.

Page 37: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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.

Page 38: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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)

Page 39: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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)

Page 40: 1 Design Guidance. 2 Contents Setting up the customer portal Implementation Checklist

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