CiviCRM Community Forums (archive)

*

News:

Have a question about CiviCRM?
Get it answered quickly at the new
CiviCRM Stack Exchange Q+A site

This forum was archived on 25 November 2017. Learn more.
How to get involved.
What to do if you think you've found a bug.



  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Developer Discussion »
  • Google Summer of Code »
  • [GSOC 2014] Ready to Use Data Visualization Framework
Pages: [1]

Author Topic: [GSOC 2014] Ready to Use Data Visualization Framework  (Read 1744 times)

s0014

  • I post occasionally
  • **
  • Posts: 56
  • Karma: 2
  • CiviCRM version: 4.4.5
  • CMS version: Drupal 7.28
  • MySQL version: 5.5.37
  • PHP version: 5.5.9
[GSOC 2014] Ready to Use Data Visualization Framework
March 18, 2014, 05:09:48 am
Hello Developers,

I am Siddharth Gupta, a 3rd year undergraduate student at IIIT Delhi, India. I am interested in working for Data Visualization for civiCRM which will help organization in better analysis of data. I have a small experience with D3 which is a data visualization javascript library.

I have previously worked with a student organization and have an idea about data visualization requirements. At that time, I was not very well aware of civiCRM but I think that knowledge will definitely help me in choosing generic dimensions for visualization.

I primarily want to work on the following two Ready to Use Data Visualizations:
  • Event Registration Visualization: Data Visualization of Registrations for events. Some features I can think of right now are:
    • Being able to see how registration evolve over time.
    • Gender based data of the people who register.
    • Beign able to see which agegroup register faster for the event. etc.
  • Contribution to Visualization of Donors Trend: There is already some work done on donor trends  at https://github.com/leez/org.eff.donortrends. I would like to work further on it and will be visualizing the same for better planning for the organizations.

I will be requiring the community's help and feedback for these prototype. Please suggest anything else I should work upon and include here. I am really interested t know anything you came across which need a better ready to use visualization for better analysis.

Thanks and Regards,
Siddharth Gupta
New Delhi, India
Sid
DataViz Project, GSoC 2014

xavier

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4453
  • Karma: 161
    • Tech To The People
  • CiviCRM version: yes probably
  • CMS version: drupal
Re: [GSOC 2014] Ready to Use Data Visualization Framework
March 18, 2014, 06:01:51 am
Hi,

The goal of the GSoC is to have a framework that allow every org to build easily a new dataviz and document it well. However, it will be useful to have some that are ready to use, both as examples and hopefully so orgs can use them directly to understand better.

It might be good to start with one of the dataviz that focusses on the contacts: evolution of number of contacts over time, per type (org/individuals/households), how many per group/tag, how complete they are (eg. how many have an email/phone/address)

