This project is not covered by Drupal’s security advisory policy.

Entity connections shows how the entity bundles of your site reference each other. Content types, vocabularies, media types, paragraph types and other bundles are drawn as an interactive graph and listed in a table, and the whole content model can be exported to Mermaid, Graphviz DOT or CSV.

Use it to understand, review and document a content model: before a migration, audit or redesign, when onboarding to an existing site, or to keep the architecture documentation up to date.

Features

  • Interactive graph of every entity reference and entity reference revisions (Paragraphs) field, drawn with Cytoscape.js. Zoom, pan and drag the nodes, or fit the graph to the screen.
  • Single-value references are drawn in teal, multi-value references in orange, with a legend.
  • Accessible table view of the same connections: source, field, target and cardinality, with human-readable labels and machine names.
  • Export from the report page or with Drush:
    • Mermaid: a flowchart which renders in GitLab, GitHub, Confluence and other Markdown tools.
    • DOT: for Graphviz, to render large content models to SVG, PNG or PDF.
    • CSV: one row per connection, for spreadsheets.
  • Pluggable export formats: other modules can add their own format as a plugin, or remove and reorder the existing ones with an alter hook.
  • Works with nodes, taxonomy terms, users, media, paragraphs, custom blocks, Commerce and any other entity type.
  • Dedicated permission, so site builders and auditors can see the report without full administrator access.

Requirements

Drupal 10.3 or later, or Drupal 11. No other modules are required.

Cytoscape.js is loaded from the jsDelivr CDN with subresource integrity. To serve it from your own site, place it in /libraries/cytoscape (see the README).

Installation

composer require drupal/entity_connections
drush en entity_connections

Grant the Access the entity connections report permission, then open Reports » Entity connections (/admin/reports/entity-connections/entities).

Drush

drush entity-connections:export > connections.mmd
drush ec-export --format=dot | dot -Tsvg > connections.svg
drush ec-export --format=csv > connections.csv

Roadmap

  • Focus on a bundle: show only its direct connections in large graphs.
  • Settings: layout, edge labels, base fields.
  • Drupal 12 support, as soon as it can be tested.

Feature requests and patches are welcome in the issue queue.

Similar projects

  • The core Field list report (/admin/reports/fields) lists the fields in a table, without the connections between bundles.

Project information

Releases