How can I make a given Customer Portal page available only to specific end-users?
Service Level Agreements, Customer Portal pages
Oracle B2C Service
We want to enable Chat in Customer Portal, but want to make it available to only specific customers. Can we do that, and/or do so with the Answers and Ask a Question pages as well?
Using Service Level Agreements ("SLAs"), you can configure your Customer Portal pages so that only certain end-users can access specific pages and functions. For example, you can configure your site so that only a select set of end-users can access the Ask a Question page to submit incidents. Similarly, you can restrict access to the Answers and Chat pages. You can also restrict users from submitting incidents via email sent to a configured mailbox.
Example Overview of Configuration Steps: If you wish to restrict access to the Ask a Question page to specific customers, use the steps below:
- Create an SLA that allows incidents to be submitted from the Ask a Question page. That is, in the SLA, the Self-Service Incidents field should be blank (to allow for unlimited incidents) or a number greater than 0 (to allow only a specific number of incidents). For more information on creating SLAs, refer to Answer ID 1837: Setting up Service Level Agreements (SLAs).
- Apply the SLA to the appropriate contact or organization.
- Configure your end-user pages to require an SLA to access the Ask a Question page. Refer to the section below.
- Use a test contact record set up with the SLA to verify that you can submit an assistance request via the Ask a Question page. Then, verify that a user who does not have that SLA cannot access the Ask a Question page.
Similarly, you can allow only specific contacts or organizations to submit incidents via email or have chat session or even access the end-user pages.
Configuring the SLA: When you create the SLA, specific fields in the SLA correspond to which features the end-user can access. For the incident fields, you can set the value to be blank which allows unlimited incidents to be submitted or you can set the field to a value greater than 0 to allow a specific number of incidents to be submitted via that channel.
The fields to define when creating an SLA are:
- Chat Incidents: Type the maximum number of allowable chat incidents. Enter a zero if no incidents are allowed or leave the field blank to allow an unlimited number of incidents.
- CSR Incidents: Type the maximum number of allowable incidents that can be created by a staff member for the contact or organization (for example, when customers contact your organization by phone). Enter a zero if no incidents are allowed or leave the field blank to allow an unlimited number of CSR incidents.
- Self-Service Incidents: Type the maximum number of allowable incidents created from the Ask a Question page. Enter a zero if no incidents are allowed or leave the field blank to allow an unlimited number of incidents.
- Email Incidents: Type the maximum number of allowable email incidents. Enter a zero if no incidents are allowed or leave the field blank to allow an unlimited number of email incidents. If the SLA_SUBMIT_EMAIL configuration setting is enabled, a valid, active SLA must exist for contacts and organizations to send emails to Service. If the EU_SLA_VISIBLE configuration setting is enabled, SLA information will be visible in email response.
- Self-Service: Select this check box to allow customer access to the Answers page on the customer portal. If this is disabled, customers will not be able to view answers and may be directed to a permission denied (401 Unauthorized) error page.
Configuring the end-user pages to require an SLA:
In the Customer Portal pages, to require an SLA to access a page, you must include the sla_required_type attribute in the meta tag for the appropriate file. The available options include "chat", "incident", and "selfservice".
For further information, refer to the online documentation for Require an SLA on the Ask a Question page. In addition, within the Customer Portal administration area you can find the list of all page meta tags and their parameters; you can find out more about the administration area in the Customer Portal documentation for your version, available from Technical Documentation and Sample Code. A staff account with CP Edit permission may be used to go to the administration area and then select Framework > Page Meta Tags.
With the sla_required_type attribute added to the meta tag, the contact must have a valid SLA allowing interactions of that type associated to either their contact or organization record in order to access the page.
Here are some further considerations.
Hide Navigation tabs: In addition to customizing the file for the page to indicate that an SLA is required, you must also modify the templates so that the proper navigation tabs display for the contact that is logged in. For an example, refer to Set an SLA Condition for Displaying Page Content. The necessary conditional tags are documented in the framework documentation, again accessible from the Customer Portal administration area but this time under Page Tags instead of Page Meta Tags.
Evaluate the Support Home page: When restricting access to specific pages, if the Support Home page is enabled, review the home.php file. Consider editing home.php to remove reference to features that your general audience cannot access.
Enable privileged access to restrict answers on a per-answer basis. With respect to the answer list and detail pages, the information above applies to hiding or showing all answers for certain users. If you want to use SLAs to restrict user access on a per-answer basis, then instead of setting the requirement at the page level as in this scenario you may refer to the documentation or Answer 1838: Setting up privileged access.