Access Keys:
Skip navigation (Access Key - 0)
the netoVation Case Study

General idea platforms like Dell's IdeaStorm or sites like Digg have recently gained in popularity on the Internet. While Dell's IdeaStorm is a tool for managing ideas, improvements and critical input from customers about products, Digg's main purpose is to be able to submit links, vote and comment on them in a social and open setting. Depending on the users' reaction (such as ratings or amount of activity) to the submissions, a ranking is calculated. According to that ranking some submitted stories or ideas make it to the front page of the site or top of the list.

These sites also feature discussion areas in which users can comment on the submitted ideas. Still, the main driver behind these sites is the ability for users to vote submissions up or down which in turn influences the prominence of the appearance of the submissions on the main page or list.

Our primary goal for netoVation was to design and implement such an Idea Platform solely based on Confluence and to use its plugin system for ratings, aggregations and submissions.

A lot of ground was already covered by plugins like Customware's Reporting Plugin to create listings or Adaptavist's Rating plugin to implement the actual rating (both are Open Source and free). The biggest problem was the interoperability of these plugins; since most plugins are developed by different companies we had to customise some functionality. Specifically, the data storage for ratings was re-implemented to make use of Confluence's Bandana-Store classes.

The following image shows the basic workflow and how it is mapped in Confluence:

First of all ideas are stored as pages. With the AutoPage-Macro it is possible to create pages based on templates and fill in user-defined values into template-variables. This way pages that are compatible with the Scaffolding plugin are instantiated and placed in the right location, so the Advanced Search and Reporting Plugin are able to access the user-submitted data later on.

Once the page is created users can up/down vote the submitted idea and discuss it in the forums section or in the comments section of the page. These ratings are attached to the Confluence Bandana-Store for consistency. Inside the database the ratings are identified by their page-id (which guarantees that each rating key is unique).

This image shows how plugins interoperate on the database layer:

Other plugins (for example the reporting plugin) can now easily access the rating data by just polling the Bandana database for the page-id. This abstraction is essentially implemented in the RatingManager class which provides an easy-to-use interface to ratings and basic functionality like rating-resets, average values or rating-counts. With the help of this class it should be straight-forward to connect other plugins to the rating system.

Due to the fact that the plugins used are Open Source and that a large part of the intended functionality was already present, all that had to be done was to adapt interfaces and work on interoperability. This has currently only been tested on Confluence 2.6.1. Later Confluence versions and plugins would require testing.

(None)

Adaptavist Theme Builder (3.0.1-SNAPSHOT) Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 916 Build:#Nov 09, 2007 {3})
Free theme builder license