Yacs handbook Content management

How to derive the categories tree from search requests?

Aside of the several sections used to post articles on this site, and of the search engine based on full-text indexation we already have, the categories tree is a very handy mean to navigate among all these pages. Years ago Yahoo! built its success on a manual classification of pages.

Of course, we are supporting such sweating efforts at YetAnotherCommunitySystem.

But we also have improved the classification process thanks to the search engine. Search and click, that is all that is necessary to expand our categories tree.

[title]Categorize the hard way[/title] On any yacs system categories live their lifes independantly from articles. On one side, articles are submitted and published on the web site. On the other side, categories and sub-categories are created, building a knowledge tree of its own.

Authenticated users can link any article to any category by displaying the article page, then by clicking on the 'Assign categories' link at the right of the screen.

Therefore, building a valuable knowledge tree involve tedious activities: - plan the organization of categories, sub-categories, sub-sub-categories, etc. - review each article to link it adequately

One problem we have with such manual activities is their potential inefficiency if practiced on a large scale.

Firstly, it's good to plan the top level of the categories tree, since this will structure the knowledge stored at the web site. But planning complex branches and leaves of this tree can require a lot of workload for poor results. Categories trees have a tendancy to not having the information you are looking for; maybe this is the web version of the famous Murphy's law.

Secondly, it's good to link each article to at least one category at posting time, and this can be achieved easily with w.bloggar for example (see How to categorize a page with w.bloggar?). But reviewing hundreds of pages afterwards to see if some of them could be linked to this brand new category that has just been created is a waste of resources.

[title]Create and populate categories with one click[/title] To streamline the management of our categories tree the search engine has been completed with a very simple feature, in order to create categories based on search results. How does this work?

Any authenticated user can use the search form as usual. On the result page, a new link has been added just before the list of matching articles. Click on the link 'update the category XXXX', where XXXX is replaced by your keywords, and voila!

A new category has been created, using the search keywords as a title, and populated by up to 20 matching articles.

[title]Update a category with one click[/title] Of course, categories created this way can be updated later on, on subsequent searches for the same keywords. For example, at the moment we have 6 pages into the blogging category. It is likely that this number will change in some weeks or months when we will search on the 'blog' keyword again, and ask for a category update.

[title]Shape the tree[/title] All categories created after a search request are placed under the main branch Keywords of the categories tree. This is a convenient place to list all types of search patterns submitted to the server that have proven to be quite useful for some server user.

Any category, including those created on searches, can be moved afterwards to another branch of the tree if necessary. To do that, go the category page of your choice, click on the 'edit' link at the top of the page, select a different anchoring point in the first field and submit the form.

These classification steps are manual, and team members still need to devote some time to shape the knowledge tree after their expertise. The good news is that this is as efficient as possible since branches are already populated. To compare with Microsoft Word features, it's like moving around sections of a big document in the outline mode rather than facing tedious cut-and-paste operations.

Note that a moved category still remembers keywords used during its creation. Therefore, it can be updated whatever its position in the knowledge tree will be.