I've been an ExpressionEngine guy for a very long time. I've built dozens of sites for clients, written numerous add-ons (Structure and Lobster War Machine), participated in the Reactor Team, and genuinely love the platform.

However, I've had numerous pain points with the system that seem to be insurmountable. To be fair, many of these are indicative of many content management systems.

Migrations, upgrades, and dev/production database syncing

Every site will eventually need upgrades, updates, new sections and/or features. With "traditional" systems, this process usually looks something like:

  1. Export the live db
  2. Replace dev db with live db, update path settings
  3. Build new features, update files, and so on
  4. Bring live site offline for maintenance
  5. Push changed files up to live server
  6. Overwrite live database with dev, or manually recreate changes to the system tediously by hand
  7. Fix path settings
  8. Bring site back online

Databases are the biggest part of the bottleneck, but system architecture can often make updating your software miserable. Something Wordpress actually does right.

So I thought, why not remove this bottleneck altogether? I tinkered with platforms like Jekyll and Stacie, but was never really happy with the way they worked. I wanted something fully dynamic with live url routing, with the benefits of flat file based content and templates.

Enter: Statamic

Statamic is a dynamic, flat file content management system that's completely powered by static files. That's right, there's no database in between your application and your content. Your content is your application. Or at least, one of the core aspects of it.

You can manage your Statamic site with YAML Front Matter loaded Markdown (or other text type) files, or through the fully responsive, client-friendly Control Panel.

You can leverage the power of numerous fieldtypes to make content management a breeze. Grid, file, textarea, text, radio, select, and tag are only the beginning.

We also have a powerful add-on and fieldtype API that allows developers to extend Statamic in ways we haven't thought of yet.

Updating your Statamic site involves swapping out 2 folders in your site directory. Your entire site and all configuration can be version controlled. Migrations and launches can be done via Git, Capistrano, and other file/command deploy methods. No database to sync with. Just pure efficiency.

Statamic launched in May 2012 and was co-written/founded with my good friend Mubashar Iqbal. Go check it out and tell the world.

Published Jul 16, 2012

RSS baby!