Mitchell Quinn
Developer
CMS: Who is working for who?

I have recently had the pleasure (or perhaps displeasure) of working with a number of different frameworks on several very different websites. And after many hours spent I have started to ask myself the question; "Are CMS's working for me or am I working this CMS?"

Let me frame this question with a few different examples that I have come across in the last few months. So our story begins as it should with the webs largest CMS wordpress. A client brought to our attention that the "Forgot Password" functionality and "Reset Password" functionality were no longer working. This is a site that has been pretty static for the last few months only minor visual changes here and there. Nothing that would have affected backend functionality like this, So I am tasked to figuring out what happened and fix it. A quick trip through the git logs revels nothing that jumps out, I start to investigate following the breadcrumbs through the jungle that is wordpress until I find the problem. The core functionality regarding users passwords reseting has updated from a recent patch. The code that once worked without issue is now outdated and no longer functional, all of the hooks that were being used need to be updated for the changes. So after some minor changes and updates everything is working correctly however the biggest question of how to prevent this in the future still remains: What is the best way to deal with CMS updates?

Moving along to one of the webs biggest ecommerce platforms: Magento. In the latest 'SUPER' Patch the file permissions for images and folders has been changed from 777 to 640. Now this was done for security purposes which I completely understand need to be address but because of this change multiple sites were no longer displaying images uploaded via the wysiwig editor because the file permissions for these images were restricted. Now in my opinion I think this is mistake by Magento image uploads probably should have been set to 644 rather than 640 but regardless we come to the next question: Should we overwrite core functionality?

Finally we arrive at Drupal. And I am working on a rather large site building with Drupal for the first time. Now let me give fair warning I am no fan of Drupal, I think it is super heavy for very little benefit and developing/bugfixing on it is very time consuming. Regardless this was what the client wanted so I push forward core Drupal is installed. Then several modules that are basically 'core' modules at this point (Ctool suite, Views, etc) and then a module is needed for 301 redirects and another for HTML emails and then a few more for language translations. Until finally a point is reached when the module list goes on and on and so much of the sites functionality is hinged against 3rd party community modules that at some point are going to be discontinued or require more dependences. And the finally questions becomes: Is the potential short time saved worth the potential cost of time in the future?

In closing this is mostly food for thought and I really don't have the answer for these questions but I think they are worth considering when deciding what to build your next project with. I myself enjoy working with Laravel/Cakephp and I think part of the reason I do not like CMS as much is because there is limited artitecture involved. I love database design and object modeling those end up being some of my favorate parts of a project.

Happy coding!


Side Projects

We have all had the great idea. The moment when we say, "I should build this, It will be great." For the last two years now I have been working on an online game called Quinix. It started out as a rough idea, which then evolved into a college senior project and to this day I spend a could hours each week working on it.

But I have notice myself questioning, "Is it even worth it?" With my limited time between work and family can I really justify spending time each week working on a project that will never amount to anything. This may be a different story if the game was built using a language that would be meaningful on my resume. However the game is built on a basically unknown game engine in C++; a language that is really completely useless in my line of work. So I come back to the question. Is it really worth it? When I could be learning new languages or frameworks. Or when I could be taking side work and puting some extra money in my pocket.

Unfortunately I don't have the answer yet but I will in a few months. I am quickly nearing the ending point. And when I cross that line and have a finished product I hope to be able to look back and every minute was worth it. So check back in a few months. I will be sure to update this post and let you know if the time I spent was a waste or something worth my while.

Until next time space cowboy.