A simple HTML website requires few choices – there are limits to what you can do with it, so all choices have to be confined to those limits. Beyond the options for a basic site though, the choices become more complicated.
When you require features that are more advanced, and when you require a combination of those features, the choices can be very confusing. One person says “use this!” another person says “use that!”, and sometimes the people who are telling you that don’t really know what it is that you need, or what the real risks are of the solution they are recommending.
See, most people who use CMS or other script software use something because someone else recommended it to them, and they are familiar with it. They don’t want to learn to use something else, even if that something else is better. They have not done the research they needed to do in the beginning, and may in fact, be going about getting things done the hard way, since they didn’t search out the best solution to do what they needed done in the first place.
For example, we have a client who needed the following:
- A website with an article database, and a shopping cart style catalog, with NO actual cart functions.
- A second website with article database functions, and full shopping cart functions.
This seems simple enough, except we really wanted them to go into the same structure if possible, so that training and maintenance were streamlined.
CRELoaded will do the shopping cart part just fine. But the article database functions are weak, and not flexible enough to do what we needed. CRELoaded could not be made to do the catalog only function without custom programming – something we wanted to avoid. We also needed some specific search functions which would be difficult to achieve with CRE.
Joomla excels at the article organization, and VirtueMart has a good catalog function, and even contained the search function we needed. The cart features were weak though. In order to make it work, we’d have to spend a lot of time tweaking and troubleshooting – but we could avoid custom programming.
Our choice came down to using one platform for both sites, or using one platform for each site. We ended up going with the Joomla and VM setup – because by doing it that way, we could completely avoid custom programming, long term the maintenance would be streamlined in having to only keep up with one software set, and because we could share templating between the two sites. It was easier to make Joomla and VM do what we needed than to try to warp CRELoaded and make it into something that it was not.
This was one of the more complicated choices we’ve had to make. Because there were other more subtle issues that influenced the choices one way or another. We did look outside these two solutions, but there was nothing else that met our primary criteria for using a system:
- It had to be well supported by an active developer community.
- It had to be well used by an active user community.
- The developer community had to be concerned about both security issues, and usability issues.
- The platform had to have reasonably easy modules and extensions for expansion options.
- It had to be sustainable – that means the security patches had to be fairly simple to install, or at least, simpler than the alternatives.
- It had to do 90% of what we needed out of the box – we did not want to have to install extensions just to get basic functions.
So there were really three major steps to choosing the platform:
- Assess the needs on a feature by feature basis, and determine how the features had to interact with one another.
- Select the possible software for the job, based on general criteria (our minimum standards for any software) and specific features that were close to what we needed.
- Refine the choice to the best one, by analyzing the degree of simplicity and sustainability in implementing each of the possible choices.
A good deal of it has to do with understanding how software works, and what the various feature limitations might be. But no matter what your level of experience, when you do a thing the first time, you take a risk that you might run into an unsolvable problem if you do not verge into custom programming. No degree of experience can prepare you to know the outcome of every single combination of functions.
The day after I began writing this article, another prospect came along. The functions that she needed to have combined were very complex – this kind of site isn’t one that anyone out there within her budget, would be able to say with confidence that they had done anything exactly like it. The combination was very uncommon, and highly specific. But with a good grasp of the possibilities, and an understanding of the interactions, we can predict fairly well what the potential problems will be, and how well they can be overcome.
The point of all this is, that good planning, careful consideration and exploration of the proposed platform, combined with experience, can save all kinds of time, and trouble. When you choose a platform, you are choosing a set of long term limitations, maintenance and upkeep tasks, and potential headaches. If you get the right one, the advantages are maximized, while the headaches are kept to a minimum. And that is worth a little time and research.