Users with the knowledge role cannot check out a published article and create another version. The Checkout UI action is not available to the 'knowledge' role users
Steps to Reproduce
- Impersonate a user who has the knowledge role and has Can Contribute Access to a Knowledge Base
- Navigate to a knowledge article where the user has Can Contribute access to the knowledge base and would like to check out the article.
- Notice that the "CheckOut" UI Action is not visible to the user. The Knowledge Management Advanced plugin is active
Identified that the ownership group field on the Knowledge article is made mandatory in the instance. Out of the box, it's not mandatory.
The Ownership Group "ABC" overrides the "Can Contribute" user criteria. So, only the members who are part of the Ownership Group can check out the KB article.
This is the expected behavior out of the box. The last part of the condition is not being satisfied for the user "X" with a knowledge role ---- (new KBVersioning().canCheckout(current))
Checkout UI Action has the below condition:
!(new KBCommon().isStackNameDialog()) && (new KBCommon().isVersioningEnabled()) && (new KBVersioning().canCheckout(current))
Line Number 324 to 328 - Script Include: KBVersioningSNC - https://<instance-name>.service-now.com/nav_to.do?uri=sys_script_include.do?sys_id=e88483e0db122200a042f278f0b8f5d0
//If Ownership Group exist but user is not a member
if(!this.hasAnyElevatedAccess(current) && !this.isGroupMemberOrManager(current[this.OWNERSHIP_GROUP]))
The above is returned false [Since the issue is Ownership Group exists in the Knowledge article but a user with knowledge role is not a member of the Ownership Group]
- Navigate to the script include "KBVersioning" - https://<instance_name>.service-now.com/nav_to.do?uri=sys_script_include.do?sys_id=1f4b1fe4db122200a042f278f0b8f5a7
- Override the function "canCheckout" which is defined in the KBVersioningSNC
- ie, Remove the above mentioned if conditions.