Acquia Developer (D10) study materials
Acquia Developer (D10) study resources

Acquia Developer (D10): Drupal Fundamentals and Site Building

Acquia Developer (D10) · Work through your exam, one topic at a time.

All guide sections

Drupal Fundamentals and Site Building

What to know

Drupal 10 separates configuration (content types, fields, views, display modes, roles) from content (nodes, terms, users). Configuration is exportable YAML; content lives in the database. Understanding this split explains most site-building questions.

Entities are the backbone: nodes, taxonomy terms, users, files, and custom entities. A bundle (e.g., a content type) groups fields; field storage is shared across bundles while field instances attach to a specific bundle. Content types are bundles of the node entity, vocabulary terms are bundles of taxonomy_term.

Views are the primary listing tool: a view has a base table, filters, fields/rendered entity, sort criteria, pager, and displays (page, block, feed). Relationships pull in related entities; contextual filters accept arguments from the URL.

Traps

  • Region vs. block vs. theme: a region is a theme-defined slot; a block is placed into it. Changing theme can orphan block placement.
  • Path aliases vs. URL aliases vs. redirects: aliases rewrite the canonical path; redirect modules 301 elsewhere. Questions often conflate them.
  • Display modes: view modes (full, teaser) control rendering; form modes control editing. Don't confuse them.
  • Permissions vs. roles: roles collect permissions; a user can hold multiple roles and permissions are additive.
  • Configuration vs. content: menu links created via UI are content entities; views and content types are config.

Rule of thumb

If it should move between environments via config sync, it is configuration. If editors create it at runtime, it is content. When a question asks "where does this live?" apply that test first.

Worked example

A listing of published articles tagged with a term from the URL: create a View on the Content base table, filter Content type = Article and Published = Yes, add a contextual filter on a taxonomy field with a relationship, and set the display to a page with a path containing the argument.