Support Multiple Scheduled Publishes on a Record

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 homepage model could have a multi-link field called scheduled_heroes, linking to a separate model hero
    • Each record in the hero model has its own publish state/date (scheduled or otherwise)
    • When building the home page, the frontend gets all the linked scheduled_heroes and 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 hero record publishes

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?