Drupal is a registered trademark of Dries Buytaert
drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). eca 3.1.1 Minor update available for module eca (3.1.1). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14). node_revision_delete 2.0.3 Minor update available for module node_revision_delete (2.0.3). moderated_content_bulk_publish 2.0.52 Minor update available for module moderated_content_bulk_publish (2.0.52). klaro 3.0.10 Minor update available for module klaro (3.0.10). klaro 3.0.9 Minor update available for module klaro (3.0.9). layout_paragraphs 2.1.2 Minor update available for module layout_paragraphs (2.1.2). geofield_map 11.1.8 Minor update available for module geofield_map (11.1.8).

Ever wish you could display content from another Drupal site as if it were part of your own—fully themed, used in Views, and rendered with view modes—without duplicating that content?

The External Entity Server and External Entity (Consumer) modules were created for site builders who want a streamlined, Drupal-native way to share and display live content across multiple sites.

Why Use External Entity?

Drupal offers several ways to share data across sites—such as JSON:API, REST, Feeds, Migrate, or Entity Share. These are powerful tools, but they often come with trade-offs:

  • Some duplicate content from site to site, which can lead to syncing challenges.
  • Others require custom frontend code or decoupling making it harder to use familiar Drupal tools like Views or blocks.
  • Some are excellent for structured imports but aren’t ideal for displaying live, remote data

External Entity takes a different approach: it lets you display remote content as if it lived locally, using standard Drupal conventions. You can theme it, display it in Views, and manage it like any other entity—while the data itself stays on the original site.

🏫 Example

A school district wants to publish district-wide news that automatically appears on each school’s site:

  • On the district site, configure External Entity Server to expose the News content type.
  • On each school site, use External Entity (Consumer) to display that News content, fully themed and available for use in Views—without duplicating or importing it.

⚙️ Quick Setup Overview

▶️ Want to follow along with a screencast?

Install the External Entity Server module using Composer and enable it. See https://www.drupal.org/docs/extending-drupal/installing-modules

1. Define Shared Resources

Path: /admin/config/services/external-entity/server/resource

Choose which Drupal entities (nodes, taxonomy terms, paragraphs, etc.) should be shared.

2. Configure Authentication

Path: /admin/config/services/external-entity/server/resource/authentication

Open access or cookie-based auth is currently supported. If using cookies, consumers must be configured to pass the appropriate session credentials.

3. Set Up Cache Invalidation

Path: /admin/config/services/external-entity/cache-invalidate

Tell the server where to purge cached data when shared content changes. This ensures that consumer sites always display the most current version of remote content. All consuming sites must also have the External Entity module enabled.

Once your server is configured, you can set up the External Entity (Consumer) on any site to pull and display the shared content.

Activity

Total releases
1
First release
Jun 2025
Latest release
10 months ago
Release cadence
Stability
0% stable

Releases

Version Type Release date
1.0.0-rc1 Pre-release Jun 6, 2025