Free and Open Source Content Management System - Drupal

Drupal is an open source general-purpose content management system that provides back-end framework to manage websites. It allows users to add, publish, edit, or remove content from a website, using a web browser from desktop, tablet or even a smartphone. It also allows user account registration and maintenance, menu management, RSS feeds, etc. to be incorporated easily in a website. It further allows extensive customization and easy but efficient website administration. With Drupal, one can easily create personal webpage, community pages, blog, forum, professional websites, social networking sites, etc. The extensive variety of features it provides makes it not just a CMS but also a web application framework. Drupal was created by Dries Buytaert as a flexible CMS based on the LAMP stack. 

The basic release of Drupal, known as Drupal Core, contains the PHP scripts needed to run the basic CMS functionality, many JavaScript, CSS, and image assets and several optional modules and themes. It however, because of a modular design, allows features to be added and removed by installing and uninstalling modules. With themes, it allows the entire look and feel of the website to be changed by installing and uninstalling themes. Many additional modules and themes can be downloaded from the Drupal.org website.

Drupal allows editing of website features online and ensures uniformity across all the webpages. It allows a simple yet flexible approach to develop sophisticated websites with Drupal tools. Its modular approach along with readymade tools allows to easily create features rich professional looking websites. Drupal website lists more than 31,800 free modules and 2000 plus themes.

Drupal is based on the Presentation Abstraction Control architecture, or PAC. It creates a multi-systems arrangement to manage contents, their linkages (menus) and user-views (themes). Drupal treats a content entity as a node. Static pages, blog posts, and news items form different nodes in Drupal. They hold certain structured information such as name, title, content, author, date for its content entities. This structured information of the node system is then used to manage entities accordingly; e.g. the taken-down date of a news item can be used remove the item from user view. The site’s navigation structure, the menu system, include views (content lists), editing menus, and blocks containing links to different entities of website. Finally the theme system, along with display modules, decide how visitors see things. The menu system acts as the Controller. It accepts input via a single source, sends it to appropriate action, pulls data out of the abstraction if required, and then pushes it through a theme filter to present it accordingly. The node system, menu system and the theme system are completely separated from each other. This segregation allows completely different navigation and presentation of content to different users based on their specific needs and roles. Pages can be grouped differently, prioritized in a different order, and various functions and content can be shown or hidden as needed. 

Drupal is written in PHP and was first released in May of 2000. Its latest stable release, at the time of this writing, Drupal 8.1.9 was released in September 2016. Drupal works with operating systems such as Windows, Linux and MacOS. It can manage data with databases such as MySQL, PostgreSQL, SQLite or a MySQL-compatible MariaDB or Percona. And it can be configure to work in web servers such as Apache, IIS and Nginx.  It is also XHTML standards compliant. It is licensed GNU GPL version 2 or later. 

Some more of the features of Drupal include:
  • Allows multiple users to create and manage content and its views with different styles settings and other customizations. Also, allows to customize existing skins.
  • Allows contents to be integrated with forums, a wiki pages, and user’s photos and videos, etc.
  • Allows delegation of site maintenance activities to group of users each with defined set of activities and proper authorization to do so.
  • Allows creation of user profiles with various access control restrictions.
  • Allows comments, RSS feed and feed aggregator to be included in any content type.
  • Includes a hierarchical taxonomy system, which allows content to be categorized or tagged with key words for easier access.
  • Ease of integration with user databases and provide workflows tools such as triggers and actions.
  • Integrated tools for forums, wiki-pages, comments, and user participation with polls and advanced searching.
  • Provides API support with rich library functions.
  • Supports 110 plus native languages.
  • Supports caching and feature throttling for improved performance.
  • Support statistics tracking and logging for optimization.
  • Supports OpenID.

More on Free and Open Source software, their fundamentals, philosophy, development models and business models in ...


To Order this book click here