Blogs and Content management Systems
The year 2008 is the year of roll-your-own blogs. A year ago there were a couple dozen software packages for creating your own blog or content management system (CMS). Today there are hundreds of them. This review was written to help winnow down the choices.
Factors driving this revolution are competition between the open source and the pay-to-play community, adoption of open source CMS solutions by business and industry, and development of programs and CMS alternatives in other countries besides the one owned by Mr. Big in Redmond, Washington.
The climate of this software explosion resembles the way computer brands proliferated before the big shakedown. Once upon a time there were dozens of different computer manufacturers, but then came the big shakedown and they all died except Apple/Mac and maybe Compaq. Eventually Dell and Gateway rose from the ashes, at least until the death of Gateway. I predict a similar shakedown for CMS programs.
The offerings range from simple to complex. There isn’t much point trying to separate blogging software from CMS software as the definition changes daily. And how do the free offerings compare with big systems like Dreamweaver or Front Page? (Hears howls of laughter and marching black boots from the open source community). No, seriously. People use these programs without ever realizing that anything else exists, if you judge from the activity in bootleg editions of these programs. While Front Page has pretty much died a victim of Web 2.0, it will be interesting to see if Dreamweaver will survive. For your money (lots of it) Dreamweaver offers a feature-rich back end, and powerful WYSIWYG control panels that allow positioning mixed text and graphic elements with the use of a mouse. There are even versions that can be understood by corporate heads and other bottom feeders that prevent them from screwing up their website.
Several CMS platforms offer both free and pay versions or at least for-pay site development (EE). Bravo. Some things are worth paying for. For me, learning how these systems worked (or didn’t) was the payoff. It got me started learning php and building my own blogging system. PHP rocks! For pay software the question becomes how much bang do you get for the buck? If you are a developer, why not get your client to foot the bill and try EE? Or Dreamweaver. See more on this topic under the EE discussion.
A number of web development platforms are parts of larger frameworks that use other software beyond php or Java. These may have been designed for much broader purposes than simple web page construction. These include Plone/Zope (based on Python), Ruby on Rails (not reviewed), Django (not reviewed) and mojoPortal (based on C++, but not reviewed). Two drawbacks to using a framework are memory constraints and the need to learn some new language syntax. Of the CMSes that called themselves frameworks, only Silverstripe avoided these pitfalls.
WordPress is the yardstick for comparison here. It rates very high as a blog system and high-average as a CMS. Quite a few blog discussions revolve around comparisons of Expression Engine versus Drupal versus Joomla. Despite its popularity, WordPress seems less prone to such comparisons.
How the CMSes were reviewed
The following factors were considered in reviewing this year’s pick of CMS offerings.
Documentation. Clear, up-to-date instructions on installation, use and problem resolution are paramount to a good CMS. The lack of quality documentation proved damning for many excellent CMS offerings, like Drupal. Drupal has a wealth of dedicated users, but the forums consistently left me wondering what the heck they were talking about. If an intermediate level computer user can’t figure how to get a CMS up and running within a day or two, then leave it alone. A platform with a dedicated core group of users (Drupal, Joomla) may have evolved to a niche, in which the forums are more about the niche than about how to install the program. Some platforms are targeted toward paying clients who don’t care how the pages work as long as Google can find their website (FrontPage, Dreamweaver). Obviously there isn’t going to be much help there.
People should not have to spend inordinate amounts of time searching for answers to simple questions. Instructions should be comprehensive and easily accessible, and it helps if there is a diverse user community (Joomla, WordPress) or a large development team (Drupal, Plone) with enough independent funding to allow them to address issues that arise. Less important features are setup wizards. Wizards can be less than useful. Most are system-dependent. Site setup wizards can be helpful (Silverstripe) or they can be exasperating (phpWebSite).
Overall, it is better to access CMS documentation through Google rather than CMS Forums. Forum suggestions are often platform-specific, whereas a lot of the solutions work on multiple platforms. A good forum will have all the posts indexed in Google anyway. CMS search engines are less robust than Google’s. Having a large number of Google links to help rather than being confined to limited search capabilities of developer home pages and forums is really helpful.
Intuitive interface. I strongly prefer CMS software with an intuitive interface that can function without reading the documentation. CMS software with steep learning curves (Ruby, Drupal, Plone) is going to be used primarily by developers. If the primary purpose of a blog or CMS is to enable better communication, then having a complicated interface is a contradiction. Perhaps this is where the line should be drawn separating blogs and CMSes. Menus should be unobtrusive when editing content, but quick to expand and browse when help is needed. Menus should be hierarchical.
WYSIWYG displays are helpful because they show the screen as the user will see it: what-you-see-is-what-you-get. This post is being edited in WordPress default near-WYSIWYG editor, which works flawlessly, and has live spell-checker with right-click correction capability). For many developers, the greatest objection to using a WYSIWYG system is the failure of most to preserve developer code. Correct me if I am wrong, but the only true WYSIWYG platforms for block and image positioning and resizing of custom images all reformat the page coding. Unacceptable. Don’t f*w/ my code.
Extensibility and scalability. A CMS should be designed in consideration of future development needs. There should be modular extensions that can be added or dropped or improved as the internet evolves. However, modules can be a limitation if they are not improved on a regular basis. WordPress is moving forward with widget-ready themes, and some CMS themes can be partially modified by the end user (skinning). This is a hot field for developers, some of whom are offering themes in both pay as well as free version. Eventually, someone is going to publish a free theme that is completely customizable, and that will take all the profit out of it.
Web standardization is taking the tedium out of development and stimulating author creativity. But there is a trade-off when standards become constraining. An example of the tradeoff between standardization and constraint can be appreciated from the huge effort that goes into making websites conform to the standards for Cascading Style Sheets (css) that are the foundation of most blog themes.
Flexibility. Flexibility in a CMS gives it a greater range of capabilities. Can the blog engine create static pages as well as posts? Can image galleries be modified to suit individual needs? Or do you have to shoehorn your ideas into someone else’s theme/template? Flexibility should also incorporate some backward compatibility, as well as the ability to export functionality. The system needs to be able to run on both backbone as well as local servers in order to allow testing and rapid-scale-up prior to a production release. People on fast servers don’t get this. People in the bush still use modems. If you do a lot of outdoor research, you need to be able to quickly access the site anywhere from the arctic to the jungle. CMS programs that have built in ftp loaders can be helpful here, whereas WYSIWYG editors can slow a site down so much as to make it unusable.
Setting up a local host server is where the frameworks become limiting, since they are generally system-dependent. If the platform is proprietary, then it won’t meet the need of some of the users. It is comical that in 2008, users still argue over which system is better, Windows or Apple/Mac, without even realizing that Linux has always been the de facto standard for the internet.
Layouts should be flexible. A CMS needs to allow for themes with liquid layouts and drop-down menus. If the layout is counter-intuitive, a flexible CMS will allow changing the theme with a few clicks. CMS Made Simple is a great package but it only comes with one theme, Palm trees, which makes it totally unacceptable for a website about the Arctic.
Security. Must have options include SSL compatibility, content approval, Captcha, Bad Behavior and Akismet.
Miscellaneous. Language translators, spell checkers, Shopping Carts, and ftp capability are of less concern, but within a few years such features will be standard on whichever CMSes survive the coming shakedown.
What to avoid
- There shouldn’t be limitations on the number of sub-pages or subcategories allowed on a page or a site.
- The implementation should be possible without having to pay for it.
- One shouldn’t have to learn jargon to use a CMS. Drupal has nodes, unlike any other CMS. No one knows why.
- Watch out for CMS Forums that overly moderate all the posts, or that have poorly performing search engines.
- Avoid bloated software that requires a large downloads or a CD to install (Microsoft, Plone/Python), unless you are willing to use the program strictly from the server (Ruby). Remember that you will have to keep all the programs updated with the latest version, and this can become a nightmare every few years. You may end up with multiple installations of many different pieces of software making it hard to track down buggy code when it emerges.
George’s Picks – Favorite CMS packages
I will always have a place in my heart for WordPress. I learned about CMS functionality through many long days and nights setting up my WordPress site and reading discussions by the huge number of similar users. WordPress is blogging software written with ease of use and elegance of design in mind. It never pretended to more than a blog, but it now has so many options that it can be function as a CMS. A CMS should have a rich suite of user permission settings and WordPress still lags in this respect. I plan to continue using it for my blog, even though I nearly died of uncontrollable spam in 2007.
Ultimately the limitations of WordPress drove me to look elsewhere for a more flexible program with a more intuitive back end (the organization of WordPress is not intuitive for new users). Since then I have returned to WordPress and found many of its original faults have been fixed, and I am so used to the menu system that I have forgotten how frustrating it used to be. The admin interface is decorated with WordPress announcements and there are three different sets of menus for managing posts, setting user defaults and viewing the site. This is truly distracting until you become familiar with it.
WordPress is extremely popular and it is good at what it does. It has a rich reservoir of ready-made themes that render beautiful pages. It is popular and a good way to get started blogging. Although modularity is great, it is can be limiting if modules aren’t constantly updated. Fortunately, the rich user base of WordPress keeps modules constantly evolving. From reading many posts on CMSs, it appears others also experienced frustration extending WordPress that drove them to seek a different CMS platform. All I can say is when you have tried several others, give WordPress a second chance.
CMS Made Simple (CMSMS)
This CMS is popular with its user community. It doesn’t have as many features as some of the others reviewed, but if it works out of the box and doesn’t look too shabby them it might be just what I need in some situations. It is simple and intuitive.
In contrast to CMSMS Plone is not simple. It is more than a CMS. It runs under the Zope web development framework which in turn is implemented by the Python programming language.
My familiarity with Plone began several years ago, when I began, but never finished, trying to learn Python. At that time, I had to give up on Plone, because I was using a dial-up and it took too long to wait for pages to reload. Since then, those problems have gone away. I have a local version running and I love it. It is elegant, flexible and powerful. If you can get past the set up, then this is a great CMS.
Don’t fear Plone just because you might have to occasionally delve into a little Python. Plone is feature-rich and well-supported, but the users and supporters tend to be intense lovers of Python and they tend to speak in pure undiluted geek. These are the movers and the shakers of the open source world, so I am trying to be nice, here, albeit in a backhand way. There is an excellent and capable development team and a broad community. The fact that Plone requires at a minimum two other pieces of integrated software has given Plone the false reputation of having a steep learning curve. Actually, new versions of Plone come integrated with Zope/Python and install faster than some of the modular CMS programs. When it first runs, the admin interface is easy to use and intuitive.
I should mention to a couple of the other CMS frameworks out there. mojoPortal is a framework that is wonderful except for one thing. I couldn’t get the C++ framework to work on my Microsoft XP system. This is pathetic, and it is why I have two computers sitting on the desk. For more information, check out this video post discussing mojoPortal CMS.
Django is a web framework that uses the Python language. Not tested.
Ruby on Rails is another web framework. Rails delivers its functionality through the Ruby programming language. The framework claims to make web development faster, simpler and more efficient. RoR is apparently undergoing a meteoric rise to stardom. One of the drivers of this phenomenon is that it ships with Mac OS X v10.5 Leopard. The program developers are intent on rebuilding web applications from the ground up, beginning with new computing principles such as Convention over Configuration (CoC) and Don’t repeat yourself (DRY). RoR incorporates the Model-View-Controller (MVC) architecture, and there are packages, lots of them, including ActiveRecord, ActiveResource, ActionPack, ActiveSupport, ActionMailer. Simple and efficient, huh?
This is more than a set of principles, more than a philosophy. It is a cultural revolution. But the reinvention of everything including the English language could backfire and become a turn-off, like it did with Microsoft FrontPage. Drastic revolution of they way programmers think is only going to succeed if RoR truly ends up becoming a killer app that is universally accessible. Otherwise RoR risks becoming another geek niche (or worse, an Apple/Mac/Leopard geek niche) along with Plone/Zope/Python. Loved by few, unnoticed by many.
Let’s see how RoR treats naive bystanders.
RoR installed just fine on the remote server. But during an installation of the framework on my XP computer, it ate my system, the mouse went haywire, the system slowed and then died. Several reboots later I was able to remove this program. I hope it is all gone. I haven’t had that much go wrong since leaving Windows 98.
The SilverStripe open-source CMS is flexible, scalable and modular. Technically, SilverStripe is a CMS framework, but the framework is unobtrusive and transparent. The user interface is easy and intuitive to use and pleasing to look at. However the installation is quirky (I started with version 2.2.1), and the initial CMS will differ in functionality depending on one’s choice of the two initial themes offered – blank or blackcandy. I was able to get it running on a local host without any problems, but ran into all sorts of annoying glitches when I installed on a remote with only a few changes. It isn’t intuitive that the tutorial requires the blank theme nor is the solution for switching themes. The tutorial is out of date as of January 2008 for using version 2.2.1. Getting answers that extend SilverStripe’s functionality requires searching the blog-style forums for previously posted answers from the young and enthusiastic support team.
SilverStripe was developed by a New Zealand group, and therefore it is very supportive of open source (they are upside down, for God’s sake). SilverStripe emphasizes that the user’s experience should be a human one that avoids geekiness. The SilverStripe overview page puts it this way: “We’re making our content mangement system the most powerful, efficient to use, and intuitive means for someone to edit their site.” Unfortunately, this is not necessarily the case for the site administrator, who must resort to hacking php scripts. That would be all right, except for the documentation, which was out-of-date.
SilverStripe has a large audience outside of its home pages that makes it possible to find answers to questions by searching Google rather than just the developers home pages and forum. This CMS is a good educational tool. SilverStripe cooperated with Google in a theme development contest that garnered hundreds of loyal high school student users. After using it for a week, I had a great looking CMS, but nonetheless I shelved further development when I realized that extending it beyond the initial installation was going to involve a lot more time than I had available. It will be interesting to follow the development of SilverStripe to see if it improves the experience for extending and modifying its functionality for the back end administrator or over 30-something.
This CMS has a rich and well-organized admin panel. The Norwegian company that offers eZ Publish also provides professional licensing options and a number of other eZ offerings . Installation of eZ requires changing quite a few system settings (like increasing the memory in php.ini) and therefore installation will likely take more than an hour. The admin pages are easy to use.
One problem with eZ Publish is that it is noticeably slow to render pages. Even on the eZ Publish home site is slow to load, despite a utility for caching and speed optimization in the CMS back end. Several developers noted this and commented to the Forums. According to its developers, the speed issue with eZ Publish even out on large sites, where it is comparable in speed to other CMS engines. Another problem with eZ Publish is that the official documentation is Spartan. Resorting to Google for answers didn’t help either, as Google often just dumped me back into the Official Help pages, which hadn’t answered my questions in the first place. This is a serious impediment to rapid deployment. Actually eZ Publish is only slightly worse than average in their lack of documentation. But, hey it’s free! If I had all the time in the world I would spend it with eZ Publish, because it is a fun program, but where it last left me was requiring me to click a redirect button every time I switched pages :(
EE is unique. It is a powerful, flexible, secure CMS that comes in several versions, free, costly and expensive (read prototype, non-profit and business). If you aspire to becoming a web designer with EE, then you will need to surcharge your clients $230 for the Commercial License. That’s per site. And the definition of what EE constitutes as commercial eliminates some non-profits such as the recycling firm I wanted to use it for, because they sell stuff. I imagine the friendly folks at EE would consider a plea for an exception, but it just doesn’t jive with the whole philosophy of the recycle center which also uses bartering. So, again, if the purpose of your site is to support a legal business – then you need a commercial license. Grrr. Even the non-profit license is on the high side of most of my friend’s budgets: $99 for the personal version. The free version is basically limited to testing the program on a local host.
For all that it costs, EE is still difficult to learn and the official home page has out-of-date tutorial instructions came short of the tutorial written by Michael Boyink. If you follow the tutorials written by Boyink Interactive, you can learn EE and make it do what you want. EE recognized this and hired him. Michael is an excellent teacher and he has some books and other training materials that can be used to do things with EE that no other CMS can do. Things like internal scripting commands that can pass user-aware variables between page requests.
True help is pretty much limited to paying customers. You can read the forums, but the tech help often ends when a paying member gets personal attention. Fair enough. The help crew are polite and business like. I first found out about EE when I became exasperated with Drupal for its lack of documentation about database integration. The following website had a discussion on WordPress vs Joomla vs Drupal vs EE, that spurred me to choose EE.
Summarizing, EE is a great CMS for a commercial enterprise. EE’s official documentation is sometimes lacking, or out of date. The license agreement of the free and personal versions strictly forbid use of this CMS in for-profit enterprise, and the cost of a commercial license is over $200. This is not an obstacle to most corporate businesses, but it is an obstacle for the farmers I work with. I applaud the design of EE, but they should reconsider their consent form so that developers can pay them in organic carrots (farming 2.0).The down side of EE’s superior internal website functionality is that it is incompatible with other CMS programs and it may have a rough road ahead during the coming CMS shakedown.
TYPOlight has got to have the most intuitive, and well organized admin control panel of any CMS. That doesn’t mean it is easy to use at first, but it probably means that once learned, it will be easy and quick to use. I liked that there is a link to a setup page that allows setting most of the global system all from a single page. There are a large number of features that make this an exceptional CMS and many of these can be enabled through modules. The TYPOlight team is international, but a lot of the work seems to have originated with European authors. This insures broad usage.
Installation on a local machine was tricky for me of so little gray matter. After a successful installation, you are served up a blank page, which I thought was a failed installation. Actually it was working but, I needed to add content. Duh. The instructions confused me on whether to initially ftp the install files from within a folder or from the subfolder within that folder or just into the CMS root folder. I got this sorted out pretty quickly via their installation forum, but step-by-step instructions would have been nice. A lot of other new users all had the same problems as me. If I had all the time in the world I would post them, but this review will have to suffice for now. I like this program so far, but I have a long way to go learning about it.
I couldn’t figure it out. Duh. OK, I’m stupid. Or maybe I was blocked by initially installing a juicy, cool-looking theme that was not integrated well into the other parts. Anyway, I couldn’t find the admin panel and after hours of searching the web for a clue as to what to do I got mad and turned it off. Although Joomla is easy to set up, it is not as easy to customize and there are too many unstructured user-written modules out there.
After giving up on Joomla I turned to Drupal, which is just as hard to learn, but somehow I got past the initial installation and could access the admin panel.
Documentation and user advice for Drupal is heavily centered on more experienced PHP users. It is easy enough to set up. But after the initial thrill wears off, the wished-for beauty and extensibility will be a hard won climb. Beginner documentation is sparse. I found the hardest part was trying to figure what the heck the developers were talking about. They were a nice enough bunch, but advice was often too brief to be helpful, and left newbies feeling daunted. There were also incompatibility issues when importing and exporting between different servers that caused enough problems to make me set Drupal aside. As one user post put it, “I wanted to love Drupal”. Me too.
This CMS was developed at Southern Appalachian University. Using an institutional product was part of the appeal for trying this out, as it would seem to insure security and good coding. Unfortunately the installation on a local machine stumped me. After an hour or so of getting the installation past the not-too helpful set up screens (known as screams around here) phpWebSite seemed to work, only to change its mind and serve up an uninformative error page (check your error logs). Subsequent attempts to install returned this error page at every step and the error log file just confused me. The home page advertises an open source and community driven CMS, but the community is still rather small (at the end of 2007 there were only 16 posts in the themes forum. I was tempted to install it remotely on bluehost via Fantastico, but the supported version was outdated (0.10.2) and I have shelved this CMS for now.
The Serendipity CMS worked for about a week on my local system, and then mysteriously quit working. This may be due to an issue with the MySQL database, and no fault of Serendipity. I dunno. But the version I was using did not have all the features that I was looking for and the number of built-in applications was limited so I dropped it for the time being. Check back in a year.
Xoops is frustating to use once you get past the initial enthusiasm. After it let me down in 2005 it helped spur me to find something better, which ended up being WordPress. The program extends its functionality through user-written modules. For this to be an effective tool, look for a CMS with the broadest user base. Early on, Xoops used a one-click module enabling process, that also worked for disabling modules that went south. But the user base and available modules was somewhat limited.