Remember the compact cassette? It was a small magnetic audio tape format dating from the mid-20th century, designed for easy use with dictation machines – a low fidelity application. It eventually found favour for use in audio applications pushing toward high fidelity, as engineers overcame its technical limitations with ingenuity.

WordPress reminds me of the lowly cassette. From its humble origins as a blogging platform, WordPress has evolved into a very popular CMS platform. We have been very happy using it for brochure sites and simple ecommerce applications, but prefer to select the correct tool for the job – using reel-to-reel systems for hifi audio, to continue the analogy. Like the cassette, WordPress does have serious limitations, but we’ve recently had occasion to use it in applications we would previously have avoided.

A client came to us looking for a business-to-business solution that had some unique requirements, not within the reach of off-the-shelf products. Non-functional requirements included rapid development and low price, and their startup was evolving rapidly. We proposed a custom solution with a flexible framework that could adapt to their short- to medium-term needs, and also offered a “prototype quality” version, built in WordPress, that would be considerably less expensive and quicker to deliver. The justification for the WordPress solution was that it could be replaced in 6 months to a year, once their business stabilized. They chose the second option, and we quickly delivered a solution combining the wide range of plugins available with a modest amount of custom code, plus integration with their QuickBooks accounting software.

Building on this experience, we’ve embarked on a similarly constrained project for an international membership organization, and proposed WordPress, again, to meet their budget limitations. In this project, we have had to make design decisions based on limitations of the CMS, but we appreciate that these constraints would have been expensive in a custom solution, and would also have complicated the administration interface.

One example of this constraint is the difficulty of tracking historical member data in WordPress. For our organization, there are membership requirements for qualifying activities over multiple years. In our solution, we have worked to effectively track historical activities in as flat a database structure as possible, focusing on the date of last completion for a member’s activity. Members are required to report on their qualifying activities, and we’ve provided self-reporting capabilities to reduce administration effort. Other features include automated document generation and delivery for receipts and certificates. This project is intended for long-term use, and our hope is that the constraints we have had to work within will result in an efficient and practical solution that is more usable than the fully-featured system we originally discussed.