Posted by & filed under Tech.

rssNimbus is an implementation of a rssCloud server using Google App Engine (GAE) to run the server’s Java code. To install and run your own copy, you need a few things:

  1. download a copy of rssNimbus. <http://www.shotton.com/files/rssNimbus.zip>
  2. create a Google App Engine account. <http://appengine.google.com/>
  3. download ┬áthe GAE SDK for Java. <http://code.google.com/appengine/downloads.html> or the current version directly from <http://googleappengine.googlecode.com/files/appengine-java-sdk-1.2.6.zip> (we need the “uploader” tool from this archive in a minute.)

Setting up GAE

The first thing you need to do is configure your GAE account so that you can upload a new application. Go to the GAE start page <http://appengine.google.com/> and click the “Create and Application” button.

Fill in a unique ID for your rssNimbus install (it must be all lower case and globally unique across all possible GAE apps) and give it some meaningful title and hit “Save”. Make note of the unique ID you created.

Installing rssNimbus

Extract the folder from the rssNimbus.zip archive. It will make a folder called “war”, which is the web archive containing all of the parts of rssNimbus that will be uploaded using a tool in the SDK archive you downloaded earlier.

IMPORTANT! You MUST edit one file in this folder in order to provide GAE with the unique ID of your app. Inside the “war” directory is a subdirectory called “WEB-INF”. In that directory is a file called “appengine-web.xml” (war/WEB-INF/appengine-web.xml) that you must edit with a text editor, changing the <application> value from “sampleUniqueID” to the actual value of your app’s unique ID.

The Google page at <http://code.google.com/appengine/docs/java/tools/uploadinganapp.html> describes in detail how to upload a new app. Here are specifics for doing this on Mac OS X or Linux from the command line.

– run the terminal application of your choice (Terminal.app on the Mac) and change your working directory to the directory containing the unarchived GAE SDK for Java and the “war” folder (e.g., cd ~/Downloads/ )

– assuming your “war” folder is also in the same location as the SDK, use the following command to upload your new GAE application:

For Mac OS X:
./appengine-java-sdk-1.2.6/bin/appcfg.sh update war

What Now?

You can now visit your GAE dashboard and confirm that the new application has been installed (current version should be “1”).

You can visit your rssNimbus server’s home page by pointing your browser at <http://yourUniqueID.appspot.com/>, substituting your actual unique ID in the URL.

You can use the forms on the rssNimbus home page to test pings and subscribe requests. There is a basic /admin page that also shows active publishers and subscribers.

You can get MUCH more detail from the GAE dashboard pages for your app, including access logs, database contents, queued tasks, etc.

Setting Expectations

There are a few things to look out for. The first pings and notifies to and from your server will take longer than you might expect as GAE sets up databases and task queues for your application. Subsequent requests will go much faster.

rssNimbus does NOT currently expire subscriptions. It deletes those that fail (in order to limit lengthy, CPU-expensive failed HTTP requests) immediately.

If you have questions or comments, please post them as comments here.

Comments are closed.