21 Content Management System

Mr. Hardik Joshi

epgp books

   

Overview

 

In the previous module, we studied LAMP stack. We discussed the software that contributes for LAMP stack and features. In this module, we will take a case-study of content management system (CMS). Most of the CMS are deployed on LAMP stack. This module will help you to appreciate the role of LAMP in deploying web applications. Content management system can serve as a web application if it is deployed over network.

 

A content management system (CMS) is an application (software) that supports the creation and modification of digital content. It also helps the users to collaborate or interact online. It is often used to support multiple users working in a collaborative environment. We can say that a CMS is a knowledge base / repository that stores the content in digital form. The digital contents may include:

  • Documents / Files
  • Graphics
  • Audio / Video
  • Hypertext Pages

There might be thousands of CMS deployed worldwide for creating personal websites, blogs, web applications like online shopping portal, inventory management system, learning management system, document management system, etc. A wide range of CMS are available in software community that can cater specific development needs. For instance, if someone wants to create a dynamic website, there are open source CMS like Jhoomla, Drupal, etc. available due to which a website can be easily configured and deployed in very less time. Most of the CMS are easy to configure and reusable which saves the cost and effort of developing web solutions from scratch.

 

It is not necessary that the CMS must be implemented over LAMP stack, however, most of the CMS harness the functionality of LAMP Stack. Most of the content management systems include web-based publishing, history editing and version control, indexing, search, format management and retrieval. Few widely used applications are Joomla, Drupal, Moodle and WordPress.

 

Content management systems typically provide the following features:

  • The web applications can be easily configured for SEO
  • They are well documented and provides help and manuals
  • Can be extended easily due to modular design
  • Provides user and group functionality
  • Lot of plugins and templates are available
  • Install and upgrade wizards reduce the hassles of upgrading
  • They have integrated audit logs
  • They comply with various accessibility frameworks and standards, such as WAI-ARIA

 

Blogging & CMS

 

 

Most of us have habit of writing daily diaries. Daily notes can be penned into diaries which may be day to day schedule or some sort of creative articles. With the help of computing, physical diaries are being replaced by electronic or online diaries. Blog is an example of a diary that is maintained on system. Literally, a Blog is a Web-Log that contains articles. Blogs are special case of content management systems since it maintains the content of articles or personal notes. Blogs can be made private or public. Suppose, if I want to share my articles with others, in that case I will prefer public blog. Similarly, if someone does not want to share his articles / personal notes, in that case the blog will be private blog. The articles being contributed to blogs can be published on periodic basis (daily, weekly, monthly, etc.) or in a non-periodic manner.

 

Let us understand how blogs can be called CMS. Blogs are software that store articles authored by user as personal notes. These articles can be seen by the visitors and they can also comment to the articles. An article may receive large number of comments. Apart from uploading articles, users can upload multimedia content like images, audio and video. A blog can also be converted into a website. Most of the blogs fit into the definition of CMS as more or less they have the same functionalities that is performed by content management system.

 

Overview of WordPress

 

WordPress is an open source software used for content management. It also supports blogging utilities. WordPress can be downloaded from the website www.WordPress.org and is released under the GNU GPLv2 license. The code of WordPress is developed using PHP and MySQL. WordPress can be easily configured over the LAMP stack. A single WordPress installation can host multiple sites. Let us review some of the features of WordPress software. The features are listed as below:

  • Available for online free use from WordPress.com with limited plugins
  • Available for paid use from WordPress.org
  • Available for download and installation on local system/network
  • Simple and easy to learn
  • Flexible (can be used for blogging/website)
  • Easy to publish articles
  • Capability to insert multi-media content
  • Multi-user support
  • Support for media management
  • Complaint with W3C
  • Various themes are available
  • Support for plugins for additional facilities
  • Multi-lingual support
  • Easy to install and upgrade
  • Support for spam control
  • Importers can be used to import content from other blogging system
  • Complies to GNU GPLv2
  • Good community support
  • Personal and Shared hosting available

