When the only tool you've got is a hammer...

Last Modified: 25-10-2017 21:56

Years ago, when I was doing some 'work experience' at the Department of Justice, PCs had just come in, and magically staff were somehow meant to become more productive overnight. A new PC had arrived sans instructions or training, but it had Microsoft Office on it. Although I was officially unemployed, I devised a staff training program, and set about finding some ways to make the PC actually useful. Among other things, I came up with some quite sophisticated Excel spreadsheets with lots of clever macros to enable more efficient record keeping. What I made worked, but Excel was a far from ideal platform. What I really needed was a big scary thing called a relational database but I didn't have one. Databases are designed to organise and store data reliably, preventing user errors like entering text data in a numeric value.

Fast forward to 2017, and I see everywhere people demanding websites built with Wordpress. Wordpress is an excellent blogging platform, and with prebuilt themes, it's one of the quickest ways to get a simple website up and running, but it's not the only game in town, and in some cases it's far from the best choice.

What do Wordpress and Excel have in common? Both are excellent tools for what they were designed for. Wordpress is an excellent blogging platform, and Excel is an excellent data analysis tool. Neither of them are good at complex data storage where data integrity and relationships between data is critical. I come from a database development background, so of course I'm biased, but when it comes to storing data, I believe it's critical to choose a platform that is designed for the task at hand. If you're really clever with macros, you can force Excel into working as a relational database. With the right plugins, you can do something similar with Wordpress, but neither is built with that use in mind, and the result can be clumsy and unreliable.

Dedicated database systems (Not to be confused with contact databases used by HR, sales and marketing) have been around for decades, but they can be daunting to set up for the inexperienced. Microsoft Access, although much maligned by IT departments, allows for much more reliable data storage and retrieval than Excel and in the right hands, it can be used to create reliable applications. Its big brother Microsoft SQL Server is used to run mission-critical applications by large corporations. MySQL, the database server that stores Wordpress data, can do far more than just run Wordpress. There are CMSs (Content Management Systems) that are data focused rather than content focused like Wordpress. By that I mean that the core element in Wordpress is a post, and things pretty much revolve around that.

In a data centred system, everything revolves around data, but the system makes no assumptions about what your data is. It could be a blog post, it could be a product listing, or it could be a business contact and so on. In each case, an individual record will have different data fields depending on what type of data it represents, and it's up to you or your developer to define the data. Umbraco, Silverstripe and Processwire are three CMSs that follow this philosophy. This might seem daunting, but typically the complicated bits will be done by a developer, and when you need your website to be an app rather than a brochure, having something that is designed from the outset to reliably represent any data you might need to store is sensible.

With data becoming increasingly cloud based, the platform you build your website on is potentially far more than just what is going to present a pretty face to the world. It's potentially also the platform you use to expose business data to clients. Just as Excel is not the best tool for data storage on the desktop, Wordpress or other blog platforms may not be ideal if you have complex business data you need to expose to the web. Your data needs to be secure, consistent, and reliable wherever it's stored.

Choose carefully.