Content Management Systems
While working on a site called AmmaPeg.com justin wrote a comparison of various Content Management Systems (CMS). We post this information below as it may answer some of your questions about “Why we choose WordPress”
To address the goals and requirements of the site I set off in search of a content-management-system. Though the years I have worked with quite a few CMS’s and usually return to WordPress. Since it had been sometime since I explored Joomla and Drupal I decided to take a look at what they are currently offering.
I am only looking at these three CMS’s because they are open source, stable, and based in PHP an mySQL, technologies I am familiar with. I need a system that will address most, if not all of my requirements either out-of-the-box or with add-on modules. If it requires add-ons they need to be easy to implement and ideally they would need little recoding. I have worked with some template systems that have add-ons which require code changes to the primary system files, I would prefer to avoid this type of situation as it always makes upgrades painful at best.
Open source is important to me because too much information in our world is owned. Beyond that I have found that I get better support from a community of users and developers than from proprietary sources. With open-source solutions people support and maintain software because they use it themselves and because they care about the quality and functionality of the software.
Vattekkat Satheesh Babu laid out on his site vsbabu.org three great reasons to use open source software, I can not say it any better than he does:
“Trust worthiness of software. Unlike closed source, open source software has more chance of getting exposed to people with no financial interests. This really improves the trust worthiness – you don’t have to worry about claims like “oh, we want to get information from your computer to our server, to serve you better and to better analyze your problems”. If need help, I’ll call the vendor rather than vendors collecting information on their own.
Reliability of software. Well known open source software like Apache, Linux, Free/Open/NetBSD, Samba, Zope etc are worked on by people who do that work simply because they are proud about it. That, IMO, is the best ownership. You get code with lot of heart behind it. For most closed source software, that feeling of responsibility that any one and every one can see the code and hence you might be held responsible simple won’t be there. Just how would you like if your constitution is a closed book and the judges alone can look at it and decide whether you broke the law or not?
Support. This is often brought up often by anti-open source advocates. I think, in reality, open source offers the best support, if you’ve competent people in your team. Either you can get help from the community or you still have the option to go through the source and fix it” (http://vsbabu.org/mt/archives/2002/04/25/why_is_open_source_really_better.html)
For profit companies with closed code are working on the product to make money not to make the product better. This often leads to products not working with other software and in this case browser issues. It is also often hard to find real support from closed software companies where as the open source community is offering support based on experience. Joomla says it best, “[...]Open Source Matters” (http://extensions.joomla.org/)
Joomla is one of the most complete CMS’s I have ever worked with or seen. This is one of the best things about Joomla and in my opinion, one of the biggest issues. Though my client has a wide array of needs I need to make sure that whatever she uses is easy to manage. Simplicity is king in letting users update their own content, in my, not so humble, opinion. Fine, for me to have a million and one options as a developer but my clients are another story. They need to be able to perform a few basic tasks, and that is it.
On of the biggest issues I used to have with Joomla was image management. It was confusing at best and after trying to train multiple users on how to use the image manager I had given up on it. With version 1.5 Joomla says,“A very popular improvement is Joomla!’s new image manager enabling you to browse media folders to select and insert images directly into your article as you write” (http://www.joomla.org/content/view/4483/118/) This uplaoder is similar to other CMS’s, in the sense that it is a flash overlay to the screen (works like lightbox for images).
On thing I really like about Joomla is the article back-end screen that shows page statistics. This is a very handy tool to have readily available in the write screen.
In the administration screens you are able to set and online and offline mode which is very handy for doing updates to a site, and you are able to set the metadata in the administration, cool, and a great help for SEO.
One of my other issues in the past with Joomla was its heavy reliance on tables. The developers listened to the public and “Now, template designers can use custom layouts, often referred to as template overrides, instead of the typical table heavy output from Joomla! Core.” (joomla.org) While this may be true the core still relies on tables,
“Designing Joomla powered sites currently presents considerable challenges to meet validation standards. In the current series of releases, 1.0.X, the code uses a significant amount of tables to output its pages. This isn’t really using CSS for presentation, nor does it produce semantically correct code. This problem is compounded by the fact that very few 3rd party developers are using CSS either, most use table to generate their code too. However, tableless is not the same as valid. Its quite possible to have a site that uses tables to validate, it just makes it harder. A useful thread on the Joomla forums go into this in more detail:
Easy tricks to remove many tables from the standard output of Joomla!
Fortunately, the Joomla Core Development team recognize this issue of Joomla. While in 1.5 there will be no changes towards removing tables from the core, a roadmap has be defined that begins to address this in the 1.6 release and on.
Regardless, care can still be taken when creating a template so that it is accessible (e.g. scalable font sizes), usable (e.g. clear navigation) and optimized for search engines (e.g. source ordered).” (http://dev.joomla.org/content/view/1136/79/1/3/)
While I agree that tables and validation are not one in the same I am not to thrilled with the idea of the extra steps it seems to take developers to break out of tables, and as this blurb states, because Joomla! Relies on tables so much so do the module/add-on/plugin developers.
Joomla! Has so many options. After playing with the online demo, I still find the back-end interface confusing and though you can create roles for various users these roles do not seem to simplify things too much. Joomla! Does offer a lot of functionality “out-of-the-box” which is nice but if the “out-of-the-box” functionality is confusing it does not help me to much. What amazes me with Joomla! Is that though everything on the back-end is accessed by one login things are still quite separated to various areas.
It was funny in researching for this project I found something that said what I always felt about Drupal, “Drupal is not known for its ease of use” the bummer is that I closed the tab and have no clue who said it. That said… I was less than optimistic when looking into Drupal. The only reason I even looked at it at all is because many of my friends swear by Drupal and everywhere I turn I hear about how many changes were made in version 6.x.
One of the best things about Drupal is its “out-of-the-box” support for multiple users. Users can have roles. In former versions of Drupal setting up user roles was not the easiest task, users adding themselves was quite simple on the other hand. With the version 6 the administration section has been restyled and is much better. Because Drupal is focused on community sites the user options are more through than any other CMS I have seen. In fact, about a quarter of the admin options are in regards to users.
The new admin panels look great. The main admin section is broken into a few head categories: Content management, User Management, Reports, Site building, and Site configuration . This is great and intuitive.
For ammapeg the big concern is content management. In Drupal you have a wide array of options, collaborative “books” that work great for user manuals, etc. and Pages and Stories (similar to Pages and Posts in WordPress). The focus of Drupal really is collaboration, Drupals site boasts, “In Drupal, the community aspect is threaded through the system at the most fundamental level, so snapping these functions together and configuring them is not too different whether you want to do it as a mostly one-to-many site, or you decide to open it up and go many-to-many. Connecting the distributed, collaborative possibilities of community with all aspects of your site is something Drupal does very, very well.” (http://drupal.org/node/265726)
There is a native forum module in Drupal which is very nice, not something my client needs, but nice none the less. Drupal also has multi-site support which is very cool, but again not a feature my client needs.
I mentioned images in regards to Joomla and here the pesty buggers come up again. Drupal does not support image uploads “out-of-the-box” you have to install the image module to add this functionality. Once the module is installed you have to reference the url of the image, no pretty previews here. This image thing is a big hold up for my client. This might be a bit complex for her at this point.
WordPress 2.5, and as of July 15, 2008, 2.6 is much closer to being a full service CMS than it used to be. WordPress, unlike Drupal and Joomla! Did not start off as a CMS, in fact it technically still is a blog package. That said over the years the community has been taking the simplicity of the package and making it usable as a full service CMS. It is difficult to write this paper in a balanced way because I have had so much more experience in WordPress. Compared to Joomla! And Drupal Wordpres comes “out-of-the-box” with very little. You basically have a simple user panel, and manage and write sections for posts and Pages.
In WordPress posts are like Drupal stories and Pages are like Drupal pages, semi static data. These are managed with a very minimalist approach and few options.
Like the other CMS’s I looked at WordPress used to be very problematic in regards to images, with 2.5 they fixed this issue and now it has one of the better image managers “out-of-the-box”. Everything in regards to images happens within the write panel and you can also add a gallery of images with the simple WordPress shortcode, similar to other API short code.
WordPress becomes a powerful solution as you start adding plugins. The wordpress plugins are simple to install and integrate rather seamlessly to the admin screens. Where the other CMS’s I looked at tried to do most tasks the user and developer needs “out-of-the-box” WordPress does little and it is up to you to make it what you need it to be.
As I am at this point looking and the requirements of the project I had to go outside of the main install to see if WordPress was my best choice. I quickly found some plugin options that would fill my needs.
One of the requirements of the project is for my client to easily update the content. With WordPress custom write panels I can create custom write sections for each aspect of the site. These write panels combined with the already simple administration screens seems to be the best choice for my client. With write panels, and a couple other easily installed plugins I am able to develop the back-end as well as the front-end of the site. This flexibility is very appealing when creating sites like this which need to be a blog, store, and more static content.
Now that I have chosen a CMS framework to work with, WordPress 2.5/2.6. It is time to customize the backend to do the various tasks my client needs.
Let’s look at the requirements again and see some of the solutions.
Provide information for current students
Information is something all of the CMS’s handle well, that is why they are CONTENT management systems. This is “out-of-the-box for not only the three options I looked at but others as well. WordPress offers something the others do not, simplicity. In addition to the WordPress admin system there is a well supported plugin called “fresh post” (http://freshout.us/goodies/fresh-post-for-wordpress-wordpress-cms/). Fresh posts allows the developer to have custom panels with custom fields for the content manager. This will allow me to simply create a custom back-end for my client where she can fill in and check boxes for exactly what she wants. Using this simple but robust plugin I can make the administration tailored to her specific needs and help cut back on any training time.
Have daily inspirational and encouraging messages
My client has a message that she wants to show of the homepage. Everyday her friend e-mails this message to a small group of people. Ideally this message will be automatically posted to the homepage via that same e-mail. To do this I am using a plugin called “postie” (http://www.economysizegeek.com/wp-mail/) Postie was actually slightly out of date, however because there is a wide community using this plugin people have filled the gaps for support. I needed to make a couple changes in the postie code to get it to work in WordPress 2.5.
What postie does is allow you to not only post via e-mail but direct the posts to a specific category, which I then am feeding to a section on the homepage. With an automatic cron the home page will daily show the new post.
Have “homework” materials for current students
The homework section is fairly straight forward and is being handled using posts. For each assignment or week, my client can make a new post and easily attach any files she needs to, be they pdf, doc, or images. She can also add video and audio via the WordPress uploader whenever wants to.
Portal for Peggy’s study materials
Download of studies by Peggy
The study materials and downloads both dictated some type of e-commerce solution. I looked at OsCommerce, which I am actually most familiar with, and at WP-e-Commerce. OsCommerce would not integrate with the WordPress back-end which was initially the biggest turn-off as I do not want my client to have multiple logins. The OsCommerce system is extremely through but my feelings about it are much like my thoughts about Joomla, it has more to offer than my client needs. As I was researching my options I discovered the perfect solution, WP-e-Commerce (http://www.instinct.co.nz/e-commerce/).
WP-e-Commerce fully integrates with WordPress administration panels and handles downloads so that I can set downloadeable material t go through the e-commerce solution either for free or for pay. It also works with paypal and google check out as well as the industry standard authorize.net. WP-e-Commerce is awesome. I am able to tweak presentation and back-end functionality. It is simple to use and fully integrates with WordPress.
Opportunity for Christian women in the general public to submit requests for and receive prayer and support from Peggy
I want Peggy to be able to add fields to any type of prayer request form that I offer. Additionally I for see her desiring to add people to help her pray, in the sense of someone submits a prayer request and she and 2 of her friends or her pastor want to pray for all of these requests. So I needed a solution where my client could add recipients of the submitted form. I also wanted her to be able to add her own custom fields to the form as time went on. I decided to go with a plugin called Cforms 2 (http://www.deliciousdays.com/cforms-forum/) C-Forms is a full form software and is well supported and documented. It has various default form themes and you can use your own stylesheet as well. It also allows for auto-response messages and confirmations as well as the required multiple recipients.
Recommend pertinent outside reading
Have the site support itself financially
Outside recommendations ends up tying in with financial support. By linking into the amazon.com API Peggy can make simple book recommendations, pull the cover image and title and link into her own amazon seller account and make a profit off of each sale. This is also done in the administration panels and actually right in the write/edit sections where she inputs her content. Using Nick Orhn’s Amazon Reloaded plugin (http://nickohrn.com/) my client can search for a product on amazon within the edit area and once she finds it she can input the image and title with a click into her post. Though the settings area I am able to configure it to link to her seller account.
Through much research I discovered that most CMS’s are very similar these days. Over the past year even the difference have become rather slim in regards to core functionality. The main difference is preference in administration and the ultimate goals of the project. If my client had been looking for a solution that offered a lot of community input and many users, Drupal would have been the natural choice. If my client had someone to offer on-going technical support I would have recommended Joomla as it really offers more but is more challenging to navigate.