Pantheon Community

Staging Content Changes

A fundamental part of the Pantheon platform is the idea that code changes go “up” toward Live and content changes comes “down” from Live.

Basically, by default, content editing is optimized for speed (press save and changes are public). Code changes are optimized for safety (Dev -> Test -> Live).

I’m curious what Pantheon customers are using when the content workflow needs more safety? I know of some teams (particularly in WordPress) who will make edits in a Multidev and then just replace the entire Live database with the one from the Multidev. That’s a heavy-handed approach that we discourage because it can lead to data loss. But sometimes it’s easier that replicating a wide set of changes.

I used to maintain Workbench Moderation in Drupal 7 which allows for a Draft -> Needs Review -> Published workflow within a Drupal site for single pieces of content.

What’s your default solution when content changes need more safety than published/unpublished?

  • Are you using the experimental Workspaces module in production?
  • What about putting content in Git so that it can have a config-like workflow? I’ve done some experimentation with Tome Sync to import/export content changes.
  • Anyone using web services to sync content changes from a multidev to Live?
  • What’s the best solution in WordPress?
1 Like

Following! For us, we’ve used moderation in the past and, while it can be a little confusing for our stakeholders at times, it does work well. Alternatively, we’ve granted access to the test environment for some of our users who want to test out how something will look on live and then they will simply re-create their tests in live when they are ready. It’s not great for a lot of big changes, but, it works for them to have a separate environment. I’d love to hear from others to see how they handle this as we do have a need for more flexibility in this area.

1 Like

I have been trying to figure out best practice for this for years. With Drupal 8 now, I usually do all the changes in a multi-dev, and when I’m done do a “drush cex”, then import the config so that I can push the yml files to dev. This way at least I don’t have to recreate the config (views, content types, fields, etc.) in live.