Filtering the knowledge base

mduluk
Giga Expert

Is there a way to filter the knowledge base by ownership group.   We have a standard work category for our team and I would love to put a link that would show any articles that the topic standard work and the ownership group is one of my teams.   I know I can do it if I search the published list, but I would like to have it return the results in the standard knowledge base page.

1 ACCEPTED SOLUTION

mduluk
Giga Expert

So I ended up copying the kb_list ui page to kb_sw_list, and added an additional encoded query for the topic and ownership group.   Then I made a new module for My Groups Standard Work and made it a url link to kb_sw_list.do.



kb.addQuery('active', 'true');


              var qc1 = kb.addQuery('workflow_state', 'published');kb.addEncodedQuery('u_ownership_group=javascript:getMyGroups()^topic=Standard Work');


              if ('$[jvar_show_unpublished]' == 'true' $[AND] gs.hasRole(gs.getProperty('glide.knowman.section.view_roles.review', 'itil,knowledge,knowledge_admin')))


                      qc1.addOrCondition('workflow_state', 'review');


View solution in original post

5 REPLIES 5

mduluk
Giga Expert

No ideas?


britt_champeau
ServiceNow Employee
ServiceNow Employee

Hi Matt,



Does your Knowledge Article Form currently have an Assignment Group field?   When I implemented the Knowledge Base, I added this field to the OOB functionality.   Once it's a field on the form, you can filter by group.   You can make it auto-populate based on the user, SCIM, Topic/ Category or you could leave it blank and have the author fill it out.   My suggestion would be, if you leave it blank so it can be changed, you make it a required field so you don't end up with a lot of empty fields.  



There are other possibilities once you've added that field.   You can add auto-filtered modules for My Submissions/ My Unpublished Articles, My Published Articles, My Groups' Submissions/ My Groups' Unpublished Articles.   All these require is a JavaScript getFunction for all articles written by the logged in user or anyone in the logged in user's groups.   You'd want to separate Published from Unpublished, though to ensure approvals are complete before they show up mixed in with articles that have already been through your workflow.



Feel free to contact me with additional questions!


Britt Champeau


Knowledge Engineer, ServiceNow


britt.champeau@servicenow.com


We have a field called ownership group (u_ownership_group).   What I would like to do is filter the service catalog knowledge view (the html view, not the form view) by ownership group.   I actually built a content block that returns the correct list, but when I click on the link I get "the page you are looking for can not be found".


You should be able to do this with a Before/Query business rule, but keep in mind if you do that, they won't be able to see the other articles. For example this will filter to show only where Topic is 'applications' this is system wide, not just in the kb_view screen. This acts similar to an access control:



When: before


Query: True


current.addQuery('topic' ,'Applications');



Your might want yours to be more dynamic so something like:



current.addQuery('u_ownership_group', 'javascript:getMyGroups()');