DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Low-Code Development: Leverage low and no code to streamline your workflow so that you can focus on higher priorities.

DZone Security Research: Tell us your top security strategies in 2024, influence our research, and enter for a chance to win $!

Launch your software development career: Dive head first into the SDLC and learn how to build high-quality software and teams.

Open Source Migration Practices and Patterns: Explore key traits of migrating open-source software and its impact on software development.

  1. DZone
  2. Refcards
  3. Drupal 9 Essentials
refcard cover
Refcard #333

Drupal 9 Essentials

An Introduction to Core Features

Drupal is an open-source content management system used by developers to create websites and online applications. Its numerous configuration options and extensions enable developers to dedicate more time to feature enhancements and system integrations. This Refcard introduces the core features and illustrates how a developer can use pre-defined, secure functionality to create complex data collection and delivery solutions.

Free PDF for Easy Reference
refcard cover

Written By

author avatar Cindy McCourt
Consultant, IDCM Innovations
Table of Contents
► Introduction ► How Drupal 9 Was Built ► Content Management ► Customization ► Code Maintenance ► Conclusion
Section 1

Introduction

Drupal is an open-source content management system used by developers to create websites and online applications.

Figure 1: Content gets uploaded to Drupal and rendered in a display



Some have described Drupal as being like LegosTM — lots of pieces that can be assembled to create whatever you want. However, like LegosTM, there are rules to how Drupal’s modular components can come together and/or be customized.

This Refcard introduces the core features that make this flexibility possible. We will illustrate how a developer can use pre-defined, secure functionality to create complex data collection and delivery solutions, leaving more time to develop custom capabilities unique to requirements.

To do that, we will explore the development of Drupal 9 and its core features.


This is a preview of the Drupal 9 Essentials Refcard. To read the entire Refcard, please download the PDF from the link above.

Section 2

How Drupal 9 Was Built

If Drupal 9 is your first opportunity to experience Drupal, there are a few things to know about its development process. Why? Because if you try to search for how things work in Drupal 9, you will see a lot on Drupal 8. And Drupal 8 how-to resources will be either spot on or close to what you need to know about Drupal 9.  

Here’s why.

Figure 2: Calendar of the Drupal Core development process


Calendar of the Drupal Core development process


Drupal 9 was built in Drupal 8. In November 2015, Drupal 8.0.0 launched. Six months later, the first step toward developing Drupal 9 was launched as minor version 8.1.0. The process continued every six months after that as Drupal 9 APIs were added to the Drupal 8 codebase. 

When Drupal 8 reached 8.9.0, it included all of the Drupal 8 and Drupal 9 APIs. Parts of Drupal 8 to be omitted in Drupal 9 were marked for removal in the process, and upon their removal, Drupal 9.0.0 was established. The six-month release process continues in Drupal 9 as the Drupal community builds Drupal 10. Let’s first focus on what core functionality is ready to use.


This is a preview of the Drupal 9 Essentials Refcard. To read the entire Refcard, please download the PDF from the link above.

Section 3

Content Management

Drupal is referred to as a content management system. Its key strength is managing structured content that can then be used in a variety of ways. The most common way is via web pages.

Figure 3: From data to Node entity records to a Drupal web page


From data to Node entity records to a Drupal web page

Figure 3 illustrates how a Drupal web page is created:

  • Data is collected via a form called a Content Type (aka Node entity type) and stored as a node in the database (see Data Collection below for more on Drupal entities). 
  • Some of the data is then displayed in the main content area on the page.
  • Other data elements collected are displayed in the sidebar along with data collected from other nodes using database queries and the Block system. 

This conceptual illustration is a simplification of one frequently used process. What makes this possible is “thinking in Drupal” versus traditional web page development, through which each page is planned and coded. How do you “think in Drupal?” Start by thinking of Drupal as a data management system in which you use and reuse data throughout the website and in multiple regions on the page.

The following sections will introduce data types, collection, and relationships, as well as how to deliver and display data that is access managed.

Data Types

Structured data is key to maximizing Drupal’s data management and reuse options. Data types are captured in the fields listed in Table 1.

Table 1: Fields and data types

Field Data Type
General
Boolean, Date, Email, Timestamp, Comments, Link
Number
Lists (float or integer) and Number (decimal, float, or integer)
Reference Content, File, Image, Taxonomy term, User, etc.
Text List (text) and Text (formatted, formatted long, formatted long with summary, plain, plain long)


