Nested Blocks

Just checking in on this… after a thorough evaluation of many headless CMS options, this is the only big issue holding us back from choosing DatoCMS!

The roadmap Github seems to have been archived. Is there an update on whether this is still a planned feature?

I just wanted to share an illustration of why the lack of nested modular blocks makes DatoCMS much harder to set up than other systems. It’s really hard to decide if a “component” (like a layout or feature) should be a model or a block, and whether to reference that component inside a Link, Modular Content, or Structured Text. There are pros and cons to each approach but none is perfect (schema cleanliness vs editor UI differences), and the decision is both confusing and inflexible (can’t be changed after setup). It makes composing more complex layouts very difficult…

This is the confusing part in question: :grimacing:

1 Like

Looking for a solution here too. But this can be solved, at least in part with a Field Editor Plugin. Similar to JSON Table - Plugins - DatoCMS

I’ll be making one for a project I’m working on. I’ll make it available once it’s done. But it will probably be a couple months before I am able to complete it.

The limitation I see may be around validation, and customer field editors within the plugin itself, like a Markdown editor for example. I think most things can be done in the plugin though given enough effort.

2 Likes

Hi guys, just wanted to do a little update here from DatoCMS team!

We are perfectly aware of this limitation, and we think about it more or less every day :smiley: We are just waiting for the right moment to deal with this, and I’d say that by the end of the year we should be able to close the matter once and for all.

We are still 100% convinced that blocks are a great thing, and we are proud to be one of the few CMS (or the only one?) to have a feature so powerful:

  • Blocks allow you to create repeatable and reusable structures
  • Blocks are 100% customizable
  • Blocks do not count towards your plan records limit
  • Blocks keep your project clean, avoiding orphaned records everywhere in your project
  • Most importantly, on top of everything else, blocks keep content 100% structured (no random JSON, validations enforcement, possibility to reference other records/assets without workarounds, etc.). This means simple data migrations, data integrity and full control of your own content, which is what we care the most.

But… as @roger says, we also know that, without the possibility to nest them, it’s hard to decide if a “component” should be a model or a block. Even worse, a block may have to become a model in the future, simply because it might be requested within other blocks.

So. Hold tight. We’re getting there. And thanks for your support!

4 Likes

Thanks for the update @s.verna. Looking forward to an update. I know it will be well thought out and on par with everything else you guys do.

1 Like

That’s amazing, @s.verna ! Thanks for the update, and really looking forward to it :slight_smile:

1 Like

Nice to read it’s WIP.
However, do you guys already have a release date already?
Not gonna lie it’s kind of a blocker right now.

Thanks!

ETA is Q4 2021. We hope to complete it even before, but you never know :man_shrugging:

6 Likes

Thats great to hear. This will be a gamechanger for me and my team using Dato on a current new site build for a client. We need this to complete many features that are in the works. The sooner the better

2 Likes

That’s helpful to know it’s in the pipeline @s.verna, looking forward to seeing it. At the moment I’m really struggling to see where to use blocks compared to models (in most of my cases I seem to find that my reusable blocks that can’t be reused!!). This should address that.

If it’s a struggle to do full nesting, you could do a partial solution of inlining. A bit like subclassing an object, you could get all the fields from one block and add a field to them to form a new one.

1 Like

hi @tom2 maybe this page could help with the comparison :slight_smile: Blocks - DatoCMS

Hi team!
Any updates on the ETA of this feature? It would be really helpful for our use cases.
Thanks!

hey @leticia no real ETA, but we are doing a final round of testing. We need to finalise the documentation and then we’ll release it. So very soon, but we don’t have deadlines. When it’s ready it will be released. Very likely in the next month or so.

2 Likes

Update: we’ll be able to release nested blocks in October.

Here’s a sneak peek :wink:

3 Likes

Hurray! That’s great news :fireworks:

We are live: The wait is over: Nested Blocks are here! - DatoCMS !

6 Likes

This is amazing news, thank you DatoCMS team!!!

I just used Nested Blocks to build a FAQ block (with nested question/answer pairs), and it worked beautifully!

Someday, I’ll migrate my existing Columns and Form model/link monsters into this new tidy nesting :slight_smile:

3 Likes