What is CMS? Why we need it?

Today, anywhere you go in IT every body is talking some sort of CMS applications like Joomla, Wordpress, Majento, Sitecore, DNN, Umbraco etc. There are tons of CMSs available. So, What is a CMS? Why we need it?


In the 1990s, when the internet was started developers were using the hard-coded text file. So, organizations were dependent/hiring developers who know HTML, javascript like stuff. Marketers share their content to the developers and they put it on the website using HTML/JavaScript. It was a very time-consuming process. there was complete development cycle for even minor changes like text/image.

In the 2000s, Developers introduced the use of the database in developing websites. This helped marketers in pushing their minor content like image or text to the website very quickly. But, Marketing people were not happy when they required Page layout changes or introducing new page to the website. They were dependent on developers to these changes to the website.

Nowadays, Above problems gave birth to CMS. Almost every organization is using some sort of Content Management System. And, the Marketing team is not dependent on developers for every change they want on their websites.

What is Content Management System?

As per Wikipedia, CMS is an application which helps you in creating, modifying digital content.
So, One does not need a developer for creating a website/web pages for them. One can download and install CMS application on server/local machine. CMS will provide you an interface to add/modify your content and then publish it to the Public domain. that's all. you have your website running. one doesn't need to know any programming language for making web presence.

CMS is website or application in itself.
If you are a new to Website development world. I will give you an example of Facebook.

  • Consider your profile as your website. Then, Facebook will be your CMS
  • You can add/modify posts, photos or videos
  • You can create new pages and analyze traffic for it.
  • You can decide what should be public and what should be private
  • Every functionality is known as a component. Polls, videos, Facebook Messenger etc are components
Similarly, CMS is application created by developers. It provides you a console where you can have all features required for developing your own website.
You can create pages, add content to any page or change the layout of the page in few seconds and changes can be made public with just a click.

How CMS works?

CMS has a database running on its back-end. Every page/item you create in CMS is an entry in the database.
Developers provide you a console which has a list of components. You can create your page, add required components to your page. Fill these components with your content and save/publish it.

Now, Whenever your end-users will visit your page. CMS will pull the corresponding entry from the database. It will create a page on run-time using that entry and serve it to your user.

Your pages and content are not stored in file system they are getting served from the database. All the files in the file system of CMS are ones which are required to run this CMS or required for running components.

If you are wondering, What is a component? Here is the answer.

Components are building blocks of the CMS and eventually of the site.
There are few built-in components like Articles, Image boxes, videos etc. These are also termed as out of box feature provided by the CMS. The list of components differs from CMS to CMS. There are tons of third party components available for almost every CMS.

CMS solutions also allow you to create your own components. For e.g. if want to use your website as a Test-Taking application. then you can create components like MCMQ, Fill in the Blanks etc.
But for creating components you must have knowledge of the programming language of your CMS and this the place where you will need developers(like me)


Popular posts from this blog

Editing hosts file using cmd

GIT Error : Filename too long warning: Clone succeeded, but checkout failed. You can inspect what was checked out with 'git status'