Tuesday 27 May 2014

Giving Back

So, after a long time between drinks, I've contributed to an open source project again. OctoberCMS. Let me explain why.

The first time was years ago, when I created a Joomla plugin called Menu Module Clone, to help users copy module settings between pages. At least, that's what I think it did. It's been a long time.

Recently, I've been keeping an eye on the php based CMS market. At work we went through a fairly rigorous process to narrow down the best CMS for our clients. Very very sadly, WordPress ended up winning. I say sadly because the code that it runs on is terrible. Joomla didn't get a look in as too many people didn't want it, and Drupal was just at the wrong point of it's development cycle for us to consider. If we'd gone down the road, would we have wasted a lot of time learning Drupal 7 before Drupal 8 came out? Probably. Especially since most clients just want a small site with a blog, and WordPress fits that bill very well.

Anyway, I digress.

OctoberCMS. It is awesome. At this point it is still in beta, and is definitely not ready for use in production. The sheer potential though is enough to get me very excited. So excited I ended up writing a plugin for it fill a perceived gap.

Menu Manager does exactly what it says. If you're interested, go and read up about it.

But why am I so excited?

I've done quite a bit of research over the last few months into the current state of the market. According to all the surveys I've seen, there are 3 big php frameworks. Symfony, Laravel and Phalcon. All 3 are pretty awesome. From where I sit though, doing very simple websites, I need a CMS rather than a framework. But because I also do love doing things the right way, I want it based on a modern php framework. There are quite a few CMS's built on these, but most are either based on old versions or are just not viable. Red Kite looked very promising, but the inability to get it running on my local Vagrant machine ruled it out. And I tried a lot of things.

However, when I found out about OctoberCMS I got more excited about coding than I had in a long time. And you should have seen me when I first found out how much nicer the sql will be with nested sets! It's backend structure is awesome and it gives you the ability to edit pages either in code directly or in the CMS. There is even inline editing.

You can also use markdown. But seriously?

So what have I learned writing my plugin? That I don't know how to use it mainly. But after scanning all the documentation and copying other people's code I'm finally confident that I can do basic stuff.

The only thing missing is to make this CMS a WordPress killer. I would dearly love to never use it again. I've also always wanted to get involved in an open source project, and I've finally found something that intersects with both what I want to learn and where I think I need to be to further my career.

So that's what I'm excited about. The change to get in at the ground floor on a new project that I think has the ability to transform the way we as a web development industry work. At this point it's just a plugin, but hopefully I can continue contributing and help the industry move forward.