Would be good you install and get a feel of the existing extension (it's based on dc, a library that mixes d3 and crossfilter)
 
https://github.com/TechToThePeople/civisualize

-Hackathon and data journalism about the European parliament 24-26 jan. Watch out the result

JohnFF

  • I post frequently
  • ***
  • Posts: 235
  • Karma: 6
  • CiviCRM version: 4.4.13
  • CMS version: Drupal 7.28
  • MySQL version: 5.5.31-1
  • PHP version: 5.3.27
Re: [GSOC 2014] Ready to Use Data Visualization Framework
March 18, 2014, 07:44:21 am
Hi Siddharth,

This sounds like an excellent project.

My advice is, if you build something that's quite a generic system then more people are likely to use it, polish it, and adapt it.

For example, you could build something that gets a count of distinct values for Individuals' data, the count of contacts with this, and display it as a pie chart. Allow the user to select which dataset is chosen. Then someone else might add something to that, that custom fields can also be considered.

You will also find that with a less specific approach, more developers are likely to want to join you...
If you like empowering charities in a free and open way, then you're going to love Civi.

Email Amender: https://civicrm.org/extensions/email-amender
UK Phone Validator: https://civicrm.org/extensions/uk-phone-number-validator
http://civifirst.com
https://twitter.com/civifirst

JohnFF

  • I post frequently
  • ***
  • Posts: 235
  • Karma: 6
  • CiviCRM version: 4.4.13
  • CMS version: Drupal 7.28
  • MySQL version: 5.5.31-1
  • PHP version: 5.3.27
Re: [GSOC 2014] Ready to Use Data Visualization Framework
March 18, 2014, 07:45:19 am
Also, do you have any plans to join any CiviCRM sprints?
If you like empowering charities in a free and open way, then you're going to love Civi.

Email Amender: https://civicrm.org/extensions/email-amender
UK Phone Validator: https://civicrm.org/extensions/uk-phone-number-validator
http://civifirst.com
https://twitter.com/civifirst

Donald Lobo

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 15963
  • Karma: 470
    • CiviCRM site
  • CiviCRM version: 4.2+
  • CMS version: Drupal 7, Joomla 2.5+
  • MySQL version: 5.5.x
  • PHP version: 5.4.x
Re: [GSOC 2014] Ready to Use Data Visualization Framework
March 18, 2014, 09:04:39 am

my 2 cents:

a. considering the deadline for projects is fast approaching, i would do a first quick draft of your project and post it here (similar to siddanth and aditya)

b. I like your starting points, i'd also add xavier's contact history over time and use these 3 as examples to help build a potentially generic and useful platform for other stuff within civicrm (aditya's project includes using d3/crossfilter for mailing reports)

c. I would keep things simple and concrete and avoid making things too generic. I'd let the examples drive the framework once you have a better idea of how to interact with the DB etc.

lobo
A new CiviCRM Q&A resource needs YOUR help to get started. Visit our StackExchange proposed site, sign up and vote on 5 questions

Donald Lobo

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 15963
  • Karma: 470
    • CiviCRM site
  • CiviCRM version: 4.2+
  • CMS version: Drupal 7, Joomla 2.5+
  • MySQL version: 5.5.x
  • PHP version: 5.4.x
Re: [GSOC 2014] Ready to Use Data Visualization Framework
March 18, 2014, 09:24:28 am

also please do use IRC http://irc.civicrm.org/ if you want quick answers to stuff that you want to include in your proposal

lobo
A new CiviCRM Q&A resource needs YOUR help to get started. Visit our StackExchange proposed site, sign up and vote on 5 questions

s0014

  • I post occasionally
  • **
  • Posts: 56
  • Karma: 2
  • CiviCRM version: 4.4.5
  • CMS version: Drupal 7.28
  • MySQL version: 5.5.37
  • PHP version: 5.5.9
Re: [GSOC 2014] Ready to Use Data Visualization Framework
March 18, 2014, 02:31:02 pm
Thanks a lot for your feedback. This is the initial plan I came up with for the project. This takes care of making everything generic so that users can modify it as and when required. Also, I tried my best to incorporate community feedback and suggestions all through the time-line.
  • Week 1-2: Research and Learning weeks:
    1: Work on DC and get a good idea about it.
    2: Use civisualize and look for what data needs visualization.
    3: Learn different ways of extracting data using REST API and/or Direct Database Queries
  • Week 3: Data Design and Extraction:
    1. Finalize on High Level Specific Data.
    2. Create module to extract data.
    3. Get feedback from the community on data specialization.
  • Week 4-6: Data Visualization
    1. Blog post on civicrm.org summarizing the findings of research and the specification.
    2. Incorporate DC (http://nickqizhu.github.io/dc.js/) used in civisualize for data visualization.
    3. Take feedback.
    4. Bug fixes and improvement according to feedback.
  • Week 7-9: Integration with already available extensions.
    1. Integrate with civisualize.
    2. Incorporate visualization with other Donor Trends (https://github.com/leez/org.eff.donortrends)
    3. Provide customizable modules for advanced users.
  • Week 10: Integration with civiCRM
    1. Documentation.
    2. Integrate with civiCRM to make it Ready-To-Use.
    3. A blog post with details of Integration.
  • Week 11: Testing and Deploying
    1. Testing and bug fixes.
    2. Feedback from community for further work.
    3. Merge with CiviCRM master.
  • Week 12: Project Wrap up
    1. Project wrap up and buffer week.
    2. Final blog post which will include further possibilities.

Please provide your valuable feedback and comments about the same.
Sid
DataViz Project, GSoC 2014

xavier

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4453
  • Karma: 161
    • Tech To The People
  • CiviCRM version: yes probably
  • CMS version: drupal
Re: [GSOC 2014] Ready to Use Data Visualization Framework
March 19, 2014, 12:32:15 am
Hi,

I would suggest to swap step 3 and 4-6: it's easy to work on fake static data (one big array) and see how to display it, and that's the part that need more time discussing with the users see if the viz makes sense and help them.
And it will be easier for the data extraction to know exactly what data you need.

As lobo suggested, we need at least two separate concrete and useful viz to know what is common and make something generic. It's easy to refactor two or 3 than to get stuck with a not good generic framework.

 FYI, I don't see this project "integrating with" civisualise, either it's the starting point and you project is to make it evolve and add all the nice things you identified, or it's deemed not a good starting point and it will be replaced.

We will see if it meeds to be merged into civi core of if it's better to stay as an extension (we try to have most of the new features wrapped in extensions). but either merged back in the core or as extension, your points are valid.

I would suggest you submit your project to melange asap, we can comment there and you can improve it there.
-Hackathon and data journalism about the European parliament 24-26 jan. Watch out the result

Owen

  • I post occasionally
  • **
  • Posts: 83
  • Karma: 2
    • Leukaemia & Lymphoma Research
  • CiviCRM version: 4.3.4
  • CMS version: Drupal 7
  • MySQL version: -
  • PHP version: -
Re: [GSOC 2014] Ready to Use Data Visualization Framework
March 19, 2014, 06:45:16 am
Hi Siddarth,

Great project.

Quote
Gender based data of the people who register.

A demographic report that that could be used for any group contacts (rather than just event participants) might be a nice project, looking at gender, age and location, donation averages etc...

Quote
Event Registration Visualization

Have a look at  this http://demo.webdetails.org:8080/pentaho/content/pentaho-cdf-dd/Render?solution=Leukaemia&path=&file=leukaemia.wcdf

It uses a different platform (Pentaho & CDE) but there's ideas you could look to implement. This version is using dummy data but I've mostly implemented this at LLR and can share the code and DB queries.

Quote
Contribution to Visualization of Donors Trend:

This would be great.

jamie

  • I post occasionally
  • **
  • Posts: 95
  • Karma: 6
Re: [GSOC 2014] Ready to Use Data Visualization Framework
April 04, 2014, 08:50:12 am
Great to see this project moving forward - apologies for weighing in late.

Although I don't think you should bog down your project with backward compatibility, I think it would be important to include recommendations on what you think should be incorporated into CiviCore. In particular - if we could replace OpenFlashCharts while maintaining the same functionality it would be a huge win.

PTP collaborated with Eileen on several reports with charts dealing with fundraising which might be of interest:

Spec: http://wiki.civicrm.org/confluence/display/CRM/CiviEngage+Enhancements+for+fund-raising

And you can find the code:

https://github.com/eileenmcnaughton/nz.co.fuzion.reportbase
https://github.com/eileenmcnaughton/nz.co.fuzion.extendedreport

And lastly... you can find the main hitch Eileen ran into (creating a dashboard with two pie charts from one report) discussed here:

http://forum.civicrm.org/index.php/topic,27995.msg119805.html#msg119805

This last discussion takes up the bigger question of the "future of charts in CiviReport"


Eileen

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4195
  • Karma: 218
    • Fuzion
Re: [GSOC 2014] Ready to Use Data Visualization Framework
April 22, 2014, 02:32:04 pm
I've also done reports (in the extended report extension) that will create what is called pivot charts in MS Excel - ie, you can create a table like

Event MaleFemaleBit-of-both
Swimming Relay 45801
Catch up at Cafe 3128

There are a bunch of variants on that - you basically choose a row header & a column header & whatever filters you want. I had a go with D3 using the report.getrows api and turned out a lovely gender by case type report. However, when I switched the columns to ethnicity it was pretty much unreadable - you can see the pics attached (data is dummy data). Also I made it such that some metadata is available via the api - but not enough I suspect. The api changes I made are all in 4.4.5- & the tpl is here https://gist.github.com/eileenmcnaughton/8660920 (with dataviz) (note hard-coded report instances & rest is generic).

This was all by nature of tinkering the customer mostly wanted the tables & didn't require the graphs & at this point the conversation always turns to X's feelings about pie charts.

However, I'm not too sure if all of that will or won't be terribly helpful. I definitely would love to see d3 as the report engine for the CiviCRM reports but my understanding is that the strength of Dataviz is when it works with raw data & allows you to dynamically filter - as opposed to the sort of pre-filtered pre-prepared data sets I was using.

In terms of integrating d3 into existing reports there are a number of challenges - how do you avoid the report specific hard-coding currently in the open flash chart implementation, how to you make the appearance of the report work with multiple data sets (as per my pic), how do axes get labeled, what configurability do you expose to the report builder, how do you make it work in dashlets. I am not sure if that will be a focus of this project or a different approach will be used.

« Last Edit: April 22, 2014, 02:33:38 pm by Eileen »
Make today the day you step up to support CiviCRM and all the amazing organisations that are using it to improve our world - http://civicrm.org/contribute

xavier

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4453
  • Karma: 161
    • Tech To The People
  • CiviCRM version: yes probably
  • CMS version: drupal
Re: [GSOC 2014] Ready to Use Data Visualization Framework
April 22, 2014, 05:07:52 pm
Hi,

there is an option to not print the label and only put them as title (or a legend box, I haven't used)

heatmap are the visual equivalent to the pivot chart.

I like pie.

http://media.tumblr.com/6e00549a83a497c4b3bb25303d9cc2b6/tumblr_inline_mfea04566B1rpbpx7.jpg

X+
-Hackathon and data journalism about the European parliament 24-26 jan. Watch out the result

Eileen

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4195
  • Karma: 218
    • Fuzion
Re: [GSOC 2014] Ready to Use Data Visualization Framework
April 22, 2014, 05:35:07 pm
I hope the output of the GSOC will be a little more than your above link....
Make today the day you step up to support CiviCRM and all the amazing organisations that are using it to improve our world - http://civicrm.org/contribute

xavier

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4453
  • Karma: 161
    • Tech To The People
  • CiviCRM version: yes probably
  • CMS version: drupal
Re: [GSOC 2014] Ready to Use Data Visualization Framework
April 23, 2014, 12:30:59 am
If "community bonding" has the same meaning for GSoC than for the A-team, I suspect we will get some marmite and a side of warm beer to get along as part of the result too.

X+

P.S. Old people rambling, GSoC students stay clear of comments about the decoration and it will be fine ;)
-Hackathon and data journalism about the European parliament 24-26 jan. Watch out the result

Pages: [1]
  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Developer Discussion »
  • Google Summer of Code »
  • [GSOC 2014] Ready to Use Data Visualization Framework

This forum was archived on 2017-11-26.