Hi Martin 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 >> appengine) >> >> 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) . > > Nifty. > >> We had a few teething problems in the last week where our production >> instance's performance was being affected by things happening inside >> google. >> 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 ends etc. 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 etc....) 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. > > Martin > > -- > 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@lists.repoze.org > http://lists.repoze.org/listinfo/repoze-dev > _______________________________________________ Repoze-dev mailing list Repoze-dev@lists.repoze.org http://lists.repoze.org/listinfo/repoze-dev