Web Development Content Management Systems - Custom vs. Prebuilt
It’s been a long overdue task posting here on the Vault and I welcome the invite! I’m a geek by trade as most of you know (or are about to find out). Actually we spell it G33K - the 3’s make it geekier by nature! I’ll try to tone it down a bit, but consider this your warning prior to reading on that this is a g33ky entry.
Often in a normal work week I get asked many questions regarding web development. These questions are on a wide range of topics including Flash, Accessibility, XHTML, CSS… you get the idea. With more and more companies becoming enlightened in the ways of existing content management frameworks, a question that comes up often is: “Which is the right solution for me, a pre-built content management system like Joomla!, Drupal, WordPress (for blogging), or Ektron…or a custom tool that JPL would code specific to my needs?”
The short answer to this is…well…there isn’t a short answer. The long answer to this involves several inquiries on the part of JPL and the client. Some of these questions are addressed in Dan Miles’ entry, Know Your Audience. I’ll try to reserve my tech speak to some degree, but the other variables usually include the following.
Hosting
Who is hosting the site? Is it JPL, your company, or a third party host? Many of the existing content management system frameworks require pretty specific hosting environments. For example, you can’t host the Ektron CMS in a PHP environment and the same goes for something like Joomla! and Drupal on a Win2003 Server. These solutions are to be run specifically on a PHP/Unix-based server or a Windows environment. They simply won’t work (or won’t work with any amount of stability) on the wrong environment.
The Process
What are your goals as a company with regards to your content? What kind of automation and administration are you are looking for in your content management system? Are you trying to automate a process or just allow users within your company to administer content on the site without involving a web developer for every single little mundane update?
Understanding what you want your CMS to do is the first part of picking the right solution. Often times understanding your process internally will help you figure out your needs. It’s better to not do any content management or automation on the site if you’re working with a process that is broken or already failing. The content manager is just the tool; it won’t work miracles for your company or client if you first don’t have a good game plan. It’s better to have a weak tool and a solid process than it is to have an awesome tool and a weak or failing process.
Budget & Support
Let’s be honest, client budgets for their new websites or projects vary wildly. Budget is something that will immediately eliminate certain contenders from your CMS options. Options like Ektron, while being incredibly feature-laden, can get a bit pricey after you’re done paying for licenses and support. However, they are worthwhile to companies that need that kind of professional support 24×7. Options like Word Press, Joomla! and Drupal are open source solutions that are free under the GNU GPL license.
Now, free doesn’t necessarily mean “free” here. You still have implementation, hosting and labor charges with regards to the software, as well as any custom design or custom tools that need to be developed or designed. Bottom line is you still need the hands-on guidance of a professional or consultant to implement and get the most out of your open source software solution.
Open source apps also have limited support. Every time you need something major updated, enhanced or upgraded you’ll be visiting your vendor again. Combine that with the fact that many of the components and modules made to work with Joomla!, Drupal and Word Press are contributed by the community or another company’s project. So not only are you limited to the original developer’s vision and scope of the module or component, but you are also locked in with their code. Support for these open source components is community-based (forums, blogs, email, etc.) so keep that in mind when choosing open source solutions. You have the help of the entire web-based community but you don’t have the assurance of a support contract behind you.
Is Custom Right?
Custom is a great option if everything lines up (see Budget & Support), but a custom content management tool can sometimes be limiting when compared to full-bodied frameworks. By limiting, I mean that a custom solution is often tailor-made to the specific needs and design of the person setting the vision. Custom is also an awesome solution when you don’t want the people administering the site to have full access to the page’s content and supporting images. If you want an admin to log in, add an article, PDF, product or entry into the database, etc. and KNOW that it will display on a page of the site in a certain format, no IF, AN’s or BUT’s…then custom might be a good solution for you.
The sword has two edges though. Where a custom solution usually won’t let the site admin have full reign over any given page’s content, solutions like Ektron, Joomla!, Word Press and Drupal usually do. This can be a good feature or a bad feature depending on your vantage point. It certainly allows for the less technical user to be able to mess up aspects of the page’s layout far more easily. But on the flip side, it does give site admins the ability to create additional pages of the site, edit menus, customize content modules and tell the site where they want certain pieces of content and functionality to show up.
Prebuilt CMS’s work well for the user that may want an admin to have free reign on the site. But a custom solution often fits the bill if you are looking for very specific usability and editing options for your site or a section of your site.
Search Engine Optimization and Accessibility
Another issue you’ll want to keep in the back of your mind with regards to many third party content management systems is search engine optimization. Often frameworks like Joomla! and Word Press are database-driven solutions that will not physically create a page for every piece of content (page) you are entering into the site. Instead, they create database ID’s which can sometimes result in icky URL addresses like this one: http://brothersbarkery.com/content/view/8/26/.
Now keep in mind, there are components and modules to clean up this type of “deep linking” and present a much cleaner URL to the user like this one: http://brothersbarkery.com/aboutus.html.
Imagine for just a second you’re an end user trying to remember or copy/paste that first ugly URL. Even worse, imagine you are a user looking through your web trends or Google analytics marketing metrics for the month of April and all the URLs look like the first URL. How would you tell which pages viewers are visiting if they ended in content/view/8/26/? Pretty ugly, eh? This is just something else to remember when working with CMS’s and picking the right one for your needs.
Finally…
You can see there is a lot of thought and discussion that revolves around picking the right application-based solution for your client or your company. There are many additional factors to consider during this process and the consultants that ask you the right questions are worth their weight in gold. If you have further questions about how JPL could help you pick the right CMS solution, email me directly at jbarlup@jplprod.com.
Thanks ~ Josh
