When implementing Salesforce knowledge, articles can be associated with data categories, which are contained inside data category groups. You can define up to three active data category groups, and an article can be associated with up to 8 categories per category group.
What might come as a surprise, is the requirement for an article to be visible if it is associated with categories in more than one group.
Consider the following setup of a knowledge base for Bob Buzzard Inc, providing information on Salesforce1 for my developers:
I have an article on adding a Visualforce mobile card to a page layout that is associated with the Mobile Cards data category, which my developers have access to through their profile, which includes all categories in the group:
A developer can then see the article via the Knowledge One tab:
I then set up another data category group for Administrators:
as my developers and administrators are quite protective of their roles and responsibilities (will they ever get along :), so developers have no access to the admin data category:
It then strikes me that the article about configuring a Visualforce mobile card would also be of interest to admins, so I add it to the Mobile Cards category in the admins group:
Once I’ve published this, the developers are straight on the phone complaining that they can no longer see the article:
all they can see is the test article.
Poring over the knowledge implementation guide presents the following explanation:
"A user can see an article if he or she can see at least one category per category group on the article."
In this case, as my developers can’t see a category in the admins category group, they can’t see the article any more.
Unfortunately, there will be an uprising if I give the developers access to the admin Mobile Cards category, so that isn’t an option for me. The workaround that I came up with was to add a fake “shared” category to the admins category group:
and associate the article with this category:
and finally give my developers access to the shared category:
Now my developers can see the article again:
The downside to this is that I’ve burnt two data categories out of my allowance of eight in the admin data category group, and I have to replicate the “shared” category in the developers data category group to allow the admins to see the article. While its not overly onerous, it still strikes me as odd. If you agree, please vote up my idea to allow users access where they have access to any category, regardless of group, associated with the article:
Author’s note: all talk of Salesforce Admins and Developers not getting along is artistic license to ensure that I had to use my workaround. In reality its one big love-in.