Meet the 2015 Google Summer of Code Team

Published
2015-04-29 12:26
Written by
We've officially kicked off the community bonding period for the 2015 Google Summer of Code (GSoC) this week. This is CiviCRM's second year participating in the program, and Google has increased our number of project slots this year from 6 to 10, a great step up for a second year organization. The students in total will receive $55,000 from Google for roughly 4,600 hours of development and CiviCRM LLC will receive $5000 if all 10 projects are completed successfully.

The community bonding period is especially important because it gives YOU the opportunity to learn about the projects and participate in their success. Every student has already started a forum thread that they will update throughout the project duration, and you are welcome at any time to comment on these forum threads and also to offer advice wherever possible. We have around 10'000 different organisations using civicrm, we need your help so each student has the chance to have their work used by as many as possible... and your organisation the chance of getting something very helpful for your organisation

All of the amazing mentors for Google Summer of Code are volunteering 100% of their time, which is extensive and can be upwards of 10 hours per week for more than 3 months, so please thank them wherever you run into them and also consider following along with projects that are of special interest to you to help lend a hand when a student has questions or roadblocks. This community is what makes CiviCRM a success!

Below is an overview of the students, projects, and mentor teams for GSoC 2015, as well as links to where you can find their forum threads. Please have a look and jump into the discussions on the forum to help guide all of our success!

Project: Strategic Fundraising and Campaigning

Student: Nico Bochan
Mentors:  Björn Endres and Joe Murray


Project forum thread:    http://forum.civicrm.org/index.php/topic,36091.0.html 

Summary: The 'Strategic Fundraising and Campaigning' project focuses on extending the functionality of CiviContribute module with hierarchical campaigns, more detailed metrics, reports and statistics in order to enhance the capabilities of CiviCRM for strategic fundraising and campaigning. The project aims at enhancing CiviCRM capabilities for strategic fundraising, campaigning and reporting in the following ways:

Creating a campaign hierarchy
    1.    creating the possibility for parent and child campaigns
    2.    adapting the user interface for creating and viewing existing campaigns (e.g. a hierarchical „tree view“ and possibilities for filtering
    3.    creating functions that simplify campaign management (such as copying complete campaigns including subsequent campaigns and adapting campaign dates)

Adding campaign fields and functions
    1.    fields/function for adding categorized costs (such as postal fees, printing costs...) associated with a single campaign or campaign's action (e.g. multiple value fields or financial items)
    2.    function to calculate the overall costs of of a single campaign and it's child campaigns/actions
    3.    creating a field or a function to (manually or automatically) add campaign codes that enable a (semi-) automatic matching of contributions and campaigns
    4.    create fields/functions for recording the number of contacts involved in the campaign, the costs per recipient involved (e.g. for determining the costs of acquiring a contribution or the response quote)

Reports and statistics
    1.    create configurable CiviCRM reports that make use of the enhancements described above such as return on investment, unit costs (when sending out mailings), average cost for acquiring a new donor  
    2.    create configurable visualizations such as charts and graphs to make the data easy to interpret, compare and access (e.g. using CiviReport or Civisualize)
------------
Project: Social Media Integration

Student: Siddharth Gupta

Mentors: Beckett Vester and Chris Burgess

Project forum thread: http://forum.civicrm.org/index.php/topic,36059.0.html

This student participated already last year (for civisualize) and is back again this year!)
------------

Project: Email Preview Cluster

Student: Utkarsh Sharma

Mentors: Tim Otten and Kurund Jalmi

Project forum thread: http://forum.civicrm.org/index.php/topic,36059.0.html 

Summary: The goal of this project is to develop an open-source backend for previewing email content on a range of different webmail services such as Gmail, Yahoo! Mail, and Microsoft Live. We'll be using Selenium Webdriver, based on NodeJS, to implement browser automation on the backend. It will automatically send the email to accounts on these webmail services, which will then be logged in to, one by one, and screenshots will be taken. These screenshots will be displayed to the user on the frontend.

------------

