CMSMS vs WordPress – a personal opinion
CMSMS vs WordPress – a personal opinion
An experienced web developer who has been using Wordpress for a few years asked me to convince her why she should be using CMSMS. Even though she is a capable coder, projects were taking too much time. Mainly because WordPress was making it harder than necessary. So I told her...
Category: General
Posted: September 13, 2024 by simon
CMSMS vs WordPress – a personal opinion
An acquaintance of mine, Bex, asked me to convince her why she should be using CMSMS instead of WordPress. She’s an experienced web developer and has been using Wordpress for a few years to great success. However, recently some of her clients, as they have matured and grown, have needed to get more out of their websites and she has been asked to push some of the boundaries of the builds she created for them.
Even though she is a capable coder with a good working knowledge of html, CSS, JavaScript and PHP, she’s found that the projects she’s needed to work on taken too much time. In fact, they have cost her far more time than she can realistically pass on in invoices. In the main part this is because WordPress has made it harder for her than is necessary.
So knowing that I am (admittedly) a Zealot when it comes to using CMSMS she wanted to understand what was so good about it. "Ok," I said, "Where did WordPress shoot you in the foot?"
It turned out there were two main issues. Below is what she told me, and why I think CMSMS solves her exact problems in both cases.
The WordPress plugins kept breaking each other.
Bex told me how she had been asked to build a web app for a logistics company – creating a small custom members area where their clients could do 'stuff' (we won't get too bogged down by the details here). Once the brief was nailed down she headed off to the WordPress plugins library intending to find the plugins that would do what she needed and, well, plug them in. Plug them in both to the website and the other plugins – making one cohesive set of functions all wrapped up nicely in a user area. And there, she hit her first problem.
WordPress is wonderful with an extended developer community creating literally 1000s of plugins to do many many things. However, due to the non-centralised way that the plugins are created, there’s no telling whether one plugin from developer 'a' is going to cause a problem with a plugin from developer 'b'.
If you are sticking to the obvious stuff, you will likely be ok, but anything not off the shelf and you, like Bex, could be tearing your hair out just trying to get the basic building blocks talking to each other without throwing their toys, and, more annoyingly, a site killing PHP error. In this case, Bex couldn't get to do the clever stuff she was planning to drive the website app because she couldn't start the engine.
CMSMS Modules are chatty little devils
I've heard Bex's issue before. However, I have never experienced it. Why? Because CMSMS modules (our version of plugins) are built in an object orientated fashion which, to the layman means, that they will just talk to each other. They will talk to each other irrespective of whether the developers behind them have talked to each other, know each other, or are even aware of one another's existence.
If I want to call a directory that only shows certain aspects when a visitor is logged in, I can. If I want to create a database of building contractors and associated them to a database of apartment blocks so I can monitor maintenance jobs, I can. If I want to create a full eLearning platform with video courses, student profiles and assessments I can (and I have). And whilst I got into plenty of hot water on those projects, every single time the issue was me, not the various modules that I was using to achieve my goals.
And instead of 1000s of modules, CMSMS has about a hundred or so. But with those modules, particularly with the core modules and some key third party modules co-owned by the CMSMS foundation such as MAMS (member area) LISE (a module to create custom modules) and FormBuilder (guess what – it builds forms!), you can do more in a couple of hours than you can do with WordPress plugins in a day.
Not to mention all CMSMS modules are free. Not a commercial, or a 'premium version' plugin in sight.
I can't make it look how I want
Ah, themes. A brilliant but limited idea. Bex wanted to really customise the look and feel of a site. For WordPress builders, themes are great. It's possible to choose a theme that looks kind of like what the client needs then change the colours, the logo, the fonts and so on to get it looking just so. If you ever wondered why so much of the internet looks the same, ask me and I'll say WordPress Themes. They are cookie cutter perfect and that encourages a jobbing developer to do minimal customisation.
To counter that there are some amazing theme creators like Elementor where everything can be tweaked and changed. But that comes at a price and, what it doesn't allow is the total freedom that pure html and css does. It gives you a custom boat to float across the sea, but it prevents you from jumping into the water.
And of course one can build a WordPress theme from scratch and completely customise it, but I've always felt that takes a convoluted route that involves jumping through many hoops. A design process very much created without the designer in mind.
CMSMS playing the internet's greatest hits.
When it comes to creating a site look and feel in CMSMS, we use templates. And frankly they can be whatever you want them to be, only limited by what you can create with html, css and all those great building blocks of the world wide web. There is no proprietary system to learn, you simply need the core skills any web developer worth their salt already has.
When Bex starts a WordPress job, she is effectively forced to design within WordPress using elementor. When I start a job with a big design element, I start in my design program (my weapon of choice is PhotoShop) knowing that once I have final client approval, I'll be able to build a template in CMSMS that matches to the pixel the design that's been approved.
How? Smarty PHP templating. I build my web page in html/css/etc complete with mock copy and when it is looking exactly right, I move that all into a template and corresponding style sheets. Then I replace (for example) the mock copy with the {content} tag and it pulls in the content of each page there. I replace the mock title with the {title} tag and so on. You get the picture.
Again, like with the plugins vs modules point above – I am not fighting the system that is supposed to be making life easy. My only limitation is myself.
So was Bex convinced?
Moving to any new system is scary. There are lots of questions and often, a conclusion is 'better the devil you know'. I've spent hours bitching about my accountant (who is hard to work with) rather than moving to a more agile, client focused alternative. Why? Because it seems too much time and work to move, even though the end result would be better.
So, Bex was convinced, mostly. She's working with me on a new project where I am mentoring her, just to get her into the thought processes of CMSMS. She's really enjoying how easy getting what she needs to work is. She plans to adopt it more and more in the future.
But, there's a but. She didn't drop out the projects that she'd started on WordPress. And, if I am honest, it means I get to grin each time she tells me about the latest annoyance and says 'I wish I'd moved them both into CMSMS as well'.
Who knows, if it gets too annoying, maybe she still will!