The Now Platform® Washington DC release is live. Watch now!

Help
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Sarup Paul
ServiceNow Employee
ServiceNow Employee

Knowledge v3 (released with Fuji) integrated User Criteria into the Knowledge Management application. User Criteria is meant to provide more configurable access controls for a more robust knowledge base. User Criteria allows you to choose your level of security based on groups, roles, locations etc. and are applicable at the Knowledge base level. As a part of the changes, the "Role" field on the article was hidden. This gives the perception that it's not feasible to configure article level security, within a single Knowledge Base.

 

With KM v3, it is possible to configure article level security, if desired, in your implementation. Additionally, you can implement additional filtering of articles. I will show you how to apply roles to articles in an Knowledge Base, as well as how to use Business Rules to filter with custom fields.

 

Applying Roles to Knowledge articles

Roles based access control is honored by Knowledge v3 interfaces such as search and article view. In order to configure article view access, you will need to enable the "Role" field and set the roles on each Article, that you would like to allow "read" access.

km v3 roles.jpg

 

Please note that this will work in coordination with the User Criteria defined for the Knowledge base. This means that if the KB does not provide read access to a specified group, allowing access via "Roles" will not bypass those restrictions. The "write" permissions will continue to be controlled by the User Criteria definitions. You will need to have broader access permitted through User Criteria (on KB configuration) and then apply restrictions on the article, to limit its access. Once the roles are enabled, you can select Roles from the article, as has been supported in earlier releases.

user criteria v3.jpg

 

The earlier releases of Knowledge v3 had some known issues working with roles, so there were some fixes made to address them. These are available on Fuji Patch 12 and Geneva Patch 4 and onwards.

 

Using Business Rules for Filtering

Article filtering using custom fields, is an option for securing articles using parameters other than roles. Some use cases such as "Product" or "Location" based entitlement can be achieved using this framework. You can consider this as a replacement for complex ACL logic. You will need to start by configuring a new field in the Knowledge form.

 

Let's create a "region" field, for example:

knowledge filter.jpg

After that you can configure a "before" query business rule to filter content based on the logged in user's region.

before query km v3.jpg

 

In order to retrieve and compare against the location, you would need to script some of the logic in the "Advanced" section.

var gr = new GlideRecord("sys_user");

gr.get(gs.getUserID());

var currentUserLocation = gr.location.country;

var q=current.addNullQuery('u_location');

q.addOrCondition('u_location', currentUserLocation);

gs.print("Query restricted to location: " + currentUserLocation);

This will allow you to restrict the content based on region. The rules will apply in:

 

Allowing the additional controls that you may need. Using either or a combination of the Roles and Business rules you can configure who can access articles beyond the Knowledge Base level. For more information on upgrading to knowledge v3 see All things Upgrade considered on Knowledge v2 to v3.

15 Comments