Project: Integrating Google Analytics With CiviCRM And A/B Testing

Student: Vishal Agarwal

Mentors: Kurund Jalmi and Claude Bindika

Project forum thread: http://forum.civicrm.org/index.php/topic,36090.0.html
Summary: The main focus of the project is to integrate web tracking features into CiviCRM. This would be achieved with the help of API’s provided by Google Analytics. The project can be divided into four parts namely web tracking, event tracking, GUI support and A/B testing.

The web tracking feature enables organizations to determine the source of traffic to their website i.e. users were redirected from facebook, gmail, twitter, etc. This would be achieved with the use of UTM tags.

The event tracking feature enables organizations to determine the manner in which users interact with their website. An E-commerce tracking feature would also be implemented. This would enable organizations to determine the total amount of revenue generated from a particular source of traffic.

The third leg of the project enables organizations to view reports generated by Google Analytics from CiviCRM itself. This would be achieved by using the Embed API provided by Google Analytics.

As the name suggests the A/B testing feature enables organizations to run A/B tests on two different versions of the website.  

------------

Project: Predictive and Data Mining

Student: Mohit Agarwal

Mentors: Xavier Dutoit and Owen Bowden

Project forum thread: http://forum.civicrm.org/index.php/topic,35965.0.html

Summary: The main aim of the project is to add prediction to the existing data, i.e. to be able to make predictions about how likely an individual would respond positively or negatively or neutrally to a particular engagement action given their relationship history.

    1.    By positive response, it means completing a user journey to make a donation, buy a membership, buy a ticket or sponsorship for an event, or respond positively to major donor request to make a bequest sometime in the next 5 years.
    2.    By neutral, it means something close to ignoring the outreach.
    3.    By negative response, it is trying to indicate the negative reaction that comes from spamming or asking too much or too often or too early in a relationship.

The relationship history is composed of all of the outreach actions to them and their reaching back to the organization (these blend a bit), such as bulk emails, personal emails, petition signings, survey responses, phone calls, meetings and other custom activities, contributions of various sorts (some will be purchases of goods or services and others will be donations), purchases and renewals of memberships, participation in events through registering, cases they have been involved in (these are sometimes used as workflow for selling memberships, but they can also be for things like helping a person get housing), grants they may have applied for and/or received, and so on.

------------

Project: Social Media Integration II

Student: Lorence Jr

Mentors: Beckett Vester and Claude Bindika

Project forum thread: http://forum.civicrm.org/index.php/topic,36315.0.html
Summary:  The project social media interaction with CiviCRM is of practical importance to the goal of CiviCRM which is to better manage organization’s audience (Constituent Relationship Management). This project involves ensuring that the platform of CiviCRM should be able to interact with social media platforms and ease or increase the effectiveness of the way an organization manages its constituent relationships. Since CiviCRM aims at sustaining
relationships with supporters over time, the social media integration project will help the organization to use CiviCRM to sustain supporters relationships by doing the following; integrate with social media platform logins such as Facebook, twitter, and Instagram for quick and easy petition signing or event registration and to get authorized access to petition-signers' social graphs, pull in contacts from social media & match to CiviCRM contacts based on
available information, import into CiviCRM data about who is re-tweeting, sharing, writing on your wall, establish ways to determine highly active users based on their social media activity, Add social media feed dashlet to see 'what's going on right now', Add ability to automatically publish/tweet about events, certain types of activities, possibly progress towards fundraising goals. Key deliverables of this project include the following; scope and specification document of the project, a UML model document of the project, Social media integration with CiviCRM to pull in contacts from social media and match to CiviCRM contacts base, Social media integration with CiviCRM to enable social media login, Social media integration with CiviCRM to import into CiviCRM data about who is re-tweeting, sharing, writing on your wall, Social media integration with CiviCRM to establish ways to determine highly active users based on their social media activity, Social media integration with CiviCRM to add social media dash-let to see ‘what’s going on right now’, Social media integration with CiviCRM module to add ability to automatically publish/tweet about events, certain types of activities, possibly progress towards fundraising goals,  development and user manual of the project.
------------

