Best practice for promoting pages to different environments?

default discord avatar
senseicainlast year

I’m working on defining our versioning / release promotion system for Payload CMS, and was wondering if there was a right way to go about this. For reference, in Contentful (🤮) you can have dif env versioning for the same page: dev, stg, or prod.

I see the versioning system, but don’t see a native approach for envs.

I’ve considered creating a duplicate of the page for each env, but then versioning branches off & the collection will clutter. Now I’m thinking of having separate collections (which would involve scripting), or introducing a meta field for env & adding in an Admin drop down to cycle through the latest versions for each env.

Any thoughts here?

  • discord user avatar
    last year

    hey @senseicain this is a great question. I've used Contentful lots before as well and I know exactly what you're talking about. We just rely on drafts but there's probably a really elegant way to do this with a few fields. @seanzubrickas we should write up a tutorial for this

  • default discord avatar
    senseicainlast year

    Hi @jmikrut thanks for the response. That makes sense. So ideally we’d have lower envs query for the draft version of the document

    I’ve been testing out the draft system, and everything seems to be working fine so far.

    Wanted to offer a few points of feedback on versioning. 1 - it’d be really nice to have a numeric versioning system (wouldn’t need to be full on semver) to make it easier to talk through. Date stamps & uuid’s aren’t very human friendly 🤖. 2 - you should be able to view the full document at specific versions in Admin. Only showing a change log might not be the best option for content ppl 👍🏻

  • default discord avatar
    lvvittorlast year

    +1 for this feature request

  • default discord avatar
    ailundefined7 months ago

    I know that this topic is quite old but by seeing lack of follow up I would like to check how things are looking when it comes to different environments.

    And I don't want to sound rude, but relying on drafts works great for a few people, not few teams at the company.

    At my company we are considering different Contentful alternatives and we are utilizing at least one (at times 2 copies) of production, sometimes one or two of the staging and multiple environments cloned from dev env for whatever developers are working on.

    It is not recommended to work on the development environment as we are using visual regression on development (and staging and production) so any changes that would be made would be breaking snapshots.

    Ideal scenario would be a possibility to have the root environment (production) that could be copied into multiple environments that then could be copied from each other (so we could create a new environment from development env for whatever new feature developer would work on).

    In a nutshell: what's the current status on the multiple environments topic excluding drafts (which would ideally be supported at every environment level)?

    (keep in mind content refresh between environments from prod and migrations)

Star on GitHub


Chat on Discord



Can't find what you're looking for?

Get help straight from the Payload team with an Enterprise License.