Tagging is very useful (and fashionable).
I wrote a small package to allow tagging any acs object and to display the popular tags as a tag cloud.
xowiki provides an implementation that is limited to xowiki pages, while the tags package is more general allowing tagging against acs_objects and to this end it uses the xowiki_tags table, replacing the foreign key constraint on cr_items with acs_objects.
tags acts much like general-comments, attachments and ratings, providing to the programmer a way to include tagging in any application.
To generate a link in your pages you can invoke tags::create_link. This brings you to the edit page, where you can view, add or change your own object's tags. The edit page shows also the other object's tags and the popular tags, that you can click to add to the form before submitting.
The 'Popular tags' portlet shows the tags as a tagcloud. You can include it in your pages:
- via <include src="/packages/tags/lib/tagcloud"> in your adp
- or via {{adp portlets/tagcloud}} after copying the portlet from the resources folder to the portlets folder of xowiki
Clicking a tag finally brings you to the tagged-items page, where you can view, order and filter the tagged items.
Actually the package is marked as a singleton and is localized only in English and Italian.