Another CMS on AppEngine

On my research on CMS running on AppEngine, I found a new one called gae-django-cms 

Try to the name, I am able to deploy the code to Google AppEngine in under half an hour.

Check this out:



Posting with FCKEditor

It has always been a problem of editing html for posting to html blog, then I found one editor which I can easiey integrate with this blog. 

I learnt this editor from App Engine Site Creator. It uses this editor. I though I should be able to do the same since it is running on Python. 

Just a few hours later, I am happying blogging with this editor. It has cutdown the time of composing the blog by at least half.

If you are interested, please feel free to grab the code from Github 

For a view of the UI, please check editor

Instant Press in AppEngine

My original intention is to run Instant Press on AppEngine. I have run into a few road blocks, here is a few

  • Admin login works with localhost: http://localhost:8000/admin/default/site, but it doesn't work with !!
  • Try follow to install Instant Press won't work, have to use git repository. I have it here if you want to grab it
  • When deployed to AppEngine, it is complaining about the table column named "parent". It has to be changed to something else.

I managed to run Instant Presse locally

Finally, I hit this error in AppEngine and have to give up. Apparently, it is using PIL internally and it is not supported in AppEngine.

			Traceback (most recent call last):
  File "/base/data/home/apps/s~charles-web2py/2.362154009981920312/gluon/", line 209, in restricted
    exec ccode in environment
  File "/base/data/home/apps/s~charles-web2py/2.362154009981920312/applications/instantpress/controllers/", line 11, in 
    from plugins.instantpress.admin import PluginI2PAdmin
  File "/base/data/home/apps/s~charles-web2py/2.362154009981920312/gluon/", line 298, in __call__
    raise e
ImportError: No ...

Python CMS

I have been searching for a open source CMS based on Python for a while, and I think I found it:

The feature set looks impressive, especially working with AppEngine. I will report back late on my findings.

  • Free and Open Source
  • Manage articles, posts, and pages
  • Manage users, categories, links, comments, uploads, styles
  • Change logo, and front page without editing source code.
  • Comments can be disable, or use disqus as comment system.
  • Many widgets: addthis, last posts, links, tags, categories, archives.
  • WYSIWYG editing, using CKeditor
  • Multiple register method: Recaptcha, Confirm by mail, etc.
  • Avatars.
  • Using best practices baked in: cross-browser normalization, performance optimizations as a base template.
  • Customize, come with 2 layout ready. Make your own customization. See customization.
  • Developed in pure python using web2py as a framework.
  • Ajax, use jquery and jquery-ui.
  • Visual notifications.
  • Feed articles and comments.

Bulkupload to AppEngine

I found that the Bulkupload is very useful in AppEngine, please refer to here for documentation. The configuration is pretty much self explanatory:
- kind: Unit
  connector: csv
    - property: id
      external_name: id
      import_transform: int
    - property: type
      external_name: type
    - property: unit_id
      external_name: unit_id
    - property: title
      external_name: title
    - property: release_date
      external_name: release_date
    - property: now_available
      external_name: now_available
      import_transform: 'lambda x: True if x == "True" else False'

I like the import_transform option a lot, which allows a lot of creativity.

Just tried a few and worked beautifully:

CGuo@CGUO-E8420 ~/Dropbox/docs/workspace4.2/coursebuilder/data
$ upload_data --url=http://localhost:8083/_ah/remote_api --config_file=../bulkloader.yaml --filename=unit.csv --kind=Unit
03:22 PM Uploading data records.
[INFO    ] Logging to bulkloader-log-20120920.152255
[INFO    ] Throttling transfers:
[INFO    ] Bandwidth: 250000 bytes/second
[INFO    ] HTTP connections: 8/second
[INFO    ] Entities inserted/fetched/modified: 20/second
[INFO    ] Batch Size: 10
Please enter login credentials for localhost:8083
Password for
[INFO    ] Opening database: bulkloader-progress-20120920.152255.sql3
[INFO    ] Connecting to localhost:8083/_ah/remote_api
[INFO    ] Starting import; maximum 10 entities per post
[INFO    ] 11 entities total, 0 previously transferred
[INFO    ] 11 entities (3197 bytes) transferred in 18.7 seconds
[INFO    ] All ...

Favorite Icon

App Engine is kept logging error if you don't have a favorite icon. I found a like which shows a few ways to create one. So I did!