Knowledge manager unable to publish knowledge article



A knowledge base manager cannot publish articles that are not owned by them.

Release or Environment


Expected behavior


Out of the box, the 'Publish' UI action can only be seen by Admin, KB Owner, and revisor. This can be seen in the condition of the UI action:
new KBKnowledge().canPublish(current)

This is checking the can publish function which is called in the script include 'KBVersioningSNC'. Here is the function checked:

* Checks whether this record can be published by the user
* @param GlideRecord: current
* @return Boolean
canPublish: function(current){
return false;
return false;
return true;
return true;
return false;

This code is looking for a user who is the revisor (generally the author) or the KB owner or Admin. However, the managers are the users who can approve the publishing of a record. For example, once one of the previously mentioned users clicks "Publish" this kicks off the approval process and sets the article in a state of 'Review'. From this stage, the managers can approve the publishing of the article which then sets the article to published. This can be seen in the following documentation:

Approve an article that is being reviewed

In the Approvals related list, click Requested in the State column to display the Approval form for the article.
Click Approve.
The system displays the Knowledge form. The version number of the article increments to the next whole number (for example, from 2.02 to 3.0), and the state changes to Published.

With the approval workflow, when a user clicks the 'Publish' ui action, this does not actually publish the article. This instead kicks off the approval workflow and places the article in 'Review'. Once an approver (ex: KB Owner/ KB Manger) approves this request, the record then changes to 'Published'.