And so the end of this advent series draws near — twenty-five posts in twenty-five days. Also the end of the year looms too, but the less said about 2016 the better, I think.

Today’s post is a final round up. And tomorrow I’ll look to the future.

So what have I achieved? In site development terms I barely got off the crease. I’m still sitting on a couple of sample pages and some Lorem Ipsum. I don’t feel too bad about that — not really, I spent much would-be development time trying stuff out and writing up my conclusions. I believe that’s been an interesting and useful process.

After some introductory throat-clearing, I knuckled down to some thoughts about directory structure. My intention has been to work as far as possible towards a layout that leaves space for non-web files and scripts, at the base, with a web root above it, and only then the WordPress core files.

I was also interested in managing the distinction between installable packages and those that are project-specific. To that end, I explored ways of using Composer to install the WordPress core as well as themes and plugins and then get the installation up and running. Once I had installation and version management automated I considered the fraught question — how much WordPress package code should be committed to version control?.

I considered themes – and the criteria to bear in mind when choosing a theme for your project. Once you’ve chosen a theme, of course, you’ll likely want to create a child theme – either by hand or, more likely, using the fantastic Swiss army knife for command-line WordPress management: wp-cli. Once you have a child theme you’ll occasionally need to override the parent theme’s formatting or functionality. I looked at some ways of doing this, including overriding templates, CSS and filter hooks.

I started an investigation into a problem that continually bites me – the safe sharing of permissions between CLI and Web processes. More work still to be done there.

I spent a few days looking at ways of migrating data from one instance of WordPress to another either wholesale or by moving posts alone

Finally, I embarked on an initial investigation into the fascinating VersionPress plugin which, although still somewhat experimental, already brings the power of Git to the WordPress database. I covered installation, cloning and the sharing of data between installations.

It’s been a tough month, but I have enjoyed it. It will be a relief to space out my future deadlines a little more though. Speaking of the future – that’s tomorrow’s post.

Oh yes, and happy holidays to anyone celebrating a winter festival!