This post explores a structuring feature of Salesforce Knowledge: Data Categories.

What are data categories
Data categories are administrator-controlled hierarchical taxonomies which are used for two purposes: organizing the knowledge-base content and also providing a way to secure the access to the knowledge-base content.
Modeling the data categories right on the first time is then very important and is done through answering questions like:
  • How will the user will be filtering the results using data categories?
  • Who is using the knowledge base, and in which context?
  • Do I need to have the article distributed to some specific groups of users?
Here are some examples of data category groups: Products, Geographical Areas, and Customer Types.
Categories in Products

Geographical Areas data category group

Customer Types data category group

 
Categorizing articles
 
Articles can be associated to none, one or multiple categories in each group, at any level of the hierarchy.
 
If an article is not associated to a category in a data category group, that means it is not related to the category topic. For example, if you consider the group named "Products," you may not want to relate the article "Support Contact Details" to one product. This article will appear in searches with the filter "Products" not set, but will not appear in search results when the filter is set to a category from the Product group. On the contrary, an article titled "Standard Return Policy" and categorized to All Products will appear both when no filter is set and when the filter is set to All Products.
 
Article categorization
 
In a future blog post we'll dig into the details of searching with Salesforce Knowledge.
 
Securing access to articles
 
Data categories are also used to secure the access to the knowledge base through Data Category visibility Settings which you can set at the role level (you can also set some default ones). These settings allow you to restrict the access to a sub-tree of a data category group or even to forbid access to an entire data category group.
 
Role data category visibility settings
 
For example when you are making your knowledge base available to your customers through a customer portal, you may want to have some articles available only to paying customers. In that case those articles are categorized on the category Paying Customers.  From an access right point of view, paying customers have access to the data category group Customer Types, whereas non-paying customers are restricted to the relevant sub-branch. This will ensure those non paying customers cannot read the articles they do not have access to.