Content management system is a type of software that manages and keeps track of every single piece of content of a website. It is a process which deals with the creation, storage, modification, retrieval and display of data or content. Content management system has a collection of tools designed to allow the creation, modification organization and removal of information from a web site.
This report looks at the following five different CMS Joomla!, OpenCMS, Mambo, Drupal, Wordpress. Common features of these five CMS are that they are all open sourced, they run on any operating system with Apache being the recommended server , MySQL database and PHP programming language are one of other common feature that these five CMS share. The Joomla! Website offers an easy-to-use robust CMS using individual user's role-based permission in the system, it will allow non-technical members to add, edit or delete the HTML content of the website.
This evaluation report evaluates five open source CMS products. The comparison is based on seven categories. These categories are Usability, Technical requirements, Web-friendliness, Performance, Security, Support and Built in applications. Each category is evaluated using a matrix system by giving each feature a score of 0 or 1 depending on it's availability and the content management system is chosen depending on the overall score.
EVALUATION DESCRIPTION
This evaluation is for Small Steps childcare centre located in Howick,Auckland. Small Steps is a specifically built childcare centre for children aged between 0-3 years. This centre is licensed under the childcare centre regulation 1985 and under a charter developed in consultation with the Ministry of Education. It is a full day childcare centre, the hours of operation are between 7:30 am to 5:30 pm. Small steps was started in October 2007 and now it has 25 children in the centre with a maximum of 15 children at one time. Centre comprises of four qualified teachers and two in training. The teacher to children ratio is 1:4, and four teachers are available on the floor at all times.
The client Angela is the manager of Small Steps who wanted a website based on Small steps childcare centre with specific requirements like: a Blog on the website to update news about the centre, sub web pages should be designed into the website like Home (picture page), Philosophy, Links, Upcoming events, Our team, Activities and About us. According to the client's requirements, we decided to use Joomla as our CMS to build up the website. The reasons are specified later in the report.
EVALUATION CRITERIA
The following are the criteria that have been decided by our group in consultation with our client for choosing the best content management system for our website.
Usability
Technical Requirements
Web-Friendliness
Performance
Security
Built-in Applications
Support
Usability
Usability is a very important criteria in determining a suitable content management system. The content management system should be such that the people using it would not have any problems in performing their task. Good usability features in a content management system make it easier for staff to perform their tasks, less training is required and helps in increasing the overall efficiency of the tasks performed by the staff using the content management system. Usability directly contributes to user satisfaction, hence it is important to pay the required attention to this criteria while evaluating a content management system.
Functionality under usability are:
WYSIWYG Editor: It allows the creation of formatted content without the knowledge of HTML, CSS, XML or XSL.
Drag-N-Drop Content: This feature allows the user to position content in a drag and drop fashion.
Image Resizing: This feature allows users to resize the uploaded images.
Spell Checker: Presence of an integrated spell checker.
Versioning: Presence of system-wide content versioning.
Technical requirements
The environment in which the system needs to run:
Server: The application server/web server or application environment required to run this CMS.
Database: The database engine the CMS uses to store content and settings.
License: The type of license the CMS is distributed under.
Operating system: The operating systems the CMS is compatible with.
Programming language: The programming language that the CMS is written in.
Server root access: Is root (or administrator) access required to install the application?
Shell access: Do we need to be able to log in to the machine (other than through FTP) in order to install the application?
Web-friendliness
Web-friendliness can be explained in terms of how the website created using our content management system is categorized. This would affect everyone who would use the website.
Web-friendliness can be reflected from the following:
Friendly URIs: Pretty URL's display the user only the part he/she wants to see. Using the pretty URL's, the user is not affected by any change in the organisational structure of the site, links to pretty URL's work fine as long as the site is physically located(linked permanently). Google too is believed to be better at indexing pretty URL's than the ones that are dynamically created.
Use Of Content Negotiation: This feature makes it possible to provide access to different versions of the document at the same URL, the user can then choose which version best fits his/her requirements. This feature is mostly used to provide content in different languages.
Setting up proper robots.txt control file: The robots exclusion standard or robots.txt protocol is a convention to prevent cooperating web robots from accessing all or part of a website. The protocol helps search engines crawling changeable or generated data.
Supply news feeds for syndication: Web syndication is a form of syndication in which a section of a website is made available for other sites to use.
Performance
Static Content Export: Ideally CMS have the ability to export its content as static HTML. So it may be served up from regional cache servers, or from static HTML web servers. (Reisinger,2006)
Visitor tracking: The system keeps track of who browses, when and which pages of the site. Such systems also usually keep track of things like what browser the user was using and what IP address they came from.
Security
Captcha: Captcha (Completely Automated Public Turing test to tell Computers and Humans Apart) is a challenge-response system used to ensure that the response is not generated by a spam-robot. A common method of limiting access to services made available over the web is visual verification of a bit-mapped image.
There are also some alternative approaches.
Email Verification: An activation key would be sent to the users in order to ensure if email address they entered is valid.
Audit Trail: The content management system would keep track of additions, updates and deletions.
Granular Rights Management: The function allows read and write privileges on a per page or per content item basis, as well as separate privileges for other system functions.
Session Management: This function provides some facility for an administrator to see who is logged in, what they are doing, and log them out if necessary. The system also logs unsuccessful login-attempts.
Means of Authentication: The content management system would support authentication via various means such as Kerberos, LDAP, NIS, NTLM or SMB.
Secure Sockets Layer (SSL) Compatibility: The content management system can be used with an SSL certificate on the web server. It can be configured to switch to SSL mode (HTTPS) for logins, and then back to normal HTTP after the login. This feature protects the user login information from being sniffed.
Problem Notification: Some process is defined by the content management system to alert website administrator if a problem is detected.
Sandbox: Presence of an experimentation area for content managers to use to develop new features without affecting rest of the website.
Built-in applications
A lot of the content management systems come with a number of built-in applications. For example, an integrated search engine that can index the managed content and allow the user to search the indexed content; a guest book function; an application that will allow the user to generate graphs and charts based upon some data set (SQL, text file, xml file, etc); a HTTP Proxy mechanism to proxy or mirror HTML and other content and applications from other web servers; a photo gallery for displaying a thumbnail / image repository etc.
Support
Support covers the documentation provided with the content management system. There are various video tutorials provided by some content management systems to learn about them, presence of forums, mailing lists and user groups can also be seen in some CMS.
EVALUATION OF JOOMLA
Joomla! is an open source content management system platform for publishing content on the World Wide Web and intranets as well as a ModelHYPERLINK "http://en.wikipedia.org/wiki/Model-view-controller"-HYPERLINK "http://en.wikipedia.org/wiki/Model-view-controller"viewHYPERLINK "http://en.wikipedia.org/wiki/Model-view-controller"-HYPERLINK "http://en.wikipedia.org/wiki/Model-view-controller"controller (MVC) Web application framework. It is written in PHP, stores data in MySQL and includes features such as page caching, RSS feeds, printable versions of pages, news flashes, blogs, polls, search, and support for language internationalization. (n.a., n.d.)
Evaluating Criteria:
Usability
WYSIWYG Editor: Is present
Drag-N-Drop Content: Is not present
Image Resizing: Can be done
Spell Checker: Is not present
Versioning: Can be done
Technical Requirements
Server: Apache is recommended
Database: MySQL is used
Operating System: Works with any
Programming Language: PHP 4.1.2+
Server Root Access is not present
Shell Access is not present
License: GNU GPL
Web-friendliness
Friendly URIs: Predefined .htacess file comes with installation.
Content-negotiation: Can be done
Web Robots Exclusion is done
Content Syndication: Can be done
Performance
Database Replication: Not done
Load Balancing: Not done
Static Content Export: Not done
Visitor tracking: Present
Security
Audit Trail: Not done
Captcha: Used
Email Verification: Is done
Granular Rights Management: Not done
Session Management: Is done
Means of Authentication: Free Add-on for LDAP
SSL Compatible: No
Problem Notification: No
Sandbox: No
Built-in applications
Search Engine is present
Guest Book: Free Add-on is available
Graphs and Charts: Free Add-on is available
Photo Gallery: Free Add-on is available
User Contributions: Can be done
Syndicated Content: No
Support
Developer Community: Present
Public Forum: Present
Public Mailing List: Not Present
Professional Hosting: Is done
Users Conference: Is done
Certification Program: Not done
Commercial Manuals: Available
Commercial Support: Is provided
Commercial Training: Can be provided
EVALUATION OF DRUPAL
Drupal a free and open source content management system (CMS) written in PHP and distributed under the GNU General Public License. It is used as a back-end system for many different types of websites, ranging from small personal blogs to large corporate and political sites, including whitehouse.gov and data.gov.uk. It is also used for knowledge management and business collaboration.
The standard release of Drupal, known as Drupal core, contains basic features common to most CMSs. These include the ability to register and maintain individual user accounts within a flexible and rich permission / privilege system, create and manage menus, RSS-feeds, customize page layout, perform logging, and administer the system. As installed, Drupal provides options to create a classic brochureware website, a single- or multi-user blog, an Internet forum, or a community website providing for user-generated content.(n.a.,n.d.).
Criteria
Usability
WYSIWYG Editor: Free Add-on is available
Drag-N-Drop Content: Cannot be done
Image Resizing: Free Add-on is available
Spell Checker: Free Add-on is available
Versioning: Is present
Technical requirements
Server: Apache, IIS
Database: MySQL, PostGreSQL
Operating System: Works with any
Programming Language: PHP 4.3.3+
Server Root Access: Not present
Shell Access: Not present
License: GNU, GPL
Web-friendliness
Friendly URIs: Present, needs manual activation
Content-negotiation: Not present
Web Robots Exclusion: Not done, robots.txt has to be done manually
Content Syndication: Is done
Performance
Database Replication: Not done
Load Balancing: Not done
Static Content Export: Not done
Visitor tracking: Is done
Security
Audit Trail: Is done
Captcha: Free Add-on is available
Email Verification: Is done
Granular Rights Management: Is done
Session Management: Is done
Means of Authentication: LDAP is available as Free Add-on
SSL Compatible: No
Problem Notification: No
Sandbox: Not present
Built-in applications
Search Engine: Present
Guest Book: Free Add-on is available
Graphs and Charts: Not present
Photo Gallery: Free Add-on is available
User Contributions: Can be done
Syndicated Content: Is available
Support
Developer Community: Is present
Public Forum: Is present
Public Mailing List: Is present
Professional Hosting: Can be done
Users Conference: Can be done
Certification Program: Not available
Commercial Manuals: Are available
Commercial Support: Can be provided
Commercial Training: Is available
EVALUATION OF WORDPRESS
WordPress is an open source blog publishing application powered by PHP and MySQL which can also be used for content management. It has many features including a plugin architecture and a templating system. Used by over 2% of the 10,000 biggest websites, WordPress is the most popular blog software in use today.
It was first released in May 2003 by Matt Mullenweg as a fork of b2/cafelog. As of September 2009, it was being used by 202 million websites worldwide.(n.a.,n.d.)
Criteria
Usability
WYSIWYG Editor: Free Add-on is available
Drag-N-Drop Content: Cannot be done
Image Resizing: Cannot be done
Spell Checker: Free Add-on is available
Versioning: Is present
Technical requirements
Server: Apache, w. mod_rewrite
Database: MySQL 3.23.23+
Operating System: Works with any
Programming Language: PHP 4.3+
Server Root Access: Not available
Shell Access: Not available
License: GNU, GPL
Web-friendliness
Friendly URIs: Predefined .htacess file comes with installation
Content-negotiation: Not present
Web Robots Exclusion: Not done, robots.txt has to be done manually
Content Syndication: Is done
Performance
Database Replication: Not done
Load Balancing: Not done
Static Content Export: Not present
Visitor tracking: Free Add-on is available
Security
Audit Trail: Not done
Captcha: Not present
Email Verification: Not done
Granular Rights Management: Not present
Session Management: Not done
Means of Authentication: Proprietary
SSL Compatible: No
Problem Notification: Yes, but limited
Sandbox: Is present
Built-in applications
Search Engine: Is present
Guest Book: Not present
Graphs and Charts: Not present
Photo Gallery: Free Add-on is available
User Contributions: Can be done
Syndicated Content: Is available
Support
Developer Community: Is present
Public Forum: Is present
Public Mailing List: Is present
Professional Hosting: Is present
Users Conference: Not done
Certification Program: Not available
Commercial Manuals: Not provided
Commercial Support: Not available
Commercial Training: Not given
EVALUATION OF MAMBO
Mambo is a Free open source content management system under the GNU General Public platform License which makes it free to use and edit. Mambo is written in PHP programming language and it stores data in MySQL. It's easy to install and it supports Linux, Windows IIS, Mac OS X. Mambo includes hundreds of extensions, plug-ins, add-on products, page caching to improve performance on busy sites, and advanced template creation techniques.
Criteria
Usability
WYSIWYG Editor option: Is present
Drag-N-Drop Content option: Is not present
Image Resizing option: Is not present
Spell Checker option: Is not present
Versioning option: Is present
Technical Requirements
Apache server is recommended
MySQL database is used
Works with any Operating System
PHP 4.1.2+ Programming Language is used
No Server Root Access
No Shell Access
License: GNU GPL
Web-friendliness
Friendly URIs: Predefined .htacess file comes with installation.
No Content-negotiation
Web Robots Exclusion: Has to be done manually
Content Syndication: Yes
Performance
No Database Replication
No Load Balancing
No Static Content Export
Visitor tracking: Free Add-on is available
Security
No Audit Trail
No Captcha
Email Verification: Can be done
Granular Rights Management: Is present
Session Management: Is present
Means of Authentication: LDAP
No SSL Compatibility
No Problem Notification
No Sandbox
Built-in applications
Search Engine is present
Guest Book: Free Add-on is available
Graphs and Charts: Free Add-on is available
Photo Gallery: Free Add-on is available
User Contributions can be done
Syndicated Content: Yes
Support
Developer Community: Is present
Public Forum: Is present
Public Mailing List: Is present
Professional Hosting: Is available
No Users Conference
No Certification Program
Commercial Manuals: Available
Commercial Support: Provided
Commercial Training: Can be provided
EVALUATION OF OPENCMS
OpenCMS is an open source content management based on java and XML technology. The programming language used in OpenCMS in Java1.3+. Data can be stored in MYSQL, PostGreAQL, Oracle, and MSSQL. This CMS can be installed on Tomcat, Apache, IIS, JBoss as well as on BEA Weblogic.
Criteria:
Usability
WYSIWYG Editor option: Is present
Drag-N-Drop Content option: Is present
Image Resizing option: Is present
Spell Checker option is a free add on
Versioning option: Is present
Technical Requirements
Server: Apache, Tomcat. IIS, JBoss, BEA Weblogic. Apache server is recommended
Database: MySQL, PostGreSQL, Oracle, MSSQL
Works with any Operating System
Java 1.3+ Programming Language is used
No Server Root Access
No Shell Access
License: GNU GPL
Web-friendliness
Friendly URIs: Free add on.
No Content-negotiation
Web Robots Exclusion has to be done manually
Content Syndication: Yes
Performance
No Database Replication
No Load Balancing
Static Content Export: Yes
Visitor tracking: Yes
Security
No Audit Trail
No Captcha
Email Verification: Yes
No Granular Rights Management
No Session Management
Means of Authentication: LDAP
SSL Compatibility: Yes
Problem Notification: Yes
Sandbox: Yes
Built-in applications
Search Engine is present
Guest Book option is not available
Graphs and Charts option is not available
Photo Gallery: Free Add-on is available
User Contributions cannot be done
No Syndicated Content
Support
Developer Community: Yes
Public Forum: Yes
Public Mailing List: Yes
No Professional Hosting
No Users Conference
No Certification Program
Commercial Manuals: Yes
Commercial Support: Yes
Commercial Training: Yes
PREFERRED CMS OPTION
Based on the in-depth evaluation, we have chosen Joomla as our content management system for the website project. Joomla meets all the requirements of our client. This is our preferred CMS option because of many reasons-
Joomla is easy to use and extensible. By extensibility, we mean that it is very easy to integrate additional functionality into the system. It has ready-to-go plug-ins and components such as forums, photo galleries, contact forms, directories and news letters making it easily customizable to our client requirements.
Joomla is an open source solution that is freely available to everyone. The developers can write their own code and distribute freely.
Joomla is the most popular open source CMS currently available and has a growing community of users and developers. According to a website (http://php.opensourcecms.com/general/ratings.php), the users have rated Joomla 4.8/5 which was cast by 7995 votes.
The emergence of Joomla was due to the concerns for creating a content management for websites during the year 2000. Some of the websites that use Joomla are
MTV Networks Quizilla (Social networking) - http://www.quizilla.com
IHOP (Restaurant chain) - http://www.ihop.com
Harvard University (Educational) - http://gsas.harvard.edu
Joomla has a user management system that allows users to configure personal options. Users have various types of permissions based on what they are allowed to access, edit, publish and administrate. Joomla supports multiple protocols including LDAP, OpenID, and Gmail.
Through Joomla, the developer can manage any type of file using the MIME type setting. Another important feature of this CMS is that it supports multiple languages and UTF-8 encoding. UTF-8 encoding is a variant of Unicode character forms through which all languages can be displayed with one single encoding setting. So, if the user needs the website in one language and the administrator panel in another, it is possible.
We can create a client profile on the website by setting up banners using the Banner Manager feature of the CMS. We can add as many banners as needed and set impression numbers, special URL's etc.
Joomla also helps navigate users to most popular search items and provide the admin with search statistics. Providing link resources for site users is simple and they can also be sorted based on categories. The admin can also keep a track of links visited by the users.
Joomla has powerful ready to use templates to give the kind of look the developer wants. It also allows to customize each part of the page.
Menu Manager feature of Joomla allows to create as many menus and menu items needed. We can structure the menu hierarchy independent of the content structure
The core Joomla framework enables developers to quickly and easily build:
Inventory control systems
Data reporting tools
Application bridges
Custom product catalogs
Integrated e-commerce systems
Complex business directories
Reservation systems
Communication tools
Joomla is used all over the world to build Web sites of all shapes and sizes. For example:
Corporate Web sites or portals
Corporate intranets and extranets
Online magazines, newspapers, and publications
E-commerce and online reservations
Government applications
Small business Web sites
Non-profit and organizational Web sites
Community-based portals
School and church Web sites
Personal or family homepages
Apart from the reasons mentioned above, we recommend Joomla also because of our evaluation between the different CMS based on our client's requirement. Following is the matrix which summarises our evaluation. We gave one point for each functionality present in the CMS depending on our criteria.
MATRIX
The below matrix clearly shows that Joomla is the best option when we think about our client's priorities and objectives-
Joomla
Open CMS
Mambo
Drupal
Wordpress
Usability
WYSIWYG Editor
1
1
1
1
1
Drag-N-Drop Content
0
1
0
0
0
Image Resizing
1
1
0
1
0
Spell Checker
0
1
0
1
1
Versioning
1
1
1
1
1
Web-friendliness
Friendly URIs .
1
1
1
0
1
Content-negotiation
1
0
0
0
0
Web Robots Exclusion
1
0
0
0
0
Content Syndication
1
1
1
1
1
Performance
Static Content Export
0
1
0
0
0
Visitor tracking
1
1
1
1
1
Security
Audit Trail
0
0
0
1
0
Captcha
1
0
0
0
0
Email Verification
1
1
1
1
0
Granular Rights Management
0
0
1
1
0
Session Management
1
0
1
1
0
Means of Authentication
1
1
1
0
1
SSL Compatible
0
1
0
0
0
Problem Notification
0
1
0
0
1
Sandbox
0
1
0
0
1
Built-in applications
Search Engine
1
1
1
1
1
Guest Book
1
0
1
1
0
Graphs and Charts
1
0
1
0
0
Photo Gallery
1
1
1
1
1
User Contributions
1
0
1
1
1
Syndicated Content
0
0
1
1
1
Support
Developer Community
1
1
1
1
1
Public Forum
1
1
1
1
1
Public Mailing List
0
1
1
1
1
Professional Hosting
1
0
1
1
1
Users Conference
1
0
0
1
0
Certification Program
0
0
0
0
0
Commercial Manuals
1
1
1
1
0
Commercial Support
1
1
1
1
0
Commercial Training
1
1
1
1
0
TOTAL
24
22
22
23
17
Technical Requirements for Joomla 1.5x
Software
Recommended
Minimum
More information
PHP
5.2+
4.3.1.0
http://www.php.net
MySQL
4.1.x+
3.23
http://www.mysql.com
Apache
2.x+
1.3
http://www.apache.org
Microsoft IIS
7
6
http://www.iis.net
PROPOSED ARCHITECTURE OF THE SYSTEM
To successfully install and use Joomla! You must have a fully operational Web server (Apache is the optimum), a database (MySQL is the optimum) and the server side scripting language PHP together with specific modules that are activated within PHP for MySQL, XML, and Zlib functionality amongst others.(Andy, 2007). The versions of the required software are as follow (recommended):
PHP 4.4.7 http//php.net
MySQL:5.0 http://dev.mysql.com/downloads/mysql/5.0.html
Apache:1.3.9
Mod_mysql
Mod_xml
Mod_zlib
However, it is not an easy task to install an apache web server and even more to add MySQL, PHP and Perl into it. Hence we use XAMPP on our local server and ELENA system on AUT web server in this case. XAMPP (multi-platform) and ELENA (Linux) are packages that put all the necessary software together so we can install Joomla onto the server easily.
XAMPP http://www.apachefriends.org/en/xampp.html
ELENA http://elena.aut.ac.nz/
Elements that indicate that custom code may need to be developed
Joomla as a CMS, basically covered all the technical elements that were required to build a website, however the website still needs coding in some aspect.
First of all, client needs to provide requirements in details like Blog, Links and Logo, thus appropriate technical elements can be chosen in Joomla.
Secondly, because the visitors of the website are probably the parents of the kids who have enrolled in the childcare centre or who may intend to enroll in the centre, in this case, client must get the parents' permissions to put kids' photos or personal information on the website.
Finally, the website needs to be inspected by client when it is completed, because the purpose of the website is to match the client's satisfaction.
SYSTEM DEVELPMENT LIFE CYCLE
System development life cycle (SDLC) is a model that describes the step by step process and the stages involved in the development of an information system development project. Each methodology undergoes through a process of investigation, analysis, design, implementation and maintenance when working towards developing a system. SDLC methodology follows series of following definite steps when working on a system. i.e. Software concept, requirement analysis, architectural design, coding and debugging and system testing .
There are several different SDLC methodologies like waterfall, fountain, spiral, build and fix, rapid prototyping, incremental, and synchronize and stabilize. The methodology we have chosen to use is the waterfall method. Waterfall method has sequence of stages, it is divided into process of phases in which the output of each stage becomes the input of second stage.
The stages of the waterfall method are evaluation, requirements, design, implementation, verification and maintenance.
Evaluation: If there is existing system it is evaluated and absence of the system is indentified. Needs for the new system is obtained from the end user.
Requirement analysis: The information regarding the needs obtained from the end user analysed.
System and Software Design: Draft plans are created with essential specifications like hardware, software, programming and security issues
Implementation (Coding and debugging) : The draft plan designed is developed and installed and the performance of the system is tested.
Unit and System Testing: The system/unit's functionality is tested to finalise if it meets the end user's requirements.
Operations and Maintenance: The system should be comprehensively evaluated once the system is up and running. And it should be up-to-date regarding the most recent alterations and procedures.
SOFTWARE TESTING
Software Testing can be defined as the process of verifying and validating that specific applications meet technical and business requirements according to its design. It also checks if an application is working as expected. A wide range of software testing methods can be implemented at any time of in the development process. Two of the most commons ones are: White box testing and Black box testing approaches.
White box testing approach is when the tester is also usually a developer and has access and knowledge about the internal code of the system. An advantage of this method is that the tester can find a bug and easily fix it straight away, then the he can test it again himself, without the need of requesting someone else to do it. A disadvantage of this method is that when the tester inputs a command into the system, he or she is already expecting an output. Someone who has no knowledge about the internal structure of the system would expect a different result.
Black box testing approach refers to a tester who has is not aware of how the system works internally or how it was implemented. The tester is basically a user. An advantage of it is that the tester is able to pick up errors which a black box tester is not. Since the tester does not know about the internal structure of the system, it is assumed that the system should have no bugs. In other words, the tester inputs a command and expected to see the outcome. A disadvantage of this method is that in case of finding an issue with the software, the tester has no idea how to fix it.
The system will be implemented and tested step by step, so in order for us to make progress on it, we need to successfully implement and test a particular functionality of the system, then we are able to move on to the next task.
Regarding our project, we are going to be implementing "The Box approach" which consists of "White box testing" and "Black box testing".