How to restrict access to KB articles in the Outdated workflow state

Randall King
Tera Expert

Hello. We've just recently discovered that anyone can view an article in the Outdated workflow state in our knowledge base. We do want most of our articles to be publicly viewable. However, after we revise and publish an article, it seems like only the new version that is published should be visible. The outdated one shouldn't be visible, but it is. How can we restrict this?

I found the following two system properties:

  • glide.knowman.section.view_roles.review
  • glide.knowman.section.view_roles.draft

They are helpful for articles in the Draft and Review states, but not Outdated. I tried replicating these by making a new one with "outdated" after "view_roles", but that didn't help. I presume that there's some place where these properties are referenced, but I don't know where to look.

Ideally, we would restrict access to all articles in the Outdated state from view except by certain roles. However, if that's not possible, as a workaround I was thinking that maybe we can alter the workflow when an article gets published where it changes the "Can Read" value. This might do the trick, but it's not what we want.

Any help is appreciated.

1 ACCEPTED SOLUTION

Filipe Cruz
Kilo Sage
Kilo Sage

Hi Randall,

We had a similar requirement a few months ago.
Our solution was to set a before query business rule that would restrict the outdated articles from the Knowledge article queries. Something like this:

(function executeRule(current, previous /*null when async*/) {

	current.addEncodedQuery("workflow_state!=outdated");

})(current, previous);

I would also run this only for non-admin users! Let the admin have full access to the knowledge articles:

find_real_file.png

find_real_file.png

 

I think this should do the trick for you!!

Please, don't forget to mark my answer as correct if it solves your issue or mark it as helpful if it is relevant for you!

Best Regards,

Filipe Cruz

View solution in original post

2 REPLIES 2

Filipe Cruz
Kilo Sage
Kilo Sage

Hi Randall,

We had a similar requirement a few months ago.
Our solution was to set a before query business rule that would restrict the outdated articles from the Knowledge article queries. Something like this:

(function executeRule(current, previous /*null when async*/) {

	current.addEncodedQuery("workflow_state!=outdated");

})(current, previous);

I would also run this only for non-admin users! Let the admin have full access to the knowledge articles:

find_real_file.png

find_real_file.png

 

I think this should do the trick for you!!

Please, don't forget to mark my answer as correct if it solves your issue or mark it as helpful if it is relevant for you!

Best Regards,

Filipe Cruz

Thanks so much, Filipe! This was exactly what we needed. 🙂