A Report On A Content Management System Computer Science Essay

Published: November 9, 2015 Words: 4700

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".