Welcome to Bloog
This is the default root page for Bloog, a simple RESTful blog/homepage on Google AppEngine, and shows what it looks like out of the box with no posts or pages. You can see a Bloog with data here.
Bloog is open sourced under the MIT License. Source code can be found on the GitHub Bloog repository.
Bloog was created to experiment with blog ideas on Google AppEngine while allowing migration from a legacy blog. These goals shape the feature set, which includes:
- A resource-oriented architecture, as described in the great book RESTful Web Services
- A Drupal converter/uploader that queries a local MySQL database and uploads the data to a Bloog through REST calls.
- A datastore deletion utility that can clear out your entities in your Bloog's datastore.
- Arbitrary URL aliases, which can be created by the drupal uploader, that provide redirection from legacy urls.
There's also a programmatic aliasing function that can take a regex like
'node/(.*)'and map it to legacy IDs stored with the blog entries. (http://foo.com/node/4 is a typical Drupal url.) - Dynamic per-article sidebars. (in progress)
- A Yahoo UI AJAX front-end for posting and managing entries in a RESTful way. (in progress)
From an AppEngine developer's perspective, you may find the source code interesting to examine due to things like:
- RESTful design using webapp.
- Convention-over-configuration in organizing controller and view files.
- Authorization using python decorators and built-in Google authentication.
- Caching using global variables.
- Some timing facility to test different datastore models.
- Serialization of a python object into a datastore blob.
- An example of full-text searching using the slightly documented appengine.ext.search module. (This works but was commented out due to a weird (Google?) bug when uploading large posts. Perhaps a timeout? It works fine for smaller posts on Google hosts and all posts locally.)
If your login has administrative permission for this Bloog, you can add articles after login.