End of the SoC, but the passion remains the same

That was a great period to remember for a life time. Reading, Coding, again reading, refactoring, some annoying issues (things get really annoyed when you update the local repository during a bustage 😉 but still there was a lot of things to learn), getting reviews from experts..!!

I really enjoyed the SoC and hoping to continue contributing to internet giant Mozilla. There are few knits I still have to fix on patches and will be working on them in future as well. I got to know that fake server was something important to calendar so I will be focusing more into it and then fixing other proposed issues which were left behind due to sudden intrusion of the fake server.

Variations from the proposed deliverables as I decided with Mohit:

  • Week 3: Patch for schedule-calendar-transp
    Dropped since it requires some UI related changes
  • Week 4 – Week 6: Patch for If-Schedule-Tag and If-Schedule-Tag-Match
    Patch is done, needs to be made reviewable & handle edge cases
  • Week 6- Week 7: Patch for schedule-default-calendar-url
    No need to implement in lightning since this is more of a property that will allow clients to manage calendar collections for one user. More suited to a dedicated client for a particular server.
  • Week 7- Week 8: Patch for min/max date-time
    That is something related to the server, and is not returned in a PROPFIND request.
  • Week 8- Week 9: Patch for max-attendees per instance
    UI Changes required
  • Week 10 – Week 12: Unit tests for schedule-tag
    On track, this evolved into a major chunk of the project, with the fake server implementation and its design to support overriding, a rough working patch is completed, a more robust implementation in the works.
  • Week 12- Week 14: Mozmill tests for invitation scenarios
    This has been completed. Just some minor cleanup required with the packaged test thing.
  • Week 14- Week 15: Patch for schedule-force-send
    Needs UI change became less of a priority.

On the way, fake server became something that took a long time since it was a RFC implementation rather than a modification.

Throughout the GSoC period I received a great mentoring from Mohit, so herewith I’d like to give my gratitude to him for all the time he allocated and being cool throughout the period. Also, to Philipp for all the tech reviews. Without them I’d never caught up the complex things in the codebase.

Fun Facts :

Well, If you are going to contribute to Mozilla TB or Lightning by any chance lol, you should probably know these two abbreviations. You can’t find them in Google anyway.

m-c and c-c : I drove into trouble several times by hearing to update m-c and c-c. I was thinking that is something related to changset headers and hashes. well at last got to know, they weren’t. Those were the two folders named “mozilla-central” and “comm-central” in the repository.

PS: I searched in google for the term “c-c and m-c revisioning” and got the result “Women’s Choices Within Market Constraints: Re-Visioning” 😉

I will update the blog with my future works related to Lightning as well.


Fake Server – New Structure

There were a structural change in the fake server test I had to do before I submitting my last patch. Now the fake server is not merely a test and it can be extended by child classes to create desired types of server classes to be tested. Also I added a random e/schedule tag generator for events and memory calendar meta data API to keep them in the server. Hopefully, This will pretty much cover basic requirements of a fake server and can test the schedule tag as we expected. Schedule-Tag test and fake server class will go as two separate deliverables and schedule tag test will be based on the fake server class.