I successfully completed my GSoC project after a terrific summer and here I’m going to share my experience with the whole program and what I learnt from it.
I was very excited when my proposal got selected by the community but didn’t know where to proceed, at that moment my mentor klausi and co-mentor fago helped me; they gave me initial instructions about CVS, git/github, Eclipse and Drupal. I spent almost three weeks to understand how these stuff works. In the same time I was trying to understand Rules 2.x and somewhat entity. Rules 2.x in my opinion is a great module (fago is doing a wonderful work) with a large code base and I am also newbie to OOP, so I also thought it would take more time to trace the Rules code than actually doing my proposed stuff. But as we decided a weekly open meeting throughout the program, I got an idea about my work in first meeting; it was really a tough meeting for me to grasp. We (klausi, fago and me) discussed about whole idea with a shared google diagram.
Our roadmap was simple, every week we used to decide some weekly tasks and after the week I used to post an update. My first task was to make a patch for Rules, and it came out to be really the toughest task for me. I was working on Windows and Notepad++ initially and didn’t know how to make a patch with git. At that time klausi helped me a lot. I used to talk to him daily (more than once) and he used to tell me my mistakes, but every time I made some mistake and around ten patches of mine failed. After a month that issue was closed (that was a simple patch). But I was working with my module too at that time.
I used to tell my progress and issues to klausi daily and he is such a wonderful guy that whenever I tried to contact him he didn’t disappoint me. The main development of the project happened at github and there was always a latest copy. So many times klausi used to test the module on his local machine. And in this way we successfully completed the midterm evaluation.
Till midterm optimization of event sets was done with test cases but lot of commenting was missing in the code so after midterm I did code cleanup and commenting, developed some more test cases and tried some unusual conditions. In this way I also found some errors in the code so I added checking for such unusual conditions. After midterm there were three or four weekly meetings where fago also joined us and he also reviewed the code and made some suggestions and changes. According to his suggestions I made further changes and added performance measure tests and results. He also said that he would make changes in rule sets so that these would behave like event sets and the optimization of event sets would work fine with them. So I left the optimization part of rule sets.
In this way through GSoC I learnt about open source and how things are done here, how large projects are handled and how quality products are developed with open source development tools. Here I truly want to thank klausi and fago for their excellent support and mentoring me and above all Drupal community for choosing me for such a great program, which I would never forget in my life.