Jump to: navigation, search

Activity Board

Revision as of 09:49, 20 September 2013 by Daniel Izquierdo (talk | contribs)

Mission

The goal of the Activity Board project is to provide a dashboard of software development activity metrics of the OpenStack community.

Description

The current version of the Activity Board project only contains the web front-end needed to navigate through the several perspectives of the OpenStack software development process. This is based on the analysis of the repositories of information used by the community as basic infrastructure: versioning system, issue tracking system, mailing lists and others.

The outcomes of this project can be divided into two main groups:

  • Open data: OpenStack software repositories are publicly available. And such repositories contain loads of dataset about how the OpenStack community behaves and evolves through time. The Activity Board project aims at providing such raw data in a more human-readable format and aggregated in databases and other formats.
  • Metrics browser: this product visualizes that parsed open data and provides specific visualizations. Indeed, the proposed visualization can be easily extensible by the community and third parties. Given its extensibility, in the current version of the Activity Board, there are three main frontends: General Overview of the activity, releases study and actionable dashboard.


Toolset

The Activity Board consists of three steps:

  • Retrieval process
  • Filtering and parsing process
  • Visualization

Retrieval

Information is parsed from software development repositories and stored in MySQL databases. Software development repositories are any type of data source with activity of interest for developers and the OpenStack community in general. Examples of this type of data sources are the versioning systems such as Git, mailing lists for discussions, the Launchpad ticketing system or the Gerrit activity.

The data mining toolset is based on the Metrics Grimoire project that provides specific tools for each of the analyzable information data sources.

The following tools are used:

  • CVSAnalY: this tool analyzes the versioning system. This currently supports Git, SVN and CVS. Others systems can be easily migrated to Git and later be analyzed by the tool. More information about the database schema can be found at the CVSAnalY wiki page.
  • MailingListStats: this tool analyzes mailing lists in mbox format. More information about the database schema can be found at the MailingListStats wiki page.
  • Bicho: this tool analyzes ticketing systems. This currently analyzes different flavours of Bugzilla, Launchpad, Jira, Google Code, Redmine and others. More information about the database schema can be found at the Bicho wiki page.

Filtering and Parsing

After storing in databases raw data from the software development repositories, that dataset need to be filtered, cleaned and massaged in order to provide useful information for the community. VizGrimoireR is the library used for this purpose and specialized in analyzing databases from the Metrics Grimoire toolset. R is the programming language mainly used and JSON files are provided as outcomes of this step.

Visualization

The final part of this process consists of the visualization, where those JSON files are feeded to the VizGrimoireJS library, that builds the web frontend necessary to navigate through the several aspects of the OpenStack project.

How to contribute

This projects follows the general software development process of the OpenStack project. A bit more of information can be found in the Gerrit workflow page.

Besides, you can collaborate with the project using the following channels:

Next Steps

The code currently found in the Activity Board project contains that needed for the web frontend. It is expected to work on the following actions:

  • Upload config file to run the whole Metrics Grimoire chain
  • Add dependencies in terms of JavaScript libraries such as Bootstrap, JQuery of VizGrimoireJS
  • Add specific R files to use the VizGrimoireR library that retrieves all of the information needed to run the OpenStack Activity Board.