Drupal is an open source CMS (Content Management System) platform that empowers individuals, teams and communities to easily and quickly build, deploy and manage websites. The websites usually contain content that can be any combination of text, graphics, audio and video etc. A CMS provides a number of features that simplifies the process of developing and managing websites, including the following:
It provides a tool set for authoring, publishing and managing the contents of the websites.
It provides an administrative interface.
It provides a database repository for the content and a mechanism for associated information
It provides a component for creating and managing the menus and navigational elements.
It provides a component for user management.
It provides a security framework.
Drupal was written by a student of Dutch university, Dries Buytaert. The word Drupal was derived from the Dutch word "druppel" which means "drop" (druppel: "a drop in a water droplet"). The project was initially written by Dries for sharing messages and events with his friends but soon it turned into an open source project in 2001 which expanded the features of CMS on web. The project worked broadly, ranging from personal blogs to the large / complex corporate and government sites. The source code of Drupal is written in PHP and distributed under GNU General Public License. The most interesting part is that, Drupal is compatible with all operating systems and, free to download and use. Drupal can run on any platform that supports both, a web server capable of running PHP 5.2 or higher (the web server could be Apache, Microsoft IIS, Lighttpd, nginx) and a database such as MySQL, Postgre SQL, Microsoft SQL Server, SQLite , MariaDB, MongoDB etc. (For Drupal-7 the database must be MYSQL 5.0 or higher, PostgreSQL 8.3 or higher etc.) There are many versions like Drupal-5, Drupal-6, Drupal-7 etc but the version Dupal-6 and Drupal-7 are only active and are maintained now a days, the version 5 is not used any more. The version 7 was released on 5 Jan 2011 and the versions 6.22 and 7.2 were released on 25 May 2011. The next version 8 is under development and will be released soon.
The standard release of Drupal, known as Drupal core, contains the basic features that can be used for creating blogs, forums, polls and websites with the contents generated by the user. Drupal was designed in such a way that the functionality of the core modules can be enhanced by the administrator by enabling the add on modules. The administrator can also extend or override the default behavior of the modules without effecting the core code via the system of hooks and callbacks, which are accessed via API (Application Program Interface). The primary components of Drupal core include the ability to create and manage the content, menus, user accounts, taxonomy, blogs, forums, online polls, roles, permissions, file uploads / downloads, logging and error reporting.