Drupal also ships with Datetime Range, Telephone, and Media. The Media field manages media-related files: documents, images, audio, video, and links to embed videos. You can dedicate a field to one Media type or multiple Media types.

However, media management doesn’t stop with upload fields. The Media Library module “enhances the media list with additional features to more easily find and use existing media items.”[1] Drupal also enables accessible descriptions such as alternative text fields for images and long text fields that hold video and audio transcripts. The Responsive Image module “provides an image formatter and breakpoint mappings to output responsive images using the HTML5 picture tag.”[1]

Data Collection

Fields can only be used as part of an entity type. There are seven core, customizable entity types: Node, Block, Taxonomy term, Comment, User, Contact, and Media. Entities help you collect data, store it in the Drupal database, and use it to create pages or push data to other frameworks.


[1]   Description provided by Drupal’s Extend admin interface.


This is a preview of the Drupal 9 Essentials Refcard. To read the entire Refcard, please download the PDF from the link above.

Section 4

Customization

Customizing a Drupal site happens both on the backend and frontend. What does that mean? Figure 17 compares how Drupal’s modules and other functionality in the backend differ from the theme functionality in what is referred to as the frontend.

Understanding this difference is the first step in customizing your Drupal solution.

Figure 17: Drupal’s Backend and Frontend vs. the web page it creates


Drupal’s Backend and Frontend vs. the web page it creates


This is a preview of the Drupal 9 Essentials Refcard. To read the entire Refcard, please download the PDF from the link above.

Section 5

Code Maintenance

In order to maintain Drupal’s core code and any contributed modules installed as part of the site configuration, developers need to track and install the minor versions of Drupal 9 (9.1.0, 9.2.0, and so on) as it moves toward Drupal 10.

Custom Code Updates

With each new minor release, developers can update custom module APIs to the new APIs, readying them for the next major version of Drupal. It’s also an opportunity to update the APIs in contributed modules. If the current module owner doesn’t have the resources, you can volunteer your time and skills to help, thus preparing your site for Drupal 10.

You can learn more about volunteering — visit the module project page, review the issue queue, and suggest solutions.

Update Tools

Given the use of external dependencies in core and contributed modules, developers need to use Composer to install and update Drupal’s code. Start by reviewing “Updating Drupal” at https://www.drupal.org/docs/updating-drupal.

Note: Drupal provides an administrative interface to update contributed modules for you. Unless you know that the module has no dependencies, consider using Composer to perform updates to ensure dependencies are updated appropriately.


This is a preview of the Drupal 9 Essentials Refcard. To read the entire Refcard, please download the PDF from the link above.

Section 6

Conclusion

This Refcard was just a peek into what Drupal can do. It was designed for developers and non-developers in mind. Drupal’s numerous configuration options and extensions enable anyone to build a sophisticated website with rich media and interactions without knowing how to code. It also affords more time to developers to focus on feature enhancements and system integrations unique to requirements.

Drupal’s code and community-contributed functionality are free. One way to learn how to work within Drupal’s code is to help the community resolve issues and build new features.

Join the worldwide team: https://www.drupal.org/community

Like This Refcard? Read More From DZone

related article thumbnail

DZone Article

How To Use the H2 Database With Spring Boot
related article thumbnail

DZone Article

Securing Your Machine Identities Means Better Secrets Management
related article thumbnail

DZone Article

Mitigate the Security Challenges of Telecom 5G IoT Microservice Pods Architecture Using Istio
related article thumbnail

DZone Article

How To Build an AI Knowledge Base With RAG
related refcard thumbnail

Free DZone Refcard

Getting Started With Low-Code Development
related refcard thumbnail

Free DZone Refcard

JavaScript Test Automation Frameworks
related refcard thumbnail

Free DZone Refcard

Salesforce Application Design
related refcard thumbnail

Free DZone Refcard

E-Commerce Development Essentials

ABOUT US

  • About DZone
  • Send feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.linkDescription }}

{{ parent.urlSource.name }}
by
DZone Core CORE
· {{ parent.articleDate | date:'MMM. dd, yyyy' }} {{ parent.linkDate | date:'MMM. dd, yyyy' }}
Tweet
{{ parent.views }} ViewsClicks
  • Edit
  • Delete
  • {{ parent.isLocked ? 'Enable' : 'Disable' }} comments
  • {{ parent.isLimited ? 'Remove comment limits' : 'Enable moderated comments' }}