Figure 1: Dashboard of WordPress(image source: Https://upload.wikimedia.org/wikipedia/commons/a/a2/WordPress_MP6_dashboard.png)

Hands on with WordPress

 

There are three ways to use WordPress. Depending on the requirements and availability of computing resources, WordPress can be accessed in following ways:

  • Online hosted solution (free & paid)
  • Download the source and host on local machine
  • Download the appliance and run on virtualization software

A person who does not have a computer can use online hosted service of WordPress. These services can be paid or free service. If we want to use WordPress with limited features, we can create an account at www.WordPress.com and select free plan. There are other paid plans through which we can map the WordPress hosting with our domain name.

 

Few other options of using WordPress is to download the source code form website www.WordPress.org, the software can be installed on local system over the LAMP stack and can be configured so that it can be used for personal purpose or for the organization (publicly). The third and the easiest method to install WordPress at our local organization is to download ready to use virtual appliance that comes with pre-configured WordPress installation. Bitnami stack provides virtual appliances that can be deployed over virtualisation software like virtual box and can be used for organization.

 

Installation of WordPress on local machine

 

To install WordPress from source code, the following steps are to be performed in sequence:

  1. Download and unzip the WordPress package.
  2. Create a database for WordPress on web server, as well as a MySQL (or MariaDB) user who has all privileges for accessing and modifying it. (As shown in figures 2 & 3 respectively)
  3. (Optional) Find and rename wp-config-sample.php to wp-config.php, then edit the file and add your database information.
  4. Upload the WordPress files to the desired location on the web server
  5. Run the WordPress installation script by accessing the URL in a web browser. This should be the URL where we uploaded the WordPress files. Admin login will be available at www.example.com/wp-admin.

After the installation of WordPress completes, we can access the dashboard from admin login. We can create multiple blogs from a single WordPress installation. A sample blog (newly created) is shown in figure 4.

Figure 4: WordPress Dashboard

 

The WordPress blog contains navigation links on the left hand side. The significance of each of the links is as following:

  • Posts – to create blog articles
  • Media – to upload multimedia content
  • Pages – to create static pages for building website
  • Comment – comments made by users on our articles can be seen here, the comments can be managed from here.
  • Appearance – Themes, widgets, menus, headers, etc. can be customized
  • Plugins – to search and manage plugins
  • Users – user management (users can be subscriber, author, contributor, editor and administrator)
  • Tools – import or export posts and comments with another blogging software
  • Settings – Various settings of blogs like date and time settings, blog tag line, settings related to reading and writing, display of blogs etc.

A WordPress installation can be converted to a website, a blogging site or both. Pages provide option to construct static pages which gives look and feel of a website. These pages can be given preferences to display in a specific order. The pages can be published on pre-configured date and time. Posts are different from pages. Posts are daily articles and they are different from pages. Posts can be made publicly visible or can be made private. Posts can be associated with tags so that WordPress can index the articles with the help of tags, according to date or by title of posts.

 

WordPress plugins

 

Features of WordPress can be extended with the help of plugins. We can download the plugin form WordPress store. It also provides search features to search for desired plugin. Plugins are usually available under two categories. Certain plugins can be free to install while certain plugins might require payment.

Figure 5: Plugins in WordPress

 

Few categories of plugins are as follows:

  • Spam Control – to avoid spamming mostly found in comments
  • Backup – to schedule and configure backups
  • Search Engine Optimization (SEO) – generate sitemaps, optimize the blog for SEO
  • Security – plugins like WordPress firewall, anti-malware, etc. can be downloaded
  • Statistical Analysis – generate statistics of visitors, articles read, etc.
  • Caching for Optimization – optimization of performance by efficient caching mechanism
  • RSS Feeds – to enable RSS feeds in our blog
  • Feedback form / Contact form – to use a ready made feedback form
  • Captcha – to enable captcha in WordPress commenting part
  • Social Networking – to create own social network to integrate blog with other social networks
  • Google Adsense – use and configure goggle’s adsense
  • Photo Galleries – to create albums of different categories
  • Online Payments – to integrate payment with the blog/website
  • Membership Subscription – to enable memberships for subscription to blog articles (free/paid)

The screenshot of figure 6 demonstrates the plugins listed for security purpose. On entering the keyword security in the search interface, the list of plugins related to security of WordPress blog are shown. These plugins also have ratings which helps us to select the appropriate plugin. By clicking on install plugin button, respective plugin will be installed on our blog.

Figure 6: Plugins used in WordPress

 

In this module we have discussed WordPress software. WordPress is a widely used software to host websites. It hardly requires one week to gain confidence over WordPress software. Few other content management system like Drupal, Jhoomla, etc. are also popular and can be installed over LAMP.

 

Let us summarize the key concepts covered in this module

  • We understood what LAMP signifies
  • Overview of Apache Web Server
  • Overview of MySQL Databases
  • Overview of PHP/Perl/Python

Figure 6: Plugins used in WordPress

 

In this module we have discussed WordPress software. WordPress is a widely used software to host websites. It hardly requires one week to gain confidence over WordPress software. Few other content management system like Drupal, Jhoomla, etc. are also popular and can be installed over LAMP.

 

Let us summarize the key concepts covered in this module

  • We understood what LAMP signifies
  • Overview of Apache Web Server
  • Overview of MySQL Databases
  • Overview of PHP/Perl/Python
you can view video on Content Management System

References

  • Brad Williams, David Damstra, and Hal Stern. Professional WordPress : design and development,
  • Bud E. Smith and Michael. McCallister. 2012. WordPress in depth, Que.
  • Jeff. Siarto. 2010. Head first WordPress, O’Reilly.
  • Lisa Sabin-Wilson. WordPress for dummies,
  • Lisa. Sabin-Wilson. 2012. Launch a wordpress.com blog in a day for dummies, John Wiley & Sons.
  • WordPress website: www.wordpress.org (Download software)
  • WordPress website: www.wordpress.com (Hosted Solution)