GSOC Final Evaluation

2019-08-25 02:59
Written by

Complete GSOC Final Coding Period. Thanks to my mentor and whole CiviCRM community for their constant help throughout my GSOC period. This blog post documents the work I did for GSOC 2019 on the Data processor Extension for CiviCRM.



The Data processor Extension (created by Jaap) provides a user interface to create custom search screens and custom APIs. It saves time by removing the need for  writing custom searches and custom APIs. Searches are compatible across different entities available across CiviCRM. Hence it is a handy tool for system administrator. My work over the GSOC period was to extend the functionality of the Data processor and add more features to the extension.

An example on how to create a search:

In the above example search we search all people who have an active relationship with a household. We will show the name, email address of the person and we will show the name and address of the household. We can save this custom search and use it directly, without configuring the search from the start.

Link to extension:

Mentor : Jaap Jansma

Functionalities added to the extension during GSOC period:

  • Export Data processor configuration to a JSON configuration file.
  • Import Data processor from a JSON configuration file.
  • Build Unit Test Cases for the Extension.
  • Data processor output can be seen as a dashlet on home screen.
  • Added Data Sources
    • Contribution Data Source (Includes soft credits)
    • Case Data Source
    • Campaign Data Source
    • Line Item Data Source
  • Added Outputs
    • Case Search Output
    • Participant Search Output
  • Build a CiviTutorial explaining usage of Data processor Fields.
  • Documentation for new extension user along with the developer documentation for further development of the extension.


For Prospective GSoC 2020 Students:

My advice for you. Start preparing now. If you want to have a shot at being accepted, you don’t need to wait until when Google announces accepted organizations. Also when applying, choose projects that seem to be a challenge for you. Don't ignore the project because of the skill set required, you can acquire sufficient skills during the bonding period. Stay active on community forums and interact with your mentors. Don't wait until the last moment.


Link to all merged pull requests:

Filed under