Setting up the Play framework on Google App Engine

The Play framework is the most fun I’ve had developing Java web applications. It’s fast, natural, comes with a rails-like scaffolding for CRUD operations on your model, has built-in Selenium testing as well as unit and functional tests, and most importantly Just Works.

It also deploys natively onto Google App Engine, but this isn’t described very well in the official documentation so here are the basics:

Get started

  1. Get yourself a GAE account and set up an application. you will need the ID.
  2. Download a recent nightly of the stable 1.0 branch (1.0 final doesn’t work with GAE, and Play needs to sort out its versioning system here)
  3. Unzip
  4. Download the GAE SDK for Java
  5. Unzip
  6. Create your app (although use Siena rather than JPA if you want to persist to the GAE data store) and configure it to use the GAE module
  7. Add your GAE application ID to myapp/war/WEB-INF/appengine-web.xml

Deploy to a local dev GAE environment

  1. run play war myappname -o myappname-war
  2. run APPENGINE_SDK_DIR/bin/dev_appserver myappname-war

Deploy to the GAE server

  1. run play war myappname -o ../myappname-war
  2. run APPENGINE_SDK_DIR/bin/appcfg update myappname-war/
  3. log in to your app engine console and check out your application!

Importing Nokia podcast subscriptions into Google Reader

Exporting the list of podcasts

  1. load the podcasting application, mark all items and hit “send -> bluetooth”. Contrary to what you might expect, this will send an OPML file listing your subscriptions to your PC

Edit the list ready for import

  1. Open your new Podcasting.opml file in a text editor
  2. Find/replace all instances of url= with xmlUrl=
  3. Immediately after the opening <body> tag put <outline title="podcasts" text="podcasts">
  4. Just before the closing </body> tag putĀ </outline>
  5. (I also duplicated all the text=”blah” attributes with title=”blah” but I don’t know if this is actually necessary)

Import the list of podcasts

The Google Reader Import/Export page
The Google Reader Import/Export page
  1. load Google Reader
  2. Click “Settings” in the top right
  3. Go to the Import/Export tab
  4. Find your Podcasting.opml file and upload!

You should now find that you have a new folder called “podcasts” in your google reader containing all the podcasts from your Nokia device.

Even nicer – if you make the folder public (Settings -> Folders and Tags) you can import the OPML from Google Reader directly into other applications by giving the URL http://www.google.com/reader/public/subscriptions/user/USERID/label/podcasts where USERID is the long number in the URL of the “view public page” link next to your public podcasts folder in Settings -> Folders and Tags.

Google Reader view public page section
Google Reader view public page section