Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Search API HTML Element Filter 1.0.7 Minor update available for module search_api_html_element_filter (1.0.7). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). Varbase Media Header 9.2.1 Minor update available for module varbase_media_header (9.2.1). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

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.

Activity

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

Releases

Version Type Release date
3.2.0 Stable Jun 13, 2025