Another flat-file driven blog/ cms engine on the block

This post was written 4 years ago.
Sat, 24 Nov 2012
I've just been looking at Statamic, which is a markdown-driven CMS and blog, self-hosted and written in PHP. It's commercial rather than open-source, but at a reasonable price, like Perch. It looks reasonably mature and has support for add-ons and lots of cool stuff. I'll probably buy a copy just to mess around with.

If I ever need to build another PHP CMS-driven site, i'll certainly give this a go, as i'm still obsessed with the idea of having content as flat files under source control. I like the idea that you could set up a staging site using something like this, and the client/ project manager could be adding content, and you can periodically log into the server, commit the content to GIT and sync you local dev copy in both directions.

Also, with the end result still being a dynamic PHP site (unlike the static sites compiled by the likes of Jekyll), you can still develop dynamic features into the resulting site and integrate in other PHP modules, e.g. forums and shopping carts etc.

As for what this means for my own PHP text-file driven blog eatStatic, it re-confirms that I shouldn't be putting any effort into building any CMS features in, and to concentrate only on maintaining as a blog engine for my own stuff, and only adding the features I need. I haven't had a look at the blog functionality provided by Stamatic yet, but having built eatStatic to fit my own ideal travel blog workflow, it would probably need some work to make me happy!

I've also mentioned a Python port of eatStatic in the past, and would still like to do something in this area, but I can't help but think i'd be better off concentrating on a module to plug into another blog engine / CMS, to avoid reinventing the wheel yet again. Before I do anything else I want to experiment with all the current static-site generators - to see if there is some way to build on this - e.g. a python app that takes content set up for a Jekyll site and syncs it with content in a mezzanine (or other Django-based CMS).

A quick google around for "python static site generator" has thrown up this: http://ringce.com/hyde
Tags: eatStatic / blogging / CMS / WCM /

eatStatic blog software current roadmap (November 2012)

This post was written 4 years ago.
Mon, 12 Nov 2012
I've written a post about the current plans for the eatStatic blog software (that this blog runs on), on the demo/ documentation blog.
Tags: eatStatic /

Sub-optimal web content workflow used by many agencies

This post was written 4 years ago.
Fri, 09 Nov 2012
I've worked at a fair few agencies in my time, and despite most agencies now using content management systems as standard, the content population and revision workflow is usually sub-optimal:-

  1. Designer inputs the content into a photoshop file
  2. PNG or PDF of the document is signed off by the client, or amends requested, which the designer deals with
  3. Developer copies the content into the CMS (they may need to create some custom content-types or templates to make this work)
  4. If the content needs to change - the designer is asked to change the photoshop document, and back to step 2
  5. At no point will the client touch the CMS, or entertain the idea of a few days training in basic HTML or markdown*

Yes, I think we can all see a flaw with this workflow - no need to point out how things could be done differently in the comments!

* I don't care if your CMS has a really good WYSIWYG editor - it's either too limited or too powerful, so an untrained editor at best will never really get the result that they want, at worst do some real damage!
Tags: cms / wcm / workflow /

Pushing a local git repo to a bare remote

This post was written 4 years ago.
Thu, 08 Nov 2012
Often I create a git repo locally, but then want to push it to a remotely hosted repo.

On the server, create a folder and move into it, then:-

git init --bare

Then in your local git repo:-

git remote add origin ssh://username@yourserver/path/to/repo.git
git push --all origin

(this assumes your remote repo is accessible via ssh)
Tags: git /