Hey everyone,

thanks for these recommendations, bartender =)

While we're here at the bar, chatting about blocks and theme development, maybe I can also ask the crowd a question I'm wondering about - what's the "Gutenberg way" for something like an events calendaras an example for a very common, in my case maybe the most common, WordPress workflow?

Here's my understanding:

In the pre-block world, I'd use ACF/custom fields for posts of a custom post type "event". The data would be saved to the "event" post-meta and displayed with a custom query on a custom page template or post-type archive.

Now, assuming having to build this with blocks, I would, depending on the suspected amount of "events" either create a block pattern for the individual event info and then manually create a list of said block pattern on a standard page. There is only block markup, and there is no need for a post type as long as there are only a couple of events whose display order can be handled manually.

But - this approach also means not being able to individually access a single event or rearranging the manually assembled list (save for block-parsing for individual data-points, which I suppose will be complex and out of the question performance-wise). So, if there are more than a few "events" to be displayed, even in a block world I still need a post as container of a single data unit and probably a custom post type "event" to get a queryable list.

I'd then need to write and lock a block template to limit the block editor to a single instance of a custom "event"-block (or "event" block pattern) for each "event"-post, and I'd still have to save as post meta the values of at least those blocks I want to use for the custom query. In other words: in terms of the data structure necessary, the custom block/ block pattern / block template combination is mainly a replacement for a custom fields metabox UI like ACF.

For the output I can then either use the standard query block or, more likely, a custom "display events" block that queries, creates and outputs the list of events (so basically, the functionality of the events page template or post type archive is moved into one of these blocks. Something similar would have been possible in the non-block world by moving the page template funtionality into a short code, but here the dynamic back end rendering is an obvious advantage.)

How you would go about this kind of use case in the block world? Am I missing something, potentially something important?

Thanks for any comment/ idea =)