Friday, October 10, 2008

It’s Alive!

Even though our GSoC students didn’t had as much success as I hoped, they did contribute some valuable patches that pointed on the right direction.

This week, with the Plone Conference 2008 going on in Washington and the fact I did not attend this conference, I finally made enough time available to get my hands back into Zope again.

So it’s my pleasure to report that after about a week of hard work and a handful of workarounds that will need future cleaning, Zope 2 does now startup under Python 2.6.

My expectation with this now out of my way is that other developers will start looking at adjusting third-party applications (hint: Plone) to run on Python 2.6 as well.

The code is available on the gsoc-python-2.5 branch of the Zope repository, and the lucky guys at the Plone Conference will be amongst the first to hear the good news through Matthew Wilkes, which registered for a stealth Lightning Talk which should get at least some people puzzled. I would love to be there and see their faces when Matthew unveils the surprise.

Big thanks go to Tres Seaver for helping me figure out a change needed in Zope’s private version of ‘medusa’ and to Ranjith Kannikara, our GSoC student through the Zope Foundation, and his friends which did a good chunk of the hard work, namely figuring out changes to the C-based ‘Acquisition’ module and cleaning up string exceptions.

NOTE: This is not intended for production yet, it is just a technology preview to get developers to try out and start porting their own projects. Many bugs still exist, some of which might take up to a month to get fixed. Most importantly, the RestrictedPython implementation has not been fully audited for the new builtins and language constructs introduced since Python 2.4.

Sunday, August 24, 2008

LIMELIGHT

Last week our work was a little hanged as we were shifting to the college hostel. As mentioned in the previous posts we were working in two groups. Ranjith, Deepak and Vijin were trying to implement the restricted python and by the time me and Vyshakh managed to fix all the errors and failures in python2.5.


Meanwhile we tried to eliminate the deprecation warnings. We changed the string exceptions to class based exceptions in the module Zope2 and made the module free from the errors,failures and deprecation warnings. And thus all the errors and failures are fixed in python2.5. Now we are trying to eliminate other deprecation warnings.

The checkin will be done after discussing with our mentor.


We hope to completely eliminate the deprecation warnings and implement the restricted python as soon as possible.

PS:- Any helps regarding the implementation of restricted python are always welcome.

Sunday, August 3, 2008

THROUGH THE WOODS

Last week Ranjith was trying to implement restricted python. He was going through documents of restricted python and was trying to get help from the mailing list. He had a discussion with Martijn Fassen and now he is trying to patch the existing restricted python implementation by closing all the possible holes created by the changes by python2.5.

Me and Deepak were trying to fix the errors and failures in python2.6. We fixed some syntax errors which was due to the new keywords in python2.6. Last few days we were trying to fix the import errors and we got considerable help from the mailing list. We managed to fix import error of the module ImplPython and now going on through other errors.

Vijin and Vyshakh were dealing with the deprecation warnings in python2.5 and they have asked for help in mailing list. As the deprecation warnings in python2.5 and the errors in python2.6 are interrelated we decided to join the group, so that we can finish both in parallel.

By next week we hope to make more checkins to the zope trunk after fixing the errors in python2.6 and removing the deprecation warnings in python2.5. After that we all will join Ranjith in implementing restricted python.

More updates soon.




Tuesday, July 22, 2008

GETTING ACCELERATED...

Hi everybody..

Happy to be back soon. We are happy to see ourselves making progress in different ways.

We managed to get the failure, in the module Products, fixed which needed only a slight change in the file C-API file _Acquisition.c . Of course we got help from the Zope-dev mailing list. We have already made the Checkin for this fixing.

Bristow and Deepak have managed to fix the deprecation warnings regarding 'with' and 'as' by replacing the respective variables with another name. The changes are still to be checked in as both of them are waiting to get their commit access to the Zope svn. The replies from the mailing lists of Zope-devPython-dev towards their doubts were pretty much helpful.

Vijin and Vyshakh are still working on removing all other deprecated warnings. Hope to see them make it very soon.

The security auditing of zope in python2.5/2.6 is also at the starting phase. We have put mails in mailing lists of Zope-dev , PyPy (Which we have decided not to give so much importance after some discussions with Sidnei) and in Python-dev. We hope to start with the AST implementation of the restricted python very soon.

Not so much for now. And hope to see you soon with more updates on the progress...
and

THE ROUTE GET DIVIDES ...

The mid-term evaluation is over by now. And we are happy to be here again. Sidnei has helped us by pointing out the next works to be accomplished. As the time-line for the project is still known to be the first or second week of August, we have decided to divide the work among ourselves.

