Creating custom user roles
System administrators can create custom roles or modify the access of existing roles by using script includes and extension points/instances.
The Customer Service Management application utilizes platform ACLs and query business rules to
restrict data access based on user roles. If needed, users with the system administrator role can
create custom roles or modify the access of existing roles by using script includes and extension
points/instances.
- Script includes store JavaScript functions and classes to handle the role access control logic.
- Extension points/instances designate places where custom scripts can be called and then processed to extend base functionality.
The system administrator can use the extension points/instances to create their own role access constants file similar to CSQueryBRUtilOOBConstants.
The system administrator can create a new extension instance for the existing extension point
and use it to define custom role configuration constants. The following
items are included with the Customer Service Management application:
- global.CSQeryExtensionPoint: the provided extension point for CSM role configuration
- instance.CSQueryExtensioninstanceOOB: the provided extension instance for CSM role configuration
To create a new role:
- Create a new constant file to hold the configurations for the new role similar to
CSQueryBRUtilOOBConstants. For
example:
CSQueryBRUtilOOBConstantstest.ROLE_PERMISSIONS_POOL = { ‘sn_customerservice.customer_new_role’:{ ‘sn_customerservice_case’:{‘condition’:[‘my_new_condition’]}, } , - Create a new extension instance to hold the logic returning this new constant file to CSQueryBRUtil.
- Make sure this role is on the instance and contains the sn_esm_user role.
- Assign this new role to a contact.
- Create or modify the ACLs and query business rules for this role as necessary.
For more information about modifying ACLs and query business rules, see KB0685767.