Will Oller .com

Avatar

Learning to match the beat of the Old World man.

Generating amazing reports using Basecamp (Part 1 - Tagging)

We’ve been looking for good ways to produce advanced reports using Basecamp. We have hit upon a system in which we implement a rudimentary tagging system, and add additional metadata for time estimation.

In this first part, I will explain the simple tagging system. Next time, I will tell you all about the Big XML Dump.

Tagging System

Tagging will be implemented using { curly braces } around a comma-delimited list. We will be using our regular work categories as tags, so a typical todo-list might look like:

Implement new feature {Programming}

  • Add new processing loop
  • Create new template {HTML Production}
  • Connect to pre-existing API

We want our tagging parser to be smart, and change an item’s tag list on the fly based on it’s parent item’s tag list. That sounds complicated; here’s an example using the list above.

Computed Tags

Implement new feature {Programming}

  • Add new processing loop {Programming}
  • Create new template {Programming, HTML Production}
  • Connect to pre-existing API {Programming}

The italicized tags are derived from the list’s name (Implement new feature) and will be programmatically added.

Time Estimation

Time estimates are handled in much the same way as the tags, just using straight brackets instead ([, ]).

Adding time estimation to our list:

Implement new feature {Programming}

  • Add new processing loop [1]
  • Create new template [6.5] {HTML Production}
  • Connect to pre-existing API [9]

This way, each todo-item has a time value associated with it. We will use this data later on to test our estimation skills and to quantify our productivity.

Next: Part 2 - The Big XML Dump

Continue