The works -
Testing and fixing Zope on Python 2.6 - will be handled by Bristow and Deepak..
Fixing all the deprecation warnings - will be handled by Vijin and Vyshakh..
Doing a security audit on new types introduced in Python 2.5/2.6- will be handled by Ranjith..

Sidnei has already pointed out another work - Trying to run other applications, for example, Plone on top of
Zope/Python 2.5 to see if anything breaks- which we will be looking afterwards.

We are also going through the failure and error left in the modules Products and Zope2..
Thats all upto now..

Thursday, July 10, 2008

BACK ON TRACK...

Sorry for this late post. Since we were having university exams we were not able to devote fully into the project. Any way we are now back in track.

For the last few days we were trying to fix the failures in modules Products and ZPublisher and the error in Zope2. The failure in ZPublisher was a doc test failure. We fixed it by making a slight change in the doc test. We have already made Zope checkin with this change.

We have been going through the error in Zope2 and failure in Products. In Zope2 the error is due to the raising of configuration error with an invalid warning category in python2.5 . And in module Products the failure is basically because of the change in class hierarchy in python2.5 which results in the failure to find the attribute of a class. We are trying to get these fixed. Hope it won't take much time.

For the RPython implementation in zope2 we are in need of some help and guidance as we are not much familiar to the security auditing of RestrictedPython. Our organization administrator has suggested that a volunteer named Chris Withers is interested to help us in this matter. We have asked about it in the Zope dev mailing list.

We will back soon with more progress..

Monday, June 16, 2008

WORK IN PROGRESS ...

For the last few days we have been working on the module Acquisition. As mentioned in the last post all the three failures in this module were raised due to C-API changes. We were trying to map the tp_richcompare to the compare function which was mapped to the tp_compare function. We made this change with the help of Sidnei, our mentor.

The part of the code introduced was copied from the datetimemodule.c from python2.5. We had tested the patch against both python2.4 and 2.5 with no failures or errors. We have checked in the patch to Zope checkins. We have asked for a review in Zope mailing list also.

At present there are two failures and one error. We are now trying to fix these. After this we will move on to the RPython implementation. Thats all for now..

Thank you.

Wednesday, June 11, 2008

The First Step

We a group of five from S4 CSE Government Engineering College Thrissur is working on the GSOC 2008 project- porting Zope2 to Python2.5. We have been engaged with this project from the first week of May. Basic ideas regarding SVN check out and testing were given by our seniors who did the GSOC 2007 project-porting Zope3. As for our present status we have made the first check in to the Zope trunk.

We got errors and failures in modules Zope2, ZPublisher, Products and Acquisition. Two of us started working in Acquisition and the rest in module Zope2.

In Acquisition, the failures were raised due to the changes in C-API. So we started referring C-API manuals. We have been reading about tp_richcompare and tp_compare. The cause for the failures was that the C-API function was not being called in certain cases. We are trying to fix these failures by mapping the richcompare function to the user defined function wrappercompare. And the work is in progress.

Regarding module Zope2, it was having 4 failures and 1 error. All of them were due to the change in hierarchy of the exception classes, which prevents the correct setting of HTTPResponse status. We have managed to rectify these failures. Meanwhile we got the commit access and we made our first check in.

Our team, Ranjith Babu Kannikara, Bristow Thankachan, Vijin C P, Vyshakh Krishnan and Deepak M R, will come up with more updates next week.

Thank you.

Friday, May 23, 2008

Bootstrapping Progress

Our GSoC Student Ranjith Kannikara has already started making progress on his effort to get Zope 2 running atop of Python 2.5.

As for myself, I've managed to compile and start Zope trunk on Python 2.5, and just the fact it starts up fine is very assuring.

To help Ranjith, and to keep track of progress myself I have set up a buildbot that will be running the tests twice a day. The results look promising. But I'm skipping some tests (ZODB, ZConfig and ZEO).

Lastly, we are still in the process of getting Ranjith commit access to svn.zope.org. He already submitted the documentation, and now he just has to submit his ssh keys.

I've invited Ranjith to post to this blog, which he says he will be doing frequently.

That's it for this week. See you next friday!

Thursday, May 8, 2008

Zope Porting Announcement

Due to growing interest in porting Zope to different versions of Python and different Python implementations, I have started this blog to help track the efforts.

Last year, the Zope Foundation, through the Google Summer of Code program had a sponsored student working on porting Zope 3 to Python 2.5.

This year, we have another student, this time working on porting Zope 2 to Python 2.5, and another student through the Python Software Foundation will be working on porting Zope to Jython.

Expect to see status reports following shortly, as this year's Summer of Code program officially begins on May 26.

In addition to this blog, I've created a Zope Porting group on Google Groups, for more general discussion. If you're interested on helping out with porting Zope to Python 2.5, Jython, or even PyPy or IronPython, please join this group and contribute!