At the latest DrupalCon Europe, Amsterdam 2019, Drupal founder Dries Buytaert suggested an important “new strategic track” for Drupal, after the Drupal 9 peak is achieved.“We want to make Drupal really easy for beginners,” he told the audience at his traditional DriesNote. “We should prioritize the beginner experience.”
One reason why users find Drupal difficult: “We’ve heard over and over again that the terminology is really hard,” Dries said. "When you talk to beginners, they think about content and components. But we talk about nodes and entities and blocks."
Dries’ suggestion is just one of the strategic tracks he proposed in his presentation. The overall Drupal community will choose the priorities through a variety of feedback loops.
All this talk about focusing on Drupal’s learning curve for new users made us want to breakdown some of the most fundamental terms and features you’re likely to encounter when starting any new Drupal project. Welcome to our latest installment of Tech Terms, Defined -- Drupal terms!
We started, naturally enough, with the Acquia Glossary, plugging in the three terms that Dries mentioned specifically.
Node -- A piece of content in Drupal, typically corresponding to a single page on the site, that has a title, an optional body, and perhaps additional fields. Every node also belongs to a particular content type, and can additionally be classified using the taxonomy system. Examples of nodes are polls, stories, book pages and images.
Entity -- Any defined chunk of data in Drupal. This includes things like nodes, users, taxonomy terms, files, etc. Contributed modules can define custom entities. Each entity type can have multiple bundles.
Block -- The boxes visible in the regions of a Drupal website. Most blocks (e.g. recent forum topics) are generated on-the-fly by various Drupal modules, but they can be created in the administer blocks area of a Drupal site.
The Acquia Glossary also had entries for basic Drupal concepts like:
Contributed Modules or Themes -- that are not part of the core Drupal product. Contributed modules and themes are available for separate download from the modules and themes sections of Drupal.org downloads. These are separate from the Drupal “core”, although over time they can become part of it. Similar concepts exist in other software and are sometimes called “plugins”, “add-ons” or “extensions”.
Field -- Elements of data that can be attached to a node or other Drupal entities. Fields commonly contain text, image, or terms.
You’ll note that some of these terms are defined by referencing other Drupal terms. This is how vocabularies work. They are defined via related concepts. So we decided to widen our focus to bigger collections of Drupal terms.
Thomas Howell, Acquia Glossary project lead, suggested two very helpful Drupal.org sites as “good starting points.”
The Drupal 7 Glossary is helpful because it is hyperlinked with many other sections in the Drupal 7 Documentation.
The Drupal 8 Glossary is an updated, expanded version of the earlier glossary, linked up with the Drupal 8 User Guide.
Although both glossaries share many traditional Drupal terms, it makes sense to choose the glossary that corresponds with the version of Drupal that you are working with: 7 or 8.
Here are a few of the most important Drupal concepts that are covered in these glossaries; we left in the hyperlinks because they often lead to other valuable definitions.
Drupal core -- The files, themes, profiles, and modules included with the standard project software download. See Concept: Drupal as a Content Management System for more information (and a big-picture view of Drupal).
Content type -- Every node belongs to a single “node type” or content type, which defines various default settings for nodes of that type, such as whether the node is published automatically and whether comments are permitted. Common "Content Types" that just about any website would have include: blog post and page.
View -- A formatted listing of data; typically, the data comes from content entities. For example, on a farmer’s market site, you might create a content item for each vendor. You could then make a view that generates a listing page that shows a thumbnail image and short description of each vendor, linking to the full-page content item. Using the same data, you could also make a view that generates a new vendors block, which would show information from the most recently added vendors.
Clicking around these glossaries is a worthwhile learning experience. It’s easy to find yourself clicking into much bigger concepts, about how Drupal is organized; or deeper into the weeds, into terms that you had taken for granted, even though you didn’t exactly understand what they meant.
As beginner initiatives flourish, and we hope they will, these glossaries should rise in importance.
Even more experienced Drupalists can benefit from exploring a Drupal glossary -- it’s rarely time wasted.
And if you want to explore Drupal in a more comprehensive way, from basic concepts to future of Drupal 8 (and the road to Drupal 9), be sure to check out Acquia’s own Ultimate Guide to Drupal 8.