On Tue, Dec 1, 2009 at 10:42 PM, Martin Aspeli <optilude+li...@gmail.com> wrote:
> Tim Hoffman wrote:
>> Hi Folks
>> I have been working on a site (www.polytechnic.wa.edu.au) based on
>> repoze.bfg running on app engine for the last few months.
> Hey, cool, Python people in WA. :) And for you ignorant Americans,
> that's not Washington, that's Western Australia.
> Nice site, too.
Thanks, I will pass that on to the designers
>> (I don't do visual design I just make it run). It uses bfg-pages
>> (http://code.google.com/p/bfg-pages/) for zpt templating and appengine
>> datamodel traversal so
>> that it can reflect large amounts of the plone structure.
> That's quite interesting.
>> All of the
>> custom entities used are designed in Enterprise Architect and the
>> python classes and interface definitions
>> are generated directly from the UML model.
> You mean Sparx EA? How do you use it?
Yep, very nice piece of software. I have written some code generators
that take the XMI and then can generate storm classes, gae models and
zope3 interface definitions for various entities. We used to it to
reverse engineer the SQLServer database and then generate storm
accessor classes for all of the tables.
The re-used the same uml definitions to also generate interfaces and
app engine model classes. Works quite well.
(I have used argouml a lot too in the past) but I have found
Enterprise Architect a much richer tool and the xmi files a pretty
easy to parse with elementtree.
>> Beaker is used for session management middleware with a custom plugin
>> to put sessions into memcache.
>> Formish is used for the few forms we use in appengine (mainly site
>> configuration and our own concept of actions and portlets for
>> Content is authored in Plone (running on EC2) which is then pushed
>> from plone to appengine.
> What do you use for the push?
Basically I have the remote_api hooked up inside a plone tool and with
adapters that manage the plone -> gae mapping.
This was all developed before I realized content mirror might be an option.
>> Course data is extracted from a SQLServer database and pushed into
>> plone where it is annotated and then published to appengine
>> All content is indexed on solr (also running on ec2) for searching
>> from appengine (appengine doesn't have any text search capability
>> worth mentioning) .
>> We had a few teething problems in the last week where our production
>> instance's performance was being affected by things happening inside
>> Which turns out be a known problem (for google engineering that is ;-)
>> In the last 24 hours we moved all of the data to a new instance and
>> all seems well so far (fingers crossed).
> Good job!
> Out of curiosity, why did you choose to go with an EC2 + GAE setup
> instead of just using EC2 or doing some other cheap hosting?
Having done plone sites for years I getting the scalability always
meant I had to manage a cluster of some sort with lots of zeo front
This site has over 7000 unique visitors a day and the organisation
that will ultimately own the app doesn't have the resources currently
to manage that sort of infrastructure. I had been looking at
deliverance and varnish etc..... to speed things up but felt that if
we utilised gae just for presentation on what would still be a
reasonably dynamic site I wouldn't have to manage the infrastructure
to the same degree. Solr is a lot easier to scale horizontally out of
the box as well and that was the bit missing from app engine, so we
run solr and an author only plone (its still the best for workflow
Also gae puts a few constraints around what you can do which means you
have to tackle performance fairly early on, but seeing that we are
seperating the authoring from the presentation seems the focus on
performance is fine.
> Author of `Professional Plone Development`, a book for developers who
> want to work with Plone. See http://martinaspeli.net/plone-book
> Repoze-dev mailing list
Repoze-dev mailing list