Business Analytics and Reporting

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
nodestroy's picture

Title
Business Analytics and Reporting

Who
Dominik Kiss (dominik@eor.at)
My username on drupal.org is nodestroy. A long while ago I contributed to buddylist till it was replaced with friendlist and other solutions like flag module. I'm a computer science bachelor student at Vienna University of Technology, Austria. I'm working with drupal since 2005.

Overview
This project is about creating a generic logging and reporting solution built upon available Drupal 7 technologies. The main parts are a storage system for raw site-dependent data, a charting solution to provide rich visualizations and finally a reporting system which provides reports about the current and past state of the site. Based upon the provided data a site owner should be able to make data-driven decisions and to hand over well presented reports to other people.

Description
As explained in the Overview section this project consists of multiple more or less interrelated parts, I will give a brief description of each one.

Use case
- Custom logging functions (very site-dependent):
- Sold cars per brand for car-selling platforms
- Count of active users after sent newsletter
- How many users registered during the latest ad campaign
Besides the custom logging functions for site-dependent data a set of default drupal system logging will be provided. Some examples:
- Registered users per role per day
- Published nodes per node type per week
- Unpublished spam comments per week

Storage System:
Provide a generic Storage System build upon Drupals Entity/Metadata concept. A possible architecture could be: Domain entity for rough categorization of data, field-able datastore entity for fine categorization and data handling. Development of an extra field type for time-based data structures with timestamp and value as parameters. One big advantage to build upon Entities is the possibility to switch storage backends to improve performance (e.g. switch to mongo db for heavy loaded timestamp/value tables). Currently there is no drupal module addressing this issue in an adequate way. With metadata integration many drupal7/contrib features are coming for free, like rules integration. The purpose of the storage system is for collecting relevant data periodically. Nowadays one has to use the log messages to extract needed data out of drupal, the storage system would provide a much better way to deal with this issue.

Visualization System:
In Drupal we have many modules addressing the generation of charts. None of them is really perfect and currently none of them is supporting a suitable api to generate nice and user friendly charts. As the field of charts is really huge, I think a tailored solution would be the best one. So, this part will deal with specific timeline based charts to show past trends and to show predicted future o nes. This should integrate well with views and field formatters, so timeline charts can be produced using views, provided field formatters or api calls.

Reporting System:
Enables authorized users to generate reports and to hand over reports to other people. The goal is to use the power of existing D7 modules (e.g. Panels) and integrate reporting with them. A customizable dashboard is also part of this section. Another thought is the generation of pdf reports for email distribution.

Schedule
- till end of May: Storage system ready (defined entity types, coded custom field, tested storage system)
- till mid of June: Visualization system ready (charting tool for timeline based charts, views and field formatter integration)
- till end of June: Reporting system ready (integration with panels, dashboard for users)
- July: Default System logging, testing, testing, testing.
- August: buffer time for bug fixing, theming, documentation

Mentors: proposed mentor klausi (well known drupal guy from same university)

Comments

So please post your proposal

dawehner's picture

So please post your proposal ASAP on melange. The deadline is not more than two days.

Take care that you use http://groups.drupal.org/google-summer-code-2011/proposal-template for the proposal. For example answer the puzzle.

Alright, as you already

klausi's picture

Alright, as you already contacted me and we discussed the proposal, I would be happy to mentor you.

Nice idea this one! Is there

manuelBS's picture

Nice idea this one! Is there a result and was this developed or will it be continued? Im also interested in this and see there are some other modules. Single modules for graphs such as the visualization module, views aggregator plus and the forena reports module https://drupal.org/project/forena
How do you see the future of this idea?