[Systers-dev] Thank You Systers !
Malveeka Tewari
malveeka at gmail.com
Tue Sep 1 06:13:44 PDT 2009
Hi all
Sorry for a delayed report of my GSoC experience but was busy with a
deadline.
Like Kanika, I should thank Jennifer and Andy for all their help,
encouragement and time for helping us with our doubts.
I am really happy that I got a chance to code for Systers and contribute to
open Source. I hope to do more of this in future! Following is a detailed
and a bit technical story of my experience with Systers this summers. I
apologize for the technicality and the length but I would suggest that
instead of skipping the technical part - everyone just google up the
technical terms or better still just drop me a mail and ask questions :)
And again a big thank you to all Systers and particularly Jennifer for
making this summers so much fun!
So here's my GSoC experience
My GSoC Project was to extend Mailman authentication for other applications
ie. allowing users to access multiple Systers logins - their mailman login,
wiki login etc by giving their passwords only once - in other words, single
sign on.
Now extending authentication requires a bunch of security checks, password
authentication, secure access protocols and before beginning the project - I
had imagined my task ti somewhat related with extending secure
authentication using OpenID. OpenID is basically a tool for extending
Single Sign On across various internet accounts.
Before preparing my proposal I had done a lot of reading on OpenID
protocol, its implementation, advantages, disadvantages - explored other
possible options for Single Sign On. I was really excited when my proposal
was accepted. And with all the reading on OpenID and authentication
protocols I even thought I was prepared to get the project completed well in
time. Well came 23rd May and coding period began. I started looking for ways
to integrate openID with the mailman. And in the first week itself - I had
hit my first block.
Discussions on mailman-dev list brought out the point that using mailman
authentication for Single Sign On was not a great idea ,Apparently extending
Mailman for openID was not an easy task because of the way in which user
membership data (usernames and passwords) were handled by mailman. The fact
the mailman passwords are stored unencrypted was another problem.
I had already spent around two and half a weeks trying to find a workaround
for integrating openID with mailman. And of course my slow progress was
making Jennifer anxious. :) She then suggested that before integrating
openID with mailman I first need to provide an abstraction for holding
membership data in mailman. The idea was to store the mailman usernames and
passwords data in the database so that openID can access this database for
authenticating. Ofcourse this was the best approach but I was a bit
hesitant. I was absolutely clueless about how to use databases. Honestly I
was scared - whether or not I'll be able to finish it! nevertheless, I
started my self tutoring in Postgresql and databases. Jennifer had been a
great help. With a lot of help from Jennifer - I finally wrote the Mailman
Membership Adaptor for Postgresql.
I made my first commit for code review to the Systers branch on launchpad. I
was indeed very happy :) But not for long.
Andy expressed his concern on the fact that my adaptor did not make use of
Storm. (Storm is basically an abstraction using which you can use a bunch of
database languages for accessing the database - mysql, postgresql, and
sqllite).
Using storm meant rewriting the enitre code! But this was easier work since
I had the basic framework ready. Now it was only a matter of replacing the
instructions.
In another one week I was ready again. This time I did more frequent commits
on launchpad - to make sure that I cm now on the right course. I was a bit
late for the mid term evaluations. But I was happy that I was actually able
to get something working.
I had tested my code for the mailman setup on my local machine. Now I was
waiting for my turn to test the code on abiwt.org. I thought now with the
Adaptor in place, I can now move to what that I had planned to do- playing
with openID! But I wish! I had written the adaptor for Mailman - without the
Systers customization! (Now this was Andy's suggestion!). Got another small
scolding from Jennifer and started modifying my code for the Systers-mailman
customization.
Anyway, finally before the coding period ended, I was able to get the final
desired mailman adaptor!! Phew! :)
Have tested it on abiwt.org and it loks fine to be moved to production
(unless Jennifer flags new bugs)
But now the summer has ended and I am busy again! i really hope to get
openID enabled for mailman though. With the membership adaptor in place,
this should be fairly easy.
This summer I have learnt a bunch of things. Firstly the importance of
communicating. Now when I look back, I realize that I could've saved a lot
more time had I asked the right questions in time! But then I was always so
scared of sounding stupid. I really hope that I overcome this problem.
Another lesson was to not get discouraged and start by solving problems in
steps. Of course this was in addition to all the technical. cool things I
learnt about Python-storm, databases, postgresql and also Systers.
Thanks
Malveeka
More information about the Systers-dev
mailing list