ODK: New Widget Framework for Collect

Hi all! I’m Saumia Singhal, a final year student at IIT Roorkee, India. I have been accepted as a GSOC 2020 student. I’ll be working on updating the widget framework for the Collect App of ODK Community.

I will be using this topic to post about my work progress.

I would like to thank my mentors @jeff.beorse and @seadowg, who helped me in writing the proposal.

I’m really excited to work with ODK during the summers.:smiley:


[Community Bonding Period] Week 1:

During the first week, I had the first call from my mentor @seadowg. We discussed the proposal all over again, focussing on the deliverables, mentioned in the proposal. We are yet to decide on the first widget to start the work with.

@seadowg suggested that I should take a course and study more on TDD (Test Driven Development). I’m really excited to work for the first time as a TDD developer. Currently, I’m carrying on with my work on the issues that I was already involved with before getting selected for GSOC. What new is, that this time, I’m trying to come out with proper tests for whatever new code I add to the already existing codebase.


[Community Bonding Period] Week 2:

Last week, me and my mentor @seadowg, decided that I should first finish off the dialog issue and then start my work by writing the new framework for non-heirarchical widgets.

All my pull requests that direct the dialog issue are listed here. Apart from that, I shifted the UI of the URL widget to xml file and wrote tests for the same. I have opened a draft PR for the same. Next, I will discuss with my mentor about the test coverage of the widget, and most excitedly how much we can iterate over the UI. :smile:

We have decided that the month of May would be the learning phase for me. So, we plan on doing a TDD exercise using ping pong pairing. Really thanks to @seadowg, for such engagement.


[Community Bonding Period] Week 3:

This week, I started the TDD exercise with my mentor @seadowg. The purpose is to get me familiar with TDD so that I can implement it while I am rewriting the widgets of Collect.

I worked on reworking the Geowidgets and will be opening a draft PR for the same for later discussions. Meanwhile, as everyone is excited about the new release Collect -v1.27. I also worked on some side issues and submitted PRs.

1 Like