Reader small image

You're reading from  Drupal 10 Masterclass

Product typeBook
Published inDec 2023
PublisherPackt
ISBN-139781837633104
Edition1st Edition
Tools
Concepts
Right arrow
Author (1)
Adam Bergstein
Adam Bergstein
author image
Adam Bergstein

Adam Bergstein is a product engineering leader and an architect. He has been a long-time Drupal community member, a routine speaker at Drupal community events around the globe, and provided keynotes for several events. He has maintained and contributed to many Drupal projects, including Password Policy, Taxonomy Menu, and more. Adam is the lead of Simplytest, a free service, and a project that offers Drupal community members testing sandboxes. He has also worked for both agencies building Drupal applications and Drupal service providers building Drupal-related products. He has led the Drupal Community Governance Task Force and is serving a term as a community board member of the Drupal Association.
Read more about Adam Bergstein

Right arrow

Preface

Thank you for choosing this book. Digital experience is the broad set of ways users can engage through a website, online shopping, apps, and more. Drupal is an open source digital framework used to create digital experiences. Incepted as a content management system built on structured content models, Drupal’s flexibility, extensibility, and evolution has positioned Drupal to serve the broader digital space. Drupal’s interoperability allows it to work with other things like social media networks, CRM systems, technical capabilities, apps, and even internet-of-things connected devices. Drupal is known for its configuration layer that enables no-code modification through an administrative user interface. The extensibility allows Drupal to be customized both functionally and visually through a robust development framework that often appeals to enterprise use cases. The community maintains both the core of Drupal and a large series of modular projects that can be readily installed, if desired for a given installation.

There are many books on Drupal, several of which dive deep in a specific way. This doesn’t reflect the experience I’ve had with Drupal, in which I have been asked to solve a large number of problems that have spanned every aspect of Drupal that have spanned various Drupal agencies and companies that build products supporting Drupal applications. My experience covers:

  • Participating in the community
  • Installing Drupal
  • Evaluating/installing Drupal projects
  • Configuring features
  • Writing code through modules and themes
  • Deploying updates
  • Running/configuring Drupal’s technology stack
  • Dependent and complementary technologies
  • Broader DevOps implementations, and more

Drupal continues to be one of the longest standing and largest open source communities. Community members are often in high demand to help companies advise, build, maintain, or upgrade Drupal. Drupal affords continuous opportunities to learn through its community, which is always at the ready to help find important work, coach new community members, and ultimately, help members grow as technologists.

Who this book is for

Such a broad and capable digital platform covers a large number of technologies and skillsets. This book aims to introduce as much of Drupal as possible to help gain exposure spanning several personas:

  • End user : Elements of the book highlight the experience offered to website visitors or content authors who engage with Drupal but don’t necessarily build it
  • Site builder : A user who can install and configure Drupal without custom code
  • Backend developer : A user who can customize Drupal functionality through its development framework with modules
  • Front-end developer : A user who can customize Drupal’s visual appearance through its development framework with themes
  • Systems administrator : A user who needs to help maintain Drupal’s technology stack and servers

The book is heavy in content for the site builder persona, given it is a foundational persona. Customization is not expected or desired until after a site builder has exhausted no-code configuration for a Drupal application. Several chapters then explore the more advanced topics around customized code through Drupal’s framework, tooling, and deployment mechanisms.

What this book covers

Chapter 1, What is Drupal?, introducing content management fundamentals, basic Drupal concepts, and case studies.

Chapter 2, Drupal Core, Modules, and Themes, introduces the three major components of a Drupal application, their purpose, and project examples.

Chapter 3, Infrastructure and Overview of Technical Architecture, covers Drupal’s hosting requirements, backend architecture, front-end architecture, and “trifecta” of code, database, and files.

Chapter 4, Drupal Community, describes how to engage with the Drupal community and why it is important to do so.

Chapter 5, What’s New in Drupal 10, defines important new features and changes in Drupal 10 from earlier versions.

Chapter 6, Bootstrapping, Installing, and Configuring a New Drupal Project, walks through the experience of starting a new Drupal application from nothing.

Chapter 7, Maintaining Drupal, outlines the specific maintenance footprint for Drupal and its technical stack, including recommendations for best practices in maintenance.

Chapter 8, Content Structures and Multilingual, describes how people create models for content and how content stored in those models can support versions across multiple languages.

Chapter 9, Users, Roles, and Permissions, covers configuration capabilities that allow different users to perform different actions within the same Drupal application.

Chapter 10, Drupal Views and Display Modes, outlines how to create content displays and display configuration for standard content rendering and for different display formats like listings, feeds, and more.

Chapter 11, Files, Images, and Media, outlines digital asset features in Drupal that work with its underlying structured content and across other Drupal features.

Chapter 12, Search, gives an introduction on enabling and configuring search capabilities in Drupal with commentary on more advanced use cases.

Chapter 13, Contact Forms, provides an overview of user engagement through public forms including optional features like spam prevention and more advanced form building capabilities.

Chapter 14, Basic Content Authoring Experience, helps demonstrate various configuration options and their impact on the experience offered to content authors.

Chapter 15, Visual Content Management, introduces Drupal’s block system and a visual layout capability known as Layout Builder for placing blocks within configured layouts.

