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. It is also used for content management and business collaboration.
he 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 March 2012 there are more than 15,648 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. A content management framework (CMF) is a system that facilitates the use of reusable components or customized software for managing web content. It shares aspects of a web application framework and a content management system (CMS). 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 to store content and settings.
In the Drupal community, the term "core" means anything outside of the "sites" folder in a Drupal installation. 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)
Drupal core includes core themes, which customize the "look and feel" of Drupal sites, for example, Garland, Blue Marine etc. The Color Module, introduced in Drupal core 5.0, allows administrators to change the color scheme of certain themes via a browser interface.
Drupal is available in 55 languages. Drupal localization is built on top of gettext, the GNU internationalization and localization (i18n) library.
Drupal can automatically notify the administrator about new versions of modules, themes, or the Drupal core. Such a feature can be useful for security fixes.
Extending the Core
Drupal core is modular, defining a system of hooks and callbacks, which are accessed internally via an API. This design allows third-party contributed (often abbreviated to "contrib") modules and themes to extend or override Drupal's default behaviors without changing Drupal core's code. Drupal isolates core files from contributed modules and themes. This increases flexibility and security and allows administrators to cleanly upgrade to new releases without overwriting their site's customizations.
Contributed modules offer image galleries, custom content types and content listings, WYSIWYG editors, private messaging, third-party integration tools and more. The Drupal website lists over 11,000 free modules.
Some of the most commonly used contribution modules include:
Content Construction Kit (CCK): allows site administrators to dynamically create content types by extending the database schema. "Content type" describes the kind of information. Content types include, but are not limited to, events, invitations, reviews, articles, and products.
Views: facilitates the retrieval and presentation through a database abstraction system of content to site visitors.
Panels: drag and drop layout manager that allows site administrators to visually design their site.
Distributions are a collection of pre-configured themes and modules for feature-rich web sites giving you a head start on building your site. Users can build your own online communities, media portal, online store, and more!