role to retire knowledge article

Abhi33
Tera Expert

Hi All,

Is there any particular role required to retire a knowledge article?

The user is having knowledge and knowledge_manager role assigned but he's not able to retire the KB articles of other author's but he's able to retire his own one's i.e the retire button is visible only if he is the author

find_real_file.png

this is the script include

find_real_file.png

KBversioning SI:

find_real_file.png

OWNERSHIP_GROUP : "ownership_group"

1 ACCEPTED SOLUTION

Sulabh Garg
Mega Sage
Mega Sage

Hello Abhi

In addition to the knowledge administrator and the knowledge manager, the following users can retire a versioned article:

  • knowledge owner
  • latest publisher of the versioned knowledge article (not available for kcs_candidate or kcs_contributor)

For more info, please visit..

https://docs.servicenow.com/bundle/rome-servicenow-platform/page/product/knowledge-management/concep...

 

Please Mark Correct/helpful, if applicable, Thanks!! 

Regards

Sulabh Garg

Please Mark Correct/helpful, if applicable, Thanks!!
Regards
Sulabh Garg

View solution in original post

5 REPLIES 5

shloke04
Kilo Patron

Hi,

The way it works OOB is as below:

1) UI Action calls a Script Include named "KBKnowledgeSNC" where "canRetire" function is defined.

2) Now this function check for below parameters before allowing Retire access:

a) If logged in User has a Role as Admin or has a role as "kcs_contributor" or "kcs_candidate"

b) If Knowledge Versioning is allowed then below parameters are checked:

i) Another Script Include named "KBVersioning" is called where it is checked as below:

ii) If State is Not Published, then Retire button will not be shown

iii) Then theis function is validated "hasAnyElevatedAccess" which basically validates if logged in User is an Admin then Retire will be shown. If Logged in User is a Knowledge Base Owner, if it is then Retire button will be displayed. And also same for Knowledge Base Manager will be able to see Retire button.

c) if Group Ownership at Knowledge article level has been defined then that override and allows access to ownership group

d) If Author has logged in and accessing the article then author will be allowed to retire the article.

e) Final check is made for Revisior which is nothing but the value of user in Revised by field in Knowledge article who is allowed to retire an article.

These many calculations are done before deciding who should have access to retire Knowledge article.

We had a similar requirement and we implemented the below situation to allow ITIL user to retire knowledge article which was easy to implement as well:

1) Create a group say name it as "Knowledge Can Retire" where only selected Fulfiller will be added by Knowledge manager who will have ability to retire the article and not all fulfillers having the ability to retire it.

So Create a Group and add "itil" tole to it and add the required Group members .

Finally update the condition of UI Action of Retire as below:

!(new KBCommon().isStackNameDialog()) && ((new KBKnowledge().canRetire(current)) || gs.getUser().isMemberOf('Knowledge Can Retire'))

Hope this helps. Please mark the answer as correct/helpful based on impact.

Regards,
Shloke

Hope this helps. Please mark the answer as correct/helpful based on impact.

Regards,
Shloke