Skip to main content
Version: 1.20.1

Portal Context and Page Mapping

Portal context

The portal context engine allows you to restrict access to specified portals for some user categories defined by User Criteria.

Example:

  1. You create two portals: Moscow Users Portal and London Users Portal.
  2. You need to restrict access to these portals only for users from relevant cities.
  3. Using the portal contexts engine, you can easily do this by creating a user criteria record (in this case, you have to specify the location as a criterion).

Create a portal context


caution

Before you start, you need to create the necessary user criteria first. For more information, see the User Criteria article.

To create a portal context, complete the steps below:

  1. Navigate to Portal Structure → Context Rules → Portal Context.
  2. Click New and fill in the fields.
  3. Click Save or Save and exit to apply the changes.

Portal Context form fields

FieldMandatoryDescription
PortalYSpecify a portal to which you need to restrict access.
You can create only one portal context record for one interface (the agent interface or Self-Service Portal). To configure the portal context for the agent interface, create a record and select the Agent interface as a target portal.
ActiveNSelect this checkbox to make this portal context record active.
Audience criteriaNIn this field, select user criteria to define users who will have access to the portal specified. If no criteria are specified, this portal will be available to all users.
OrderNSpecify a portal context record processing order. If some user fits more than one portal context record, then a record with the lesser Order value is applied to the user.

Related properties

  1. You can enable or disable this engine by editing the portals.portal_context.enable property value. It is disabled by default. To enable portal context, edit the property value and type true.
  2. You can define roles, the owners of which disregard portal context rules and have access to all categories and items of the portal specified. To do so, edit the portals.portal_conteхt.override_roles property value and specify roles here.
caution

Users with the admin role can always access any portal. The setting is preconfigured for portal context overriding.

Page mapping

The page mappings engine is used to configure redirect rules in case the visited link is not accessible due to role restrictions.

Example:

  1. One user sent a task link to another. The task link leads to the agent interface and looks the following way: https://instance.example.com/record/task/162306286418042670.
  2. The other user does not have an agent role, so they will not be able to open and see the task record. But they can open portal links, respectively.
  3. The page mappings engine allows you to create a rule that will convert agent interface links to portal links.
  4. After processing with a rule, the initial link looks the following way: https://instance.example.com/portal/record/?table_name=task&record_id=162306286418042670&view=SP.
  5. Now, the link recipient can see the link content.

Create a page mapping


To create a page mapping rule from scratch, complete the steps below:

  1. Navigate to Portal Structure → Context Rules → Page Mapping.
  2. Click New and fill in the fields.
  3. Click Save or Save and exit to apply the changes.

Page Mapping form fields

FieldMandatoryDescription
Portal contextYSpecify a reference to the previously created portal context.
URL templateYSpecify the initial URL template. The value should start with a slash: /. You can use variables, for example: /record/{tableName}/{recordID}.
There is no limit for the variable name. In the example below, it can be not only {id}, but also {identificator}, {identify} and others. But keep in mind that:
  1. Variable names should be enclosed in curly brackets, like this: {id}.
  2. Variable names in the URL template and Portal page should match to avoid errors.
Portal pageNSpecify portal page URL template. This template is used to create URLs for portal pages out of URLs passed. The value should start with a slash: /, for example /portal/record?table_name={tableName}&record_id={recordID}&view=SP.