Acquia Site Builder D10 cheat sheet
Acquia Site Builder D10 · Keep the key ideas within reach.
Drupal 10 Site Building: Content Structures, Configuration, and Layout
Content entities (nodes, taxonomy terms, users, media) store fielded data in tables; config entities (content types, vocabularies, view modes) store structure in the config system.
A content type is a bundle of the node entity; each bundle declares its own fields, form displays, and view displays, so field storage is shared while field instances are per bundle.
Field types determine storage schema and available widgets/formatters; changing a field's type after data exists is not supported in core UI and requires migration.
Reference fields (Entity reference, Entity reference revisions) store target IDs; cardinality controls single vs. multiple values, and 'Required' enforces at least one value.
Text formats pair a filter set with a role/permission assignment; the fallback format applies to untrusted input and is configurable at text-formats settings.
View modes (Default, Teaser, Full, plus custom) drive what a layout or template renders; Layout Builder stores per-entity or per-bundle overrides as layout sections.
Layout Builder overrides are stored in the layout_* tables keyed to the entity or bundle; reverting an override discards stored sections and restores the default.
Block layout (theme regions) and Layout Builder are distinct systems: block placement is theme-level configuration, while Layout Builder is entity/bundle-level content layout.
Paragraphs are a contributed entity type, not core; in core-only builds, multi-value fields plus view modes or Layout Builder provide component-style composition.
Content and Configuration Management
Configuration is exported as YAML keyed by config name (e.g., node.type.article); the UUID in each file ties it to the site it was exported from.
drush config:export and config:import (or the Synchronize configuration UI) move config between environments; import deletes config present on the target but absent in the sync directory.
The sync directory is set by $settings['config_sync_directory']; it must be writable for export and readable for import.
Configuration entities support dependencies (module, theme, config); unmet dependencies block deletion and surface as errors during import.
Content is not part of config export; content moves via drush sql:dump/sql:sync, the Migrate API, or contributed default-content tooling.
Config split (contributed) separates environment-specific config (e.g., devel, stage_file_proxy) so it is not exported to production.
drush config:status reports differences between active config and the sync directory; a clean status is the precondition for a safe import.
The config override system ($config in settings.php) changes active values at runtime without touching the database, and overrides are not exported.
Deleting a config entity via UI removes it from active config; a subsequent import reintroduces it if the YAML still exists in the sync directory.