Introducing the TYPO3 Content Blocks

Categories: Development, Community, TYPO3 CMS Created by Lidia Demin
The Structured Content Initiative at the T3DD22. Photo: griebie /
We’re excited to announce that we’re working to introduce Content Blocks as a TYPO3 Core system extension, and we welcome developer help to achieve our goals.

The Structured Content Initiative is the core Strategic Initiative focused on improving the content editing user experience in TYPO3 CMS. Read our last update to learn more about what we’ve been working on. 

Welcome Nikita Hovratov!

Nikita Hovratov is the current maintainer of the popular extension Mask and an experienced contributor to the TYPO3 Core. We were positively surprised when he approached us at the TYPO3 Camp Mitteldeutschland 2022 in Dresden and suggested joining forces. Welcome to our initiative, Nikita - we are very happy to have you on board!

Content Blocks Shake Hands With Mask

With a common goal in mind—to simplify the definition and registration process for a content element—we started working on a concept to merge our Content Blocks with Mask

Mask is a popular, verified extension with over 600,000 downloads. Mask lets you create your own content elements with a drag-and-drop system. You can style your frontend with Fluid tags, and everything is stored in structured database tables.

The Content Blocks extension is a registration API that provides a reliable way to register content blocks as standalone packages. It receives a lot of positive feedback about the approach of using a Composer package per type.

The strategy was clear right away: take the best of both solutions! 

We decided to aim directly for the TYPO3 Core. The Core’s testing framework would speed-up our development, and would also provide more transparency to the TYPO3 community.

Goodbye Fluid-Styled Content. Hello Content Blocks!

Fluid-Styled Content (FSC) replaced CSS-Styled Content as a system extension back in the old days. It provided more flexibility for the integrators and a huge set of default content elements for the TYPO3 Core. The requirements of modern websites and editors have now evolved, leading to discussions about thinning out FSC or even its necessity in the first place (see recent example). Some might say “Don’t install it if you don’t need it.” But that’s easier said than done — FSC definitions are currently spread across three system extensions: EXT:fluid_styled_content, EXT:frontend and EXT:backend.

How does this all relate to the Content Blocks? In order to enable the integrator to define Content Blocks without the additional data of FSC, which in some places (like backend preview or live search) is needed, FSC will need to become truly optional. So we extended our plans for the Content Blocks to become a strategy for how to integrate the Content Blocks into TYPO3 Core, and a roadmap for what will become of FSC.

Scope and Roadmap

Our primary scope is now about including Content Blocks as a TYPO3 Core system extension. We are fully aware of the complexity of this task. We used the TYPO3 Developer Days to present our vision to the public, and hold intensive exchanges with the Core mergers.

We created a forge Epic for our vision, to provide transparency and enable people to participate in the process. The development for the Content Blocks has started on the current master of TYPO3 v12. At this very early stage of development, we are not able to say if the feature can be shipped for the upcoming LTS version. But we will do our best to accomplish that, and all developer-power is highly appreciated!

You can help us with the following topics:

  • Refactoring the Content Blocks Registration API as system extension
  • Rebuilding the GUI of Mask form VueJS to LitElement for the Content Blocks
  • Extracting FSC from EXT:frontend and EXT:backend

Changes to Our Initiative Page

To provide better access to important information about the current state of all our deliverables, we made structural changes to our initiative page:

Dynamic Grid current state and roadmap

Keep In Touch

Thank you for your great feedback so far! Please keep testing and sharing your thoughts with us! You can reach us at #cig-structuredcontent on Slack, or join our weekly calls on Mondays at 8 p.m. CET.

The Structured Content Initiative

Additional contributors for this article
  • Proofreader : Felicity Brand
  • Content Publisher : Mathias Bolt Lesniak