Project: Bridging FreeSWITCH and CiviCRM

Student: Ashish Mishra

Mentors: Ravi Senghodan, Joe Murray, Joe McLaughlin

Project forum thread: http://forum.civicrm.org/index.php/topic,36085.0.html

Summary:  Developing a bridge that connects FreeSWITCH and the CiviCRM to make and receive calls. The bridge will be in a form of an open source plugin which can be installed and hence enabling the CRM to communicate and route calls through FreeSWITCH running in background. The outgoing calls can be made by by clicking the users phone number that appears in the form of a hyperlink. Also, updating the call detail records in CiviCRM either automatically or manually.

------------

Project: Open Supporter Data Interface Implementation

Student: Anudit Verma

Mentors: Eileen McNaughton, Joe Murray, Joe McLaughlin, Tim Anderegg

Project forum thread: http://forum.civicrm.org/index.php/topic,36374.0.html

Summary: Open Supporter Data Interface (OSDI) implementation in line with CiviCRM's mission to be an open platform for small organizations so that they can achieve the audacity and technical acumen in order to perform integrations easily.The OSDI API seeks to bridge this divide and create standards for data interchange. OSDI exists as a standard in development with a minimum of one implementation by Action Network, and planned implementations by NGPVAN, Catalist, Salsa and other data "vendors".



------------

Project: CiviMobile

Student: Jagatheesan Pillai

Mentors: Aman Alam, Michael Daryabeygi 

Project forum thread: http://forum.civicrm.org/index.php/topic,36037.0.html

Summary: The goal of this project is to provide a more integrated experience of CiviCRM through the gadget one might be using all the time - the mobile phone. Civi Mobile App would act as a digital assistant, which will not only fetch content stored in CiviCRM’s web version to do useful tasks on Mobile but also add new content to the web version. The Civi Mobile will feature the following functionalities:

    1.    Keep a record of all the SMS conversations between the user and its CiviCRM contacts.
    2.    Keep a record of phone calls exchanged between the user and its CiviCRM contacts.
    3.    At the end of each phone conversation with a CiviCRM contact, a screen may be allowed to pop up and letting the user to add additional notes/comments on the conversation.
    4.    Additional information about each CiviCRM contact could be added to CiviCRM web, for example:- whether a user is vegetarian or not (for your dinner party ) and the same could be made available in the Civi Mobile App.
    5.    Opening the App will let users find all kind of informations about their interaction with their CiviCRM contacts. Like, with whom the user had most number of SMS conversations, phone calls, which CiviCRM contact called the user often, find out contacts with positive notes (the one you add after end of each phone call.) And more.
    6.    A interface which showcases profile of a particular CiviCRM contact, the photos of last interaction with them etc.
    7.    If the CiviCRM web has any tasks/reminders pending, like call a particular contact/send an SMS to a particular contact. Then the same will be synced to Civi Mobile which ultimately will not only remind the user about the tasks but provide quick buttons to perform the action immediately.

------------

Project: Refunds and Partial Payments  

Student: Tahir Ramzan

Mentors: Parvez Saleh, Joe Murray

Project forum thread: http://forum.civicrm.org/index.php/topic,32411.0.html
Summary: My GSoC project is to develop the functionality of full refund, partial refund and partial payment for events, contributions and memberships. After this project CiviCRM users will able to do full refund, partial refund and partial payment with ease, security, reliability and efficient user interfaces. There are some potential problems which may occur several times when we need to do full refund, partial refund and partial payment. For example; a cheque is made out in the wrong amount, an event ticket is returned before an event, a membership or subscription is cancelled, or a donation exceeds the legal limit for a campaign contribution. A typical use case for partial payment would be putting a deposit down on a table for a dinner using a credit card online and then having a cheque sent to cover the outstanding balance or spreading a large annual membership payment into several installments by post-dated cheques. For more use cases for partial payment, please check http://wiki.civicrm.org/confluence/display/CRM/Partial+Payments+use-cases

Filed under