Drupal Core APIs

ACL on Cloud Next: Self-Referential Outgoing Drupal HTTP Requests and Varnish

Submitted by admin on



How It Works

When your Drupal app makes an outbound curl request to its own domain (e.g. calling its own REST API, JSON:API, or any self-referencing endpoint), the request flows like this:

An Overview of “Getter and Setter” Usage in Modern Object Oriented PHP

Submitted by admin on

Great question — this is one of those OOP topics that sounds simple but has real architectural implications.


 

How Guzzle validates SSL certificates when making outbound API requests

Submitted by admin on



Here are the most common Certificate Authorities (CAs) you'll encounter:

Major Commercial CAs

CA

Key Technical Aspects of Sending Email in Web Applications

Submitted by admin on

Core Protocols & Architecture

SMTP (Simple Mail Transfer Protocol) is the fundamental protocol for sending email. Your application acts as an SMTP client, connecting to an SMTP server (port 25, 587, or 465) to submit messages. Port 587 with STARTTLS is the modern standard for submission.

Key flow: Your app → SMTP server → Recipient's mail server → Recipient's inbox

The 2026 State of Modern Drupal Frontend Development

Submitted by admin on

Here's a comprehensive picture of where Drupal frontend is right now and where it's heading:


1. The Big Split — Coupled vs Headless/Decoupled

The most important trend is the industry dividing into two distinct camps:

Traditional coupled Drupal — Drupal renders HTML via Twig templates, serves pages directly. Still the right choice for most sites.

Views Table and Views Cache Query vs. Custom Block Plugin and Direct Query

Submitted by admin on

Moving from Views to a Custom Controller or Block Plugin is a classic "Performance vs. Convenience" trade-off in Drupal. While Views is incredibly powerful, it is essentially a massive SQL generator and thermal-processing engine wrapped in layers of abstraction.
The "Views Overhead": Why it's Slower
When you use a direct query in a controller, you are telling the database exactly what you want. When you use Views, Drupal has to:
* Load the View Entity: Fetch the configuration (YAML).

Understanding Caching in Drupal, Introduction

Submitted by admin on

In Drupal 11, the caching system is one of the most sophisticated parts of the architecture. It is designed to solve a specific problem: PHP is slow, but the database is even slower.
To understand the difference between the layers, it helps to look at them as a series of "gates." If a request can be answered at an early gate, Drupal doesn't have to do the heavy lifting of building the page.
1. The Hierarchy of Cache Layers
Drupal 11 uses a "layered" approach. When a user requests a page, Drupal checks these caches in order:
Layer A: Production/External Cache (Varnish/CDN)

Understanding Drupal Entity Types: Content Types vs Bundles

Submitted by admin on

In Drupal 11, bundle and content type are related but distinct concepts:


Content Type vs Bundle


Content Type is a specific type of bundle used for Node entities only. When you create a content type like “Article” or “Page” in the Drupal UI, you’re creating a bundle of the Node entity type.


Bundle is the broader, more generic term that applies across all fieldable entity types in Drupal. It’s a subtype or variation of an entity type that can have its own set of fields.

Understanding Drupal Core Interfaces: Field API

Submitted by admin on

Creating a Date picker in React

Submitted by admin on

To implement a minimal react-datepicker that looks and feels like a USWDS (U.S. Web Design System) component, you can leverage the customInput prop. This allows you to use a standard USWDS text input while letting the library handle the calendar logic. Here is a solution that uses the USWDS design tokens (classes) to create a clean, icon-free field with a CSS-only arrow. 1. The React Component This setup uses the usa-input class for the field and a custom "wrapper" to position the CSS arrow.

Subscribe to Drupal Core APIs
Recent Content
Drupal Topics