Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Usage Milestone: Simplify Module simplify crossed 10,000 active installs. Usage Milestone: Views Reference Filter Module entityreference_filter crossed 10,000 active installs. Usage Milestone: Dropdown Language Module dropdown_language crossed 10,000 active installs. Usage Milestone: Paragraphs Browser Module paragraphs_browser crossed 10,000 active installs. Usage Milestone: OpenAPI Module openapi crossed 10,000 active installs. Usage Milestone: Decoupled Router Module decoupled_router crossed 10,000 active installs. Usage Milestone: Time Field for Drupal 8+ Module time_field crossed 10,000 active installs. Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

External Data Source

430 sites Security covered Drupal 10–11 External ecosystem
View on drupal.org

This module allows you to populate Drupal field options with data from external web services or APIs. Instead of storing data within Drupal, it provides a flexible way to fetch it dynamically, supporting a microservices architecture and reducing database load. You can configure various data sources, such as Elasticsearch, Solr, or custom APIs, to provide options for select, checkbox, or autocomplete fields.

The External Data Source module provides a generic plugin for adding data gathered from an outside or third parties web service to Drupal Fields options.

Why using this module ?

Using external data source in Drupal as Microsevice architecture is a best practice. By using this module we will be able to create a new data source as a plugin that we can find it when we configure the field type "external data source field" .

We can avoid the over use of Drupal Database by storing options that can be never be used. We can add a Plugin that will gather options from Elastic Serch REST API, Solr, Redis, CouchDb API, AWS, Azure, GCC, any Web-service ...

Why using Microservices ?

Back to wikipedia to explain why we use this module:

A Microservice is a software development technique—a variant of the service-oriented architecture (SOA) architectural style that structures an application as a collection of loosely coupled services. In a microservices architecture, services are fine-grained and the protocols are lightweight. The benefit of decomposing an application into different smaller services is that it improves modularity and makes the application easier to understand, develop, test, and more resilient to architecture erosion. It also parallelizes development by enabling small autonomous teams to develop, deploy and scale their respective services independently. It also allows the architecture of an individual service to emerge through continuous refactoring. Microservices-based architectures enable continuous delivery and deployment.

How this module can help ?

Any data source can be used as dynamic options of your Drupal Form Field: Select, Check-boxes or Auto complete that can be introduced as an ExternalDataSource Plugin. You can checkout the Countries plugin to full understand how this module can help you.

So you can configure which plugin will gather data for your field using "the field configuration form" and "Form Display options".

Example:

Let’s say there’s a public api that allow you to gather countries list so you can create a plugin that use that API to gather countries list inside a select box instead of storing countries as a taxonomy or as an entity in your installation.

You can also checkout the included examples for checking France Zip codes and Departements.

Depends on

Dependencies of the latest stable release

  • field Drupal core

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
1
Tracked since
Jun 2025
Latest release
1 year ago
Releases (12 mo)
0 ▼ from 1
Maintenance
Dormant

Releases

Version Type Core Release date
3.2.0 Stable 10–11 Jun 13, 2025