Skip to content

0.7.0

Compare
Choose a tag to compare
@nhovratov nhovratov released this 01 Apr 07:32
· 275 commits to main since this release

Last sprint release. No april fools joke!

Yes, this is the last minor version for now. Many last minute features got in, though. Now the focus will shift in preparing the Core patch. Development of additional features will pause for this time. Of course, bug fix releases will be provided if needed. Now let's see what's changed!

JSON Schema ✍️

Bildschirmfoto von 2024-03-31 21-06-37

We have worked on a JSON schema definition for Content Blocks and have now reached a good state. This is not only relevant for validation, but helps you write EditorInterface.yaml files with auto-completion if your IDE supports it. Many thanks to @PKuhlmay for helping me out there! You can find the separate repository containing the schemas here: https://github.com/nhovratov/content-blocks-json-schema
There you can find information on how to include them in commonly used IDEs.

Extending native Record Types

It is now possible to define a new Record Type for existing, native Record Types. You can for example add a custom type for News records. This is especially handy if there is need to extend the basic functionality of extensions with custom definitions and fields. Of course, this is only one part of multiple steps to achieve the final goal, but a major and annoying one. Read this guide for more information: https://docs.typo3.org/p/contentblocks/content-blocks/main/en-us/Guides/RecordTypes/Index.html#adding-new-types-to-existing-tables

Previews for Page Types

Screenshot 2024-03-24 at 22-35-46 Page · Blog · Content Blocks TYPO3 CMS 12 4 13

Just like for Content Elements, you can now define previews for Page Types. The preview will be displayed on top of the content area. Everything works exactly like you already know it from the EditorPreview.html file of Content Elements. The screenshot is just an example of what it could look like and is not included by default. Special thanks to @DanielSiepmann again for pioneering this feature.

Custom Field Types

This is more of a developer feature. Nevertheless, it is important to be able to define custom Field Types for Content Blocks if special needs arise. With this feature it is possible to define funny things like a "Map Selector" or type "Money". Read more in this article: https://docs.typo3.org/p/contentblocks/content-blocks/main/en-us/DeveloperCorner/ExtendFieldTypes/Index.html

Pre-rendered nested elements in frontend

Screenshot 2024-03-31 at 21-17-30 Blog

Up until now it was needed to use the f:cObject view helper to render nested content elements in the frontend. This is a bit confusing for many people. Also, it is weird to jump to TypoScript rendering within Fluid back and forth from a technical point of view. A more elegant solution is to pre-render child elements and just to output the content. This has now be accomplished. The rendered "grids" can now be accesed by {data._grids.identifier.content}. Read the updated guide for nested content for more insight: https://docs.typo3.org/p/contentblocks/content-blocks/main/en-us/Guides/NestedContentElements/Index.html#render-nested-content-elements-in-the-frontend

Again, credits to @DanielSiepmann for the idea.

More features

Documentation

The Content Blocks documentation rendering is now based on PHP. A BIG thanks to @linawolf for providing the patch. Not only is it now much faster, but a lot more accessible: https://docs.typo3.org/p/contentblocks/content-blocks/main/en-us/Index.html

At this point I also want to thank @garvinhicking for providing a redirect from an older version of the documentation to the current one.

Bugfixes

  • f6c0dec [BUGFIX] Avoid endless recursion
  • 8fd2ed7 [BUGFIX] Convert category relations to ContentBlockData
  • 4ac051e [BUGFIX] Avoid NotInstantiableTypeException for type Folder
  • 968e839 [BUGFIX] Invalidate backend preview caches on each DataHandler operation

And as always many code refactorings, documentation improvements and bugfixes. Thanks to all supporters and the valuable feedback! This would not be possible without you!

Nikita Hovratov - Content Blocks developer