Introduction

by Gisle Hannemyr

This introduces this book, and tells you how to approach it and what typographic conventions are used to distinguish different types of content.

Table of contents

Introduction

Welcome to Drupal 9 module development! This book is specifically about developing modules for Drupal 9 using OOP PHP programming.

Conventions

In this e-book, you will find a number of styles of text that distinguish between different kind of information. Here are some examples of styles and an explanation of their meaning.

Names of Drupal projects and modules, Wordpress and Photoshop plugins are presented in bold typeface (e.g.: Views, Andromeda Cutline).

Names of websites, products, languages, fonts, standards and similar, are presented in an italic typeface (e.g.: Drupal.org, MS Office).

Breadcrumbs showing how to navigate to reach a particular page are shown in a sans-serif greenish font with a right pointing double guillemet between the elements (e.g.: Structure » Content types » Add content type). The initial Home » Administration that always starts out a Drupal administrative menu breadcrumb is omitted for brevity.

Clickable words (links) that you see on the screen, in menus and dialogue boxes are quoted (e.g.: Click “Next” to navigate to the next item).

Strings and symbols to look for when navigating the GUI are also shown inside quotes. Example:

Locate the icon for the “Image tool” on the “Current toolbar” and move it down to the “Available buttons” toolbar.

A mono-spaced typeface are used for filenames (e.g.: update.php), directory names, and variables.

A mono-spaced typeface is also used for function names. An empty opening and closing parenthesis are appended to the function name, but the list of arguments is not reproduced (e.g. the function dpm() is useful for debugging).

Keystrokes are shown inside a frame: (e.g.: Ctrl+Shift+V, Spacebar).

Blocks showing detailed settings in some program are separated from the running text in a box, like this:

Blend Mode: Normal
Opacity: 100%
Color: R 255 G 60 B 60 (faded red)

Blocks showing interactions with the CLI, program code, SQL queries, scripts or markup are also separated from the running text in a box with a tan background, like this:

SELECT u.uid, u.name, u.mail, n.status, n.node, n.teasers, n.comment
FROM {users} u
LEFT JOIN {notify} n
ON u.uid = n.uid
WHERE u.uid = :uid AND u.status = :status

In a box showing how to use the CLI, what is typed by the user is black, while prompts and response from the computer is grey:

Unix:

$ pwd
/var/www

MS Windows:

PS C:\Users> cd ..
PS C:\>

SQL shell:

mysql> use mysql;
mysql> update user set password=PASSWORD("NewPass") where User='root';
mysql> flush privileges;
mysql> quit

Example domain will be “example.com” and example IP-address will be “192.0.2.0” (re: RFC5737). Example username will be “bob”.

There are also breakout-boxes marked with nifty little icons that denote special contents:

technicalAdditional technical details – read on only if you have a pocket protector.

tipTips and tricks – perhaps a shortcut or a little-used command that is a great help.

noteImportant notes and caveats. This information may help you avert disaster.

rememberMake a special note to make sure you remember this.

See alsoLinks to additional material that may expand on the topic discussed.

Since this is a work in progress, some sections may still be unwritten. This is indicated with a placeholder with the letters “TBA” (To Be Added) in square brackets. Example:

[TBA]

Final word

With this e-book in hand, you're ready to build your own robust and useful website with Drupal. Browse through the table of contents and decide where you want to start. Be courageous! Be adventurous! But above all, have fun!


Last update: 2021-04-20.