Monday, March 8, 2010

Organizing Your Wiki Content - Part 3: Labels

In Part 2 of Organizing Your Wiki Content, we demonstrated how page hierarchies can provide a natural way to organize your wiki content. But what if your content doesn't flow so nicely? In Part 3, we discuss Labels.

This is the continuation of a series of posts on Organizing Your Wiki Content:


Labels

So how do you provide dynamic organizing principles if your content doesn't fall into natural page hierarchies? The answer is labels. Labels (also known as tags) are a way to annotate your content with appropriate topics. Labels are the primary way to find things on many popular web sites like the photo sharing site flickr, social bookmarking site delicious, and communication sites like twitter through the use of #hashtags.
By adding a few labels to your page, it's easy to find content that shares that label as well. By simply clicking on a label on a page, you can search your Confluence installation that have that label, either just in that space or across all spaces.

Browsing labels after clicking on the "label" label
Another way to dynamically pull in content using labels is by using the {contentbylabel} macro. The {contentbylabel} macro will list content that have labels that you specify. You have a lot of control using  {contentbylabel}, including which spaces to search through and what kind of content you'd like to include. My {related-content} user macro is another way to leverage the power of the {contentbylabel} macro, allowing you pull in content directly based on the labels of the current page, skipping the step of making you specify the labels. I'm currently in the process of moving this from a User Macro to a full-fledged plugin.

Related-Content: Edit Mode

Related-Content: View Mode

Pros

Using labels is a great way to dynamically discover and link to content across page hierarchies and across spaces in your Confluence installation. What's even more impressive is that labels can create a folksonomy that emerges based on how your users are using your wiki instead of imposing a top-down taxonomy. At my company, we use labels and the {contentbylabel} macro for knowledge management, categorizing projects and organizing our repository of HOW-TO guides.

Cons

While labels can be used to organize your content in an ad-hoc fashion, it can be problematic. First of all, it requires your users to label their content, an extra step that you'll find users don't always do. Also, you'll find that different users will apply different labels for the same category of content (e.g., how-to vs. howto, hr vs. human-resources). This can create some divergence where one group of users applies labels in one way and another group applies labels in another way. Confluence does provide some suggestions when adding labels, but not everyone will abide by that and it isn't a total solution.You're more than likely going to need some WikiGardeners to keep things tidy.

Direct linking too static? Page hierarchies too restrictive? Labels unwieldy? The next article in the Organizing Your Wiki Content series, Part 4: Fine-Grained Controls, will demonstrate how you can be a power user to organize your wiki content.

Are you a big fan of labels? How you found some nifty tricks that work for you and your organizing? Share them in the comments.

7 comments:

  1. Cool post.
    Just in case, I'd like to add the fact that you can search pages that have multiple labels, separating these labels by a "+" eg http://my.confluence.com/labels/firstLabel+secondLabel
    This will list all pages containing these 2 labels. No way however to exclude labels from a search. Gotta use macros like {contentbylabel} to exclude labels from this search.
    About label suggestion, the way confluence suggests label is kind of weird eg:
    Page H is passed in as the content object, which is labelled with A OR(logical OR) B.
    All pages labelled with A OR B are retrieved (J, K, L, M), and the labels on those four pages are returned in order of frequency.
    Gotta have a fulltime job to put right labels on pages ^^

    ReplyDelete
  2. This is be becoming a super useful blog for Confluence users. Well done, mate.

    A blogged a while ago about how I used Confluence labels to create a set of Frequently Asked Questions. Worth a read :)

    http://blogs.atlassian.com/news/2009/04/creating_a_faq.html

    ReplyDelete
  3. @steve - Here's a powertip, you can use search operators to search by label through the Site-Wide Search. Use the "labelText:" operator. You can probably combined it if you'd like with the AND operator.

    http://confluence.atlassian.com/display/DOC/Confluence+Search+Fields

    ReplyDelete
  4. @matt - Thanks for the kudos! I think Conflatulence is starting to pick up steam. Indeed, that's a good post on creating a FAQ using labels. In a future article I plan on putting up some lessons learned from building a HOW-TO section on our wiki.

    ReplyDelete
  5. If you have the Reporting Plugin, you can also use that to create reports on labels. Here is one I've used recently:

    {report-list:depth=3}
    {content-reporter:space=@self|labels=apple}
    {text-sort:page:title|order=ascending}
    {content-reporter}
    {report-body}
    {report-info:page:title|link=true}
    {report-body}
    {report-list}

    This provides a report of all pages in the current space that have the "apple" label. It also lists the child pages, 3 levels deep. In addition, it lists the pages as links.

    ReplyDelete
  6. @Melissa - Nice tip. I was going to get to using plugins like the Reporting plugin in Part 4, which it looks like I never got around to! D'oh. One thing to watch out for is it looks like the Reporting Plugin is going commercial -- no longer a free plugin.

    ReplyDelete
    Replies
    1. Exactly, it would be cool to have a community sharing their written macros. It's heavy when a free macro becomes commercial ($2000).

      Delete