Hi @danny,
Thanks for the suggestion! Have you seen a good implementation of this anywhere?
It seems like “multiple future revisions” would be quite a difficult thing to change-track across versions without some sort of git-like branching model — which editors probably aren’t too familiar with, no? Our current linear versioning system wouldn’t really work well for something like this (like what happens if they need to make a change to the existing version, or one of the future versions, but not all of them?)
As an alternative, I think some of our customers accomplish a similar thing just by having multiple independent records set to publish at different dates. How you query this is up to you, e.g.:
- The frontend could do it by itself (by querying a model, sorted by most recent publish date first, limit 1)
- Or you could encode this into the CMS itself, like:
- The
homepagemodel could have a multi-link field calledscheduled_heroes, linking to a separate modelhero - Each record in the
heromodel has its own publish state/date (scheduled or otherwise) - When building the home page, the frontend gets all the linked
scheduled_heroesand chooses either the most recent one or all the published ones (if a carousel). - You can use validation rules to also re-publish the frontpage whenever a linked
herorecord publishes
- The
This is kinda similar to (but actually the inverse of) the “bulk publishing” workaround: Bulk Scheduled Publishing in DATO CMS - #3 by roger
Would that work for you?
Otherwise, could you please help us think through some implementation examples here, like any you have in mind or that you’ve seen in the wild? The branching/forking model in particular seems quite difficult to reason about… what’s a clean way to do that?