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.
Connect to TYPO3 Slack and join us in the #cig-structuredcontent channel.
Page Module and Dynamic Grid
After developing a concept to improve the Page Module and the Dynamic Grid during our November sprint, we joined forces with the Accessibility Team. If we change the behavior of placing and re-placing content, we want to be sure that it at least stays as accessible as it is now - or gets even better.
A lot of discussions arose quickly, and we had to re-evaluate and adapt a lot of the wire frames, but we are very grateful for the feedback and the huge interest in our work!
During our sprint in February, we discussed implementation steps and what work needs to be done before the Dynamic Grid can be integrated into the new Page Module. We got in contact with Benni Mack, who shared his plans for the Page Module with us and introduced us to the Lit Element approach.
“Lit is a simple library for building fast, lightweight web components.”
—From lit.dev/docs
Lit is already used in the backend of TYPO3 version 11.3 and improves the maintenance of its JavaScript/HTML functionality. Thank you Benni Mack and Benjamin Franzke!
Currently, there are three areas we are working on in preparation for the Dynamic Grid:
- Adapting the stylesheets to give the Page Module a more modern and fresh look.
- Refactoring of the generated content element markup (in the backend) as Lit Elements.
- Developing a Data Handling concept for the Dynamic Grid.
We already made great progress in our last sprint in July—again, many thanks for your help Oliver Hader and Benni Mack!
You can review all changes regarding the optimization of the Page Module.
You can review all changes regarding the new content element wizard bar.
For the Dynamic Grid we decided to implement it as an extension first, to evaluate the proof of concept—just like we did for the content blocks. You can view the current state in our repository and are very welcome to contribute! The minimum requirement for the Dynamic Grid will be TYPO3 version 11. We are doing our best to plan a first release for the end of the year.
Content Blocks Registration API
Thus being very occupied by the new Page Module, we finally released the Content Blocks Registration API extension at the end of April 2021. The first major version features a completely refactored documentation in RST format, now rendered by the TYPO3 documentation interceptor, as well as a simple GUI to kickstart a content block.
We were very happy to get positive feedback, valuable questions and remarks, when presenting it in a live demo at multiple TYPO3 user groups. Especially our Content Blocks Kickstarter gained a lot of interest. This is why our next big step will be to improve its GUI, for which we are in exchange with the Form Framework team.
In our last new article we promoted two questions we raised on decisions.typo3.org. After evaluation of all comments, we are glad to finally give you the answers to these hot topics.
How to bundle content blocks?
Content Blocks can be bundled by creating a distribution of Content Block packages (e.g. like TYPO3 minimal distribution), or within a bundling extension (e.g. a site package).
Switchable CTypes: How to solve consistency issues?
The approach of a switchable-mapping was most voted, so we decided to keep this in our focus and address this issue in our future work. However, this will rather be a long term feature.
The identification of the proper storage method is a very important topic and the next big thing we will focus on for content blocks, now that our proof of concept got such great feedback. We will take action here right after the LTS release of TYPO3 version 11, because all our resources are focused on that now.
If you’d like to support our ideas—now is the time! We need developers familiar with core contributions and willing to dive into the Lit Element approach, styling (SCSS, JavaScript, and TypeScript) or Data Handling. There are also smaller tasks that can be done. Check out the issues in our repository!
—The Structured Content Initiative team.