Better documentation for placeholder strategy denylist/CacheOptionalInterface for block plugin authors/consumers

Created on 6 November 2025, 3 days ago

Problem/Motivation

Follow-up from 📌 User #placeholder_strategy_denylist for CacheOptionalInterface blocks to prevent them being rendered by BigPipe Needs review .

We have several improvements to the renderer and placeholder strategies introduced between Drupal 11.1-11.3 some of which are specifically taken advantage of in block module. However most of the documentation for these is inline and there is not an obvious place to put it.

@alexpott suggested the best place at the moment might be BlockBase and I think I agree.

There are two audiences for this documentation:

1. Block authors, so that they can fine-tune how their blocks are rendered to optimise caching and placeholdering strategies.

2. Block plugin consumers - layout builder, canvas, display builder which can all take advantage of the same approaches that block module has, but need to re-implement the logic because they all render block plugins differently. 📌 Support auto-placeholdering for blocks placed in Layout Builder Needs work and 🐛 Placeholders/#lazy_builder is not supported for block component rendering Active are the relevant issues for layout builder and canvas. Rather than copying across all the inline comments, it would be nice if they could add an @see

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

Introduced terminology

API changes

Data model changes

Release notes snippet

📌 Task
Status

Active

Version

11.0 🔥

Component

base system

Created by

🇬🇧United Kingdom catch

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

No activities found.

Production build 0.71.5 2024