Using App Engine and Google Apps as a CMS
Ed Crewe
Google APIs - in transition
Google's RESTful APIs are moving from Atom XML to simpler JSON
Google APIs - basics
NB: All content (emails to youtube videos) lives in NoSQL Big Table on GFS - sharded across global data centres
�
Google App Engine basics
A cloud hosted Python 2.7 WSGI or JVM 6 Java servlets environment (with a subset of the JRE libs)
Default web framework is adapted django 1.3 and maths tool is numpy - but with a little effort you can add someother Python (or Java) frameworks
On demand automated multiple load balanced web server instances
Big table - PetaBytes size hash table (dictionary) store behind Google apps - with limited 'SQL' = GQL, but MySQL is coming for traditional RDBMS apps.
Map reduce and blobstore (python only but java soon).
Memcache memory caching for any data or pages
�
Google App Engine console
Getting started with App Engine
Develop
Deploy
Example - a personal site
This personal site* demonstrates integration of Google content across six different Google systems:�
* NB: In a recent blog post, I give a detailed technical look at upgrading this site to the current GAE python environment.�
Integration mechanisms
�
�
ABC demo of how it works as a CMS
GAE Django custom content:
�A. Go to projects and select a project
B. /edit the project - redirects to login and then edit
C. Modify the project and save
�
Google Sites content:
�A. Add a new page to sites or /edit an existing page
B. Edit text, or take a photo and insert it into the page
C. Go to the new page on the front end�
�
�
�
�
ABC demo screenshots ...
App engine django form
Sites page edit
What are the wider implictions ...
... so in more detail ...
Explosion of cloud content
�
�
�
Integration framework
Apps and GAE use as CMS
So next time a request comes in to display some seminars from Calendar on a website, along with the Docs presentations and Blogger blog - maybe its time to use an integration platform for that site...?�Any bespoke features? then maybe add them via App Engine.
Google Apps provides a range of large scale targeted CMS solutions, via Google Docs, Blogger, Sites, YouTube, Picasa, Circles, Calendar etc. that enable collaborative content creation.�App Engine, whilst not designed to act as a CMS itself - is ideal as a rapid application development / deployment environment (on to a global infrastucture) - to knit together these CMS components to provide custom website or web application solutions powered by Apps.��This talk runs through the basics of App Engine and how it can leverage Apps to create bespoke solutions - an example personal website. This is followed by a brief outline of Google’s RESTful data APIs and protocol standards for integration of its 50 or so Apps. Finally a quick look at the site, which I rather hastily threw together a year ago, to trial this approach!�The idea behind it was to test the water that perhaps bespoke CMS software - especially locally hosted - is becoming an outdated approach. Most CMS features are available from cloud hosted provider’s components, can such cloud mash ups provide as customised and integrated, a user experience - at a lower cost?