Drupal - Free Software For Organizing Content
Drupal is a free and open-source content management system (CMS) and content management framework (CMF) written in PHP and distributed under the GNU General Public License. It is used as a back-end system for at least 1.5% of all websites worldwide ranging from personal blogs to corporate, political, and government 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 content management systems. These include user account registration and maintenance, menu management, RSS-feeds, page layout customization, and system administration. The Drupal core installation can be used as a brochureware website, a single- or multi-user blog, an Internet forum, or a community website providing for user-generated content.
As of August 2011 there are more than 11,000 free community-contributed addons, known as contrib modules, available to alter and extend Drupal's core capabilities and add new features or customize Drupal's behavior and appearance. Because of this plug-in extensibility and modular design, Drupal is sometimes described as a content management framework. Drupal is also described as a web application framework, as it meets the generally accepted feature requirements for such frameworks.
Although Drupal offers a sophisticated programming interface for developers, no programming skills are required for basic website installation and administration. Drupal runs on any computing platform that supports both a web server capable of running PHP (including Apache, IIS, lighttpd, and nginx) and a database (such as MySQL, MariaDB, PostgreSQL, SQLite, MongoDB or Microsoft SQL Server) to store content and settings. Drupal 6 requires PHP 4.4.0+ while Drupal 7 requires PHP 5.2 or higher Drupal core is the stock element of Drupal. In its default configuration, a Drupal website's content can be contributed by either registered or anonymous users (at the discretion of the administrator) and is made accessible to web visitors by a variety of selectable criteria. Drupal core also includes a hierarchical taxonomy system, which allows content to be categorized or tagged with key words for easier access. Drupal maintains a detailed changelog of core feature updates by version.
Drupal Core includes optional modules which can be enabled by the administrator to extend the functionality of the core website.
The core Drupal distribution provides a number of features, including:
- Access statistics and logging
- Advanced search
- Blogs, books, comments, forums, and polls
- Caching and feature throttling for improved performance
- Descriptive URLs
- Multi-level menu system
- Multi-site support
- Multi-user content creation and editing
- OpenID support
- RSS feed and feed aggregator
- Security and new release update notification
- User profiles
- Various access control restrictions (user roles, IP addresses, email)
- Workflow tools (triggers and actions)
Core themesCore themes
The color editor being used to adjust the "Garland" core theme Drupal core includes core themes, which customize the "look and feel" of Drupal sites. The Color Module, introduced in Drupal core 5.0, allows administrators to change the color scheme of certain themes via a browser interface.
By February 2008, Drupal had been made available in 55 languages and English (the default). Support is included for right-to-left languages such as Arabic, Persian and Hebrew. Drupal localization is built on top of gettext, the GNU internationalization and localization (i18n) library.
Drupal can automatically notify the administrator when a new version of any module, theme, or the Drupal core itself becomes available. This feature can help keep a Drupal installation up-to-date with the latest features and security fixes.
Prior to version 7, Drupal has had functions to assist with accessing database tables. These functions can perform tasks such as SQL query cleansing, multi-site table name prefixing, and helpers for generating proper SQL queries for the database. In addition, Drupal 6 introduced an abstraction layer that allowed programmers to create SQL queries without writing SQL. Drupal version 7 extends the data abstraction layer such that a programmer no longer needs to write SQL queries as text strings. In addition, Drupal 7 makes use of the PHP Data Objects classes to abstract the physical database from module code. Microsoft has written a database driver for SQL Server