Allow creators to intersperse record links and blocks in any order

Hey Dato community! I would need some advice regarding when to use modular blocks and when to use record links for a marketing site. I want the creators to flexibly be able to compose the order of elements on each page. In the docs, you are recommending using the modular content field for this, but I see a problem there. For a typical site, elements such as a newsletter signup or some CTAs are found on many pages with identical content. This means a link to a model record is best for these elements, right? So that it can be changed in one place, and be changed everywhere on the site. But then there are other elements that are specific to the page in question and not repeated with identical content anywhere else so a model would be overkill and a block better, correct? But I can’t figure out any good way for the creator to flexibly be able to intersperse both types of elements after another as they wish. Do I have to use the modular content field and then for each element that is a record (eg newsletter), I create a block (eg newsletter_block) that contains just a link to the newsletter record? Any tips and tricks would be appreciated!

Hello @simon3 and welcome to the community!

As you said, as a general rule:
If you want the content to be constant across all instances of it, using record links is the way to go
If you want the content to be mutable across all instances of it, and have a constant schema, modular blocks is the way to go.

When it comes to mixing those two approaches to allow editors to move them around between them, having modular blocks with link fields inside of them is the way to go as you said as well :slight_smile:

Soon we will be releasing a new Demo project that uses those concepts extensively, so you can get some schema inspirations from that once its out