GSOC 2013: final wrap-up

Standard

The GSOC of code is almost over, and I feel sad for that.
During this program, I met awesome people, and wrote a lot of code.
And If I have the opportunity to do it again, I will definitely do it. But I will soon graduate, so this is not going probably to happen. (I’m now trying to convince my friends to contributing to open-source projects and especially to Mozilla ones. I’m also trying to convince them to apply for GSOC)
During my GSOC, I have implemented the Enhanced Customization API: I created the internal API and the external API. I also modified most of the places where some of the protected preferences are used.
The progress of the project:

  1. Internal API (checked)
  2. External API (checked)
  3. Replacement of the old API with the new one (in progress) :
  • If someone changes browser.startup.homepage and then opens the homepage, he will go to the new browser.startup.homepage (checked)
  • If someone changes browser.newtab.url and then opens a new tab, he will go to the new browser.newtab.url (checked)
  • If someone changes browser.search.defaultenginename and then does a search, he will use the new browser.search.defaultenginename (checked)
  • Preference panel supports the new API (checked)
  • about:config supports the new API (checked)
  • about:health report supports the new API (checked)
  • in the sync component, the old API was replaced with new one. But there is a problem running the tests (in progress):

I will still be in Paris office, until the 9 of October working exclusively on my project. So if you have a request about the project, please tell me as soon as possible because, on the 15th of October, I will start a new semester and, I will have much more things to do. This doesn’t mean that I will disappear and stop answering your questions and requests. But simply means depending on your request, it will require me much more time after 10th of October to answer it than now. That’s why I prefer you to tell me your requests as soon as possible so later I will not have to choose between studying for exams and my GSOC project. (I know that you were students a while ago, so I hope you understand me)
You can find here the documentation of my project as pdf or as docx.  The code of my project is available as a patch in Bugzilla.

GSOC: Weekly Report 12

Standard

I just finished my first awesome week working on Mozilla Paris. I met a lot of awesome people here. And I really enjoying being here.
I have finally succeed working on running the new API on Windows. I was very glad and relieved for that, I was a little bit desperate when I have tried a few weeks ago to do that.
I will need to start now working on documentation I was asked for.

GSOC: Weekly Report 11

Standard

I’m now checking if everything is right. I’m testing to verify whether or not there are problems. I will soon go back to windows and try to solve the problem I had the last time I was trying to run my code t there.
Before I forgot, yesterday I flew to Paris, and today I start working at Mozilla Office and it’s absolutely awesome.

GSOC: Weekly Report 10

Standard

I’m now working on a fixing a bug. After an addon uninstall, each entry that was created by this addon need to be removed. At Firefox startup, database should be cleaned form entries which addons was removed. However, it doesn’t work and I don’t know for which reason this is happening. But I currently working on solving this problem.

GSOC: Weekly Report 9

Standard

(I didn’t write report for the previous weeks, so this one is for all of them)
I was really busy working on the project these days.
I tried to test all what I did on windows. I thought that this would be a piece of cake. I was absolutely wrong.
I took my a lot of time and efforts, without getting my code to compile on windows. After trying every thing I can think of, I was desperate so I decided to delay this step to the end.
So, I implemented the addons-sdk apis. It was an easy task.
I also started working on the supplementation of the external apis. At the beginning I thought this would be done with the c++, but my mentor told this could easily done with js using nsiCommandLine. This is awesome as it will save allow me to save a lot of time. So thanks a lot kris for that.

GSOC: Weekly Report 8

Standard

I’m already finished all my exams, I’m very glad to be in holidays.
I will have much more time to be able to focus on the GSOC project again.
I’m lucky because I got a mail yesterday from Kris telling me that my GSOC project will became his priority now,
There is a lot of refactoring work that needs to be done. And we will do that together.
He told me also that he wants that we create an addon sdk module for the new preference apis, this will allows the addon maker to easily change the protected prefs with the new apis.

GSOC: Weekly Report 7

Standard

This week, I worked on the update of the sync service to use the new APIs with the protected prefs. The goal of the sync service is to synchronize Firefox with other server. This includes the synchronization of prefs.
The problem that this synchronization may involve some of the protected prefs and thus, need to to be updated to use the new one.
I didn’t yet finish this step yet. So it will take more time to finish it.

GSOC: Weekly Report 6

Standard

This week, I have continued working on the second step of my project.
I have fix some bugs, and updated some Firefox functionality to use the new APIs.
The about:config page was updated to use the new APIs with the protected prefs.

GSOC: Weekly Report 5

Standard

I still working on the second step of my project.
I also discussed with Kris about the apis, and probabely there will be same changes.
I need to wait until Kris finish checking my code but I hope that the changes would be minor.
Until then, we decided that I continue working on the second step. And this is what i was doing.
I have already replaced the browser browser.search.defaultenginename with the new apis, and the tests related to it are working, so I’m really happy with that. But it’s the easiest one. And I still have two more left.