strataDocs

Content Architecture

Strata provides a dedicated tab for every Drupal entity type you need to plan. Define bundles, fields, displays, permissions, and components — all in one collaborative workspace.

Entity type tabs

When you create a project, Strata provisions a set of tabs in the sidebar, one for each supported entity type. Each tab displays its entries in a sortable, filterable data grid powered by TanStack Table.

Bundle entity types

These are fieldable bundle types — each entry can host inline Fields, Form Displays, View Displays, and Permissions tabs, mirroring Drupal's entity architecture.

TabDrupal entityKey columns
Content Typesnode_typeLabel, Machine Name, Field Prefix, Published, Fields count
Taxonomy Vocabulariestaxonomy_vocabularyLabel, Machine Name, Hierarchy, Fields count
Media Typesmedia_typeLabel, Machine Name, Source Plugin, Fields count
Block Typesblock_content_typeLabel, Machine Name, Revision Default, Fields count
Paragraph Typesparagraph_typeLabel, Machine Name, Behavior Plugins, Fields count

Non-bundle entity types

These tabs do not host inline field tabs but still define important parts of your content architecture.

TabPurpose
ViewsDrupal Views listings with inline display configuration (display plugin, style, row, pager, access)
User RolesRole definitions with weight, admin flag, and permissions summary
MenusCustom menu definitions (supports hyphens in machine names, like Drupal)
Text FormatsFilter formats with weight, roles, and embeddable entity type references
Date FormatsNamed date format patterns (PHP date format strings)
Image StylesImage style presets with effect pipeline summaries
Components (SDC)Single Directory Components with inline Props and Slots tabs

Fields

Fields are defined as inline entries within any fieldable bundle type. Click on a content type (or taxonomy vocabulary, media type, block type, or paragraph type) and switch to the Fields tab.

Field properties

PropertyDescription
LabelHuman-readable name (e.g. 'Hero Image')
Machine NameAuto-prefixed with field_ and the bundle's field prefix. Validated for uniqueness.
Field TypeFrom Drupal's registry (e.g. text_long, entity_reference, image). Version-filtered.
WidgetForm widget, filtered to those compatible with the selected field type.
FormatterDisplay formatter, also filtered by field type compatibility.
RequiredWhether the field is required on the form.
CardinalityNumber of values: 1 (single), -1 (unlimited), or a specific limit.
TranslatableWhether the field supports translation.
RevisionableWhether the field participates in revisions (defaults to true).
Help TextDescriptive text shown below the field on forms.
Default ValueThe initial value for new entries.
Text FormatFor formatted text fields: which text format to use (references the Text Formats tab).
Target Entity TypeFor entity reference fields: which entity type to reference.
Target BundlesFor entity reference fields: which specific bundles to allow (references other tabs).
Field GroupOptional group name for organizing fields in displays.
Storage / Widget / Formatter SettingsType-specific settings from the registry (e.g. max_length, allowed_values).

Field prefix

Each bundle type can set a Field Prefix (e.g. art_ for Article). When a field is created, the machine name is auto-generated as field_ + prefix + label. For example, a “Body” field on Article with prefix art_ becomes field_art_body. This keeps field names namespaced and avoids collisions across bundles.

Conditional fields

Some field properties are only shown when relevant. For example, the Target Entity Type and Target Bundles columns appear only when the field type is entity_reference or entity_reference_revisions. The Text Format column appears only for formatted text field types. This keeps the form clean and focused.

Shared field storage

When you need the same field on multiple bundles (shared field storage in Drupal), use Reuse field instead of Add field. This lets you select a field already defined on another bundle and share it — exactly like Drupal's “Re-use an existing field” feature.

Reuse intent is always recorded explicitly via a reused_from marker. Strata never infers reuse from matching machine names — two fields with the same name on different bundles are independent unless one was explicitly reused from the other.

When fields share storage, the manifest exports a single FieldStorageConfig with multiple FieldConfig instances, so the Drush companion handles creation correctly.

Form & View Displays

Every fieldable bundle automatically gets default Form Display and View Display entries when created. You can add additional display modes (e.g. “Teaser”, “Full”, “Search Result”).

Within each display, the Field Configuration inline tab lets you control per-field settings: visibility, weight (ordering), region, and the widget (for form displays) or formatter and label display (for view displays). Field groups can be configured for tab or group-based form layouts.

Permissions

Content Types, Media Types, and Taxonomy Vocabularies include inline Permissions tabs. These let you define a per-role permission matrix (referencing your User Roles tab) that maps to Drupal's node, media, and taxonomy permissions.

Content type permissions include: Create, Edit Own, Edit Any, Delete Own, Delete Any, View Revisions, and Revert Revisions. Vocabulary permissions include: Create Terms, Edit Terms, and Delete Terms.

Views

The Views tab lets you plan Drupal Views listings. Each view entry specifies a label, machine name, base entity type (Content, Taxonomy Term, Media, User, Paragraph, or Block Content), and enabled status.

Views have inline View Displays tabs where you configure each display: the display plugin (Page, Block, Feed, etc.), style plugin, row plugin, pager, items per page, access control, path, and filter summaries. All plugin selections come from the registry and are version-filtered.

Components (SDC)

The Components (SDC) tab is for planning Drupal's Single Directory Components. Each component entry includes a label, machine name, provider module/theme, group, description, and status (Stable, Experimental, or Deprecated).

Components have two inline tabs: Props (typed property definitions with type, required flag, default value, and enum values) and Slots (named content insertion points with title and description).

All Fields view

The All Fields view provides a cross-bundle view of every field across all entity types in your project. It lets you see field reuse at a glance, find fields by name or type, and spot inconsistencies in naming or configuration. The grid is sortable and filterable, just like the individual bundle field tabs.

Sortable & filterable grids

Every entity tab uses a data grid built on TanStack Table. Grid features include:

  • Column sorting — click any sortable column header to sort ascending or descending
  • Column filtering — filter by text, select values, or boolean state on filterable columns
  • Column visibility — toggle which columns are shown (some are hidden by default and can be revealed)
  • Inline editing — click on a cell to edit values directly in the grid without opening a form
  • Computed columns — columns like “Fields” count are automatically computed from child entries