Checking out PicoCMS

Using Google app Engine

Recently I've been enjoying the experience of working with the Google App Engine for PHP (GAE). One of the benefits of using GAE is the ability to scale up to 7 billion requests per day and automatically scale down when traffic slows. This is great for users who don't know or want to handle scaling hardware when traffic increases.

Originally I was looking at Statamic as I read a blog post on the Asana blog about it and I thought I'd check it out. Statamic is pretty great and interesting, but at this current time I felt that re-configuring their CMS to work on GAE was a bit too much work.

GAE for PHP does not offer support for some PHP methods, notably curl. Many third party plugins use curl and Statamic is no different. PicoCMS does not rely on curl. You might be wondering why a CMS might need curl, the reason usually is for creating files on the fly or caching mechanisms. Out of the box PicoCMS has cache turned off and any implementation currently that could use curl actually uses URL Fetch.

Creating Content

Pico is pretty simple. It's data structure is built with .md files within a content folder that is part of the CMS core structure. In the case of this actual page it is within a blog folder and a file named checking-out-picocms.md.

At the top of .md text files you can place a block comment and specify certain attributes of the page. The block comment for this blog post are:

⁄*
Title: Checking out PicoCMS
Description: This description will go in the meta description tag
Date: July 30, 2014
Author: Shawn Mayzes
Template: blog (allows you to use different templates in your theme)
*⁄

App.yaml Settings

Since GAE doesn't use .htaccess files you will have to replicate some of the .htaccess settings in your app.yaml file. To point to a themes asset folder for CSS and JS files you can use:

- url: /themes/(.+)/assets/(.+)
  static_files: themes/\1/assets/\2
  upload: themes/(.+)/assets/(.+)

Further Information

PicoCMS has integrated nicely with GAE out of the box and I'm quite happy with it. It would be nice to have an admin dashboard where I can create files with a an editor. I checked out the PicoCMS Editor and I didn't find that it satisfied my requirements, not to mention it had trouble reading pages that were in sub folders (i.e. /blog)

PicoCMS has further documentation on their website with more details of it's settings.