Chapter 16, Content Workflows, gives an overview on moderated content configuration options that allow various user roles to be configured to create, review, and approve content before it gets published.

Chapter 17, Git, Drush, Composer, and DevOps, helps define underlying tooling, practices, and use cases that impact code development, deployment workflows, and maintenance.

Chapter 18, Module Development, provides concepts, patterns, and various code samples aimed at understanding how to customize Drupal’s functionality through the backend framework.

Chapter 19, Theme Development, is an overview on everything theme-related in Drupal covering practices, examples, and concepts that span libraries, templates, CSS, JavaScript, and Drupal-related conventions.

Chapter 20, Delivering Drupal Content through APIs, introduces features for web services and interoperability with other systems interested in retrieving Drupal content or performing actions within Drupal.

Chapter 21, Migrating Content into Drupal, introduces tooling and a framework that maps content sources, transformations, and content destinations to move content into Drupal.

Chapter 22, Multisite Management, outlines how to run multiple Drupal applications from the same codebase, including the benefits and drawbacks of this capability.

Appendix A serves as a quick reference to help review terminology or "Drupal-isms

To get the most out of this book

You will need to have a basic understanding of web applications, general web technologies, and request/response models through a browser.

Software/Hardware covered in the book

OS Requirements

PHP

Windows, macOS, and Linux (Any)

JavaScript

Windows, macOS, and Linux (Any)

CSS

Windows, macOS, and Linux (Any)

HTML

Windows, macOS, and Linux (Any)

Server administration

Linux

Local tools, like DDEV (https://ddev.com/), help run a containerized application that hosts Drupal. There are active discussions on DDEV becoming the community standard. Such a tool provides a well documented experience and commands to run Drupal applications. Given this book has several hands-on examples, a local container-based tool brings automation and the ability to destroy and rebuild a Drupal application rapidly. DDEV is also supported across several operating systems.

This book tries to not be too opinionated. The Drupal community, like any community, often has more than one way to solve a problem and it has passionate, smart people that may not always agree. Efforts were made while writing this book to remain objective while trying to give readers as much context on topics as possible. It will be important to get informed on the basics from this book, form your own opinions, and be opportunistic in learning.

Conventions used

There are a number of text conventions used throughout this book.

Code in text: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: “Create a *.services.yml file within the root directory of the module.”

A block of code is set as follows:

use Drupal\user\Entity\User;
$user = User::load(\Drupal::currentUser()->id());

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

namespace Drupal\my_module\Service;

Any command-line input or output is written as follows:

$ mkdir css
$ cd css

Tips or important notes

Appear like this.

Sections

In this book, you will find several headings that appear frequently (Concepts, Use cases, Community Projects, etc).

To give clear instructions on how to complete a recipe, use these sections as follows:

Concepts

This section tells you about the purpose behind a feature or tool.

Use cases

This section often walks through a common way a feature or tool is used.

Community Projects

This section expands beyond what is offered in Drupal core through community-related efforts or projects.

Get in touch

Feedback from our readers is always welcome.

General feedback: If you have questions about any aspect of this book, email us at customercare@packtpub.com and mention the book title in the subject of your message.

Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/support/errata and fill in the form.

Piracy: If you come across any illegal copies of our works in any form on the internet, we would be grateful if you would provide us with the location address or website name. Please contact us at copyright@packt.com with a link to the material.

If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

Share your thoughts

Once you’ve read Drupal 10 Masterclass, we’d love to hear your thoughts! Please click here to go straight to the Amazon review page for this book and share your feedback.

Your review is important to us and the tech community and will help us make sure we’re delivering excellent quality content.

Download a free PDF copy of this book

Thanks for purchasing this book!

Do you like to read on the go but are unable to carry your print books everywhere?

Is your eBook purchase not compatible with the device of your choice?

Don’t worry, now with every Packt book you get a DRM-free PDF version of that book at no cost.

Read anywhere, any place, on any device. Search, copy, and paste code from your favorite technical books directly into your application.

The perks don’t stop there, you can get exclusive access to discounts, newsletters, and great free content in your inbox daily

Follow these simple steps to get the benefits:

  1. Scan the QR code or visit the link below

https://packt.link/free-ebook/9781837633104

  1. Submit your proof of purchase
  2. That’s it! We’ll send your free PDF and other benefits to your email directly
lock icon
The rest of the chapter is locked
You have been reading a chapter from
Drupal 10 Masterclass
Published in: Dec 2023Publisher: PacktISBN-13: 9781837633104
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €14.99/month. Cancel anytime

Author (1)

author image
Adam Bergstein

Adam Bergstein is a product engineering leader and an architect. He has been a long-time Drupal community member, a routine speaker at Drupal community events around the globe, and provided keynotes for several events. He has maintained and contributed to many Drupal projects, including Password Policy, Taxonomy Menu, and more. Adam is the lead of Simplytest, a free service, and a project that offers Drupal community members testing sandboxes. He has also worked for both agencies building Drupal applications and Drupal service providers building Drupal-related products. He has led the Drupal Community Governance Task Force and is serving a term as a community board member of the Drupal Association.
Read more about Adam Bergstein