Wednesday, October 05, 2005

Collaboration Platform

Background I was looking for a collaboration platform for the team of engineers here. I looked at wikis, but most of them suck particularly at content classification. We had a few outline requirements including The ability to:

  1. Create/update/delete content
  2. Create discussion forums
  3. Tag/categorise content with appropriate keywords
  4. Blog hosting for engineers
  5. Aggregating content from external blogs
  6. Support of site wide RSS/feed (for latest changes)
and last but not least:
  1. easy to main
Looking at the (free) options out there we selected Drupal. Drupal is an opensource CMS solution built on top of PHP. Why Drupal? We selected Drupal because typical CMS solutions expect you define a structure first and then content. Drupal is different as the content is at the core of the solution. It uses the concept of vocabularies for tagging content so the structure evolves in a more agile way. Furthermore, blogs are at the core of Drupal and these two factors were compelling reasons, which demonstrated power and flexibility way beyond typical wikis. We expect two main uses of the site:
  1. Content creation - There are several different content types. Each type of content can be tagged with keywords. This allows for a dynamic taxomony to evolve overtime
    1. Blog Entry - Every user can create their own blog entries. This can be done through the site, or it can be done through blogging software as this site supports blogging APIs
    2. <Forums - Forums can be created for the discussion of ideas
    3. Books - This are containers for pages. If you are creating several pages that are related you use a book to house them.
    4. Page - A simple content page.
    5. Poll -  If you would like vote on a subject.
    6. Survey - Ask the opinions of the community.
    7. Story - Probaly the best template for articles
  2. Content consumption - There are two main ways of consuming content. The first is through the site itself, and a web browser. The second one is through an RSS reader. This allows you to syndicate and get the latest updates directly to your desktop. Furthermore, you can filter your updates to the content you're interested in based on tags.
The Downside? Well the main one is it works with MySQL. Thats not a downside for most people but for us it is. We plan to build a module for Oracle support and then give it back to the community. I see there are lots of people interested in such a module.