Plone on Google App Engine, Anyone?

08Apr08

Google just announced the Google App Engine, and reading through the documentation and all I came up with this idea: it should be possible to get Plone running on the Google App Engine!

How would that be possible you ask? Well, a couple things are required.

The Repoze guys have Plone running as a WSGI app, AFAICT. So the hosting part is pretty much settled. You just deploy an app that sets up a Repoze WSGI App.

Then comes the storage. Plone, being based on Zope, uses the ZODB. But the Google App Engine doesn’t allow writing to the filesystem. The solution? Having a RelStorage backend that uses the DataStore API.

The final step would be getting rid of the C extensions in Zope, and having Zope run in Pure Python. Fortunately, there’s a student application for this year’s Google Summer of Code project that intends to port Zope to Jython! That should help with this last step by providing Pure Python implementations of the C extensions, if it gets approved.

I am really excited by the possibilities that this opens up. And would love to see someone pick up this project and turn it into reality.

Advertisement


12 Responses to “Plone on Google App Engine, Anyone?”

  1. ZODB is one of the central parts of Zope and Plone. But idea is very interesting.

    As I can remember C-writen parts are:
    - ZODB
    - Templates Parsing
    - BTree
    and MM and images processing. Something else?

  2. DTML support is written in C, but Zope Page Templates (ZPT) is pure Python.

    Acquisition/ExtensionClass and cPersistence are the biggest modules that would need porting.

  3. 3 Matthew Wilkes

    Meh, to be honest I think it’d be more trouble than it’s worth. The advantage of google app engine is that it’s been highly tuned, we’d be abusing the system to get Plone running in that environment.

    S3 is a more interesting target, imho.

  4. I would love to see it too. Starting to sound less feasible though. I think they’d have to be more inclusive.

    Does anyone know if Zope3 has as many C extensions?

  5. Zope 3 is closer to run in pure python. zope.interface has a pure python implementation for example.

  6. 6 seletz

    Well,
    from what I’ve seen in the code of the actual SDK:

    - it’s Python 2.5 only
    - it’s WSGI through the CGI adaptor only

    IMHO Zope and 2.5 do not mix, do they? At least not Zope 2 IIRC.

  7. 7 Max M

    If you serialize to json or xml instead of pickles, you could even integrate with other platforms. Java or C# could read/write the database.

  8. @seletz: There’s a proposal for GSoC’08 on the Zope Foundation from a student that wants to finish porting Zope 2 to Python 2.5.

  9. @MaxM: Yes, that sounds a lot like Enfold’s Entransit goal. :)

  10. 10 Igor Kupczynski

    IMHO it would be good idea to write an entransit front-end (part serving exported metadata) using Google Web App Engine.

  11. Hm, I thought AppEngine would not allow for long-running processes and as I understand it you still have this with repoze or am I mistaken?


  1. 1 More “Plone on Google App Engine” « dreamcatching

Leave a Reply

Fill in your details below or click an icon to log in:

Gravatar
WordPress.com Logo

Please log in to WordPress.com to post a comment to your blog.

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s


Follow

Get every new post delivered to your Inbox.