GSoC 2017 - Week 2

The first and second week of Community Bonding period of the Google Summer of Code has elapsed at Wikimedia. We have introduced ourselves at the Wikitech-l mailing list. All the participants joined the Zulip to stay connected.

Last week my mentors and I, also finalised our instant messaging medium so that I can reach out to them easily. And we decided to go with Skype.

About my project

My project is about adding support for hierarchy fields in Cargo MediaWiki extension. The project also involves the addition of support for hierarchy fields in Page Forms MediaWiki extension, to ensure easy input from users entering hierarchy data into the wiki as well as to maintain compatibility with frequently used helper pages. Yaron Koren, Nischay and Tobias Oetterer are the mentors at Wikimedia Foundation for my project.

The project involves certain challenges in backend database implementation and input design for hierarchy fields that is coupled with another extension which is Page Forms. Project demands storage of hierarchical data, not only for page display but also for querying hierarchy data using the cargo wrapper around SQL. This calls for choosing a suitable implementation from database theory for efficient storage and querying as per the use case. As per discussions with the project mentor, Mr Yaron Koren, the problem is still open ended on how much liberty can be provided in the type of hierarchy. In the case of well structured & predefined hierarchy, we have prior knowledge of max depth in the hierarchy. In such demands, efficient queries can be easily constructed by opting certain implementation. On contrary, in the case of less structured & arbitrary tree-like hierarchy, the max depth is liable to change anytime in future entries. Here the primary demand is scalable database architecture for levels in the hierarchy, which is a trade-off for efficient queries.

My mentors and I will be finalising all these loose ends in the next week.

I’m really thankful to Yaron for allocating some of his time for video call with me regarding the PageForms and Cargo extension. This discussion helped me in gaining deep insights regarding the project.

What I have done in the last week

  • My blog went inactive for a while so I invested some time to make it go live again.
  • I tried to connect with fellow participants on Zulip and on Facebook.
  • Created a reporting task for my project at Phabricator.
  • Installed some new tweaks in my Linux working environment for a new design and more productivity.
  • Discussed with mentors regarding community bonding phase, and planned for finalising the loose ends of the project as soon as my end semester exams end on 19th of May.

Contributing to Wikimedia means that our code would be utilised by many. While solving some bugs I have always felt that each character I type will be judged by minds from all over the world. But within submission of two patches, I realised that you don’t need to be intimidated, rather contribute to the fullest. Follow procedures of testing to avoid the scope of errors and then there is code review to take care of. And after a while when I kept receiving updates of bugs on the mailing list I realised - No software is perfect - it’s the efforts to pursue a bug-free software which matters.

comments powered by Disqus