What is a content management system (CMS)?
A CMS (Content Management System) is software that helps you manage digital content. More specifically, a CMS like Drupal is a web application that allows one or more users to create, edit, publish, and control access to a website using a graphical user interface (GUI). Many modern content management systems use a database to store the content and a scripting language (in Drupal's case, PHP) to dynamically build the HTML needed to present the content to a web browser.
Read more about CMS in relation to Drupal in chapter 1 of Drupal 8 User Guide:
What is open source?
Open-source software (OSS) is software that has made the source code available with a license that allows anyone to inspect, modify, and distribute the software freely. Drupal is released under the GNU General Public License, version 2 or later. (You can read more about the Drupal license on Drupal.org's Licensing page). One of the side effects of this license for Drupal is that the software itself is free to download. There are no license fees, as are often found with proprietary software, e.g. Sitecore or SharePoint. Due to the large community of contributors who can easily extend the functionality of Drupal, there is also a huge free community library of extensions, called modules, and themes that can change how the website looks.
What is Drupal?
Drupal is a robust content management platform. Functionality is bundled in "modules" which you can use to alter and extend your out-of-the-box Drupal site. Themes control the look-and-feel, and like modules, are used to customize your Drupal site. Drupal helps you create dynamic, content-driven websites.
Chapter 1 of the Drupal 8 User Guide will give you a good overview of the main features that Drupal provides and the basic terminology you will need to know as you wade into Drupal, including modules, themes, distributions, types of data, and Drupal's licensing.
The Drupal slogan is "Come for the code, stay for the community." You can download the software for free and do what you like with it. There are also tens of thousands of people around the world who come together to improve the code, write documentation, run events, and support each other. To gain the full benefits of using Drupal, you should be sure to also understand what the community offers.
Drupal is software that you can download from Drupal.org and use to build a website. As a modern CMS, it has many features for managing a site through a GUI, including:
- creating and editing content with editor tools
- controlling publication status and workflows
- creating and managing custom URLs and menu items
- managing users and the access they have to content and features of the site
- organizing content with categories and listing pages
- moving blocks of content to different areas of the page
Underneath the powerful UI, there is a very flexible object-oriented framework, which has been built from the start to be modified and extended. This allows developers to finely tune a Drupal site to have the features and functionality you need. There is also a robust template layer using the Twig templating language, which lets you precisely customize the look of the site.
If you're a backend or front-end developer new to Drupal, explore these guides to learn more about how you can use Drupal's APIs to alter, extend, and customize a Drupal site.
Get started
Once you're ready to dig in to learning how to use Drupal, you should start with site building, which is the foundation level for almost all tasks in Drupal. The Drupal User Guide provide a guiding scenario of the Anytown Farmer's Market. Written by the Drupal community, with videos added by Drupalize.Me, the Drupal User Guide is the best way to get started with Drupal concepts and site building skills.
The Drupal User Guide serves as a starting point for people with minimal knowledge of the Drupal content management system. The topics will help you become skilled at installing, administering, site building, and/or maintaining the content of a Drupal-based website. The guide is also aimed at people who already have some experience with a current or past version of Drupal, and want to expand the range of their skills and knowledge or update them to the current version.
Drupal User Guide
Background and prerequisites
Overview of introductory topics that help to leverage this guide in an efficient manner.
Overview of Drupal concepts such as modules, themes, distributions, and types of data.
Overview of site planning concepts and details of common site layout tasks. Content entity and structure concepts are covered.
Overview of server requirements and details of common installation tasks.
Essential lessons
Overview of basic site configuration concepts. Tasks on module installation, user account settings, and themes are covered.
Overview of page management concepts. Tasks on content items, in-place editing, and menus are covered.
Overview of content structure concepts. Tasks on content types, taxonomies, and reference fields are covered.
Overview of user account concepts and details of common user account tasks.
Overview of block concepts and details of common block tasks.
Advanced concepts
Overview of cache, data backup, and log concepts. Task on clearing the cache is covered.
Overview of security and maintenance concepts. Tasks on updating the core software, modules, and themes are covered.
Overview of the Drupal community and how to connect with other users.
Appendix
Overview of contributors to this guide.
Finding help
Drupal has an amazing community of people who create the software and help each other make the best use of it. It is the best resource to understand, and become a part of, in order to help you on your Drupal journey. Many people new to Drupal overlook this critical resource, but looking into what the community offers will shorten your learning curve considerably.