The WordPress site content on production is modified by other users.
Is there a safe and proven workflow that prevents overriding the modified data (notably database and the upload directory) and synchronizing it with/backing up to development?
VersionPress looks like a solution for syncing.
Are there any recommended approaches from the Roots/Trellis team?
That’s why we’re also building an environment where VersionPress-like functionality is provided out of the box. The technology itself is a bit less powerful but still does database merging pretty well and the main point is that it works reliably for any site. It’s not fully launched yet but close.
In the future, we have some interesting things to do with VersionPress. This year should be about finalizing the plugin support format and writing the first couple of definitions for top 100 plugins or so. I should also point out that there is Mergebot and they’re creating their definitions as well. It’s early days but I think that in the future, there will either be a unified format or some converter between VP and Mergebot definitions because it doesn’t make sense to maintain basically the same thing twice.
Overall, this is a really interesting problem and it’s good that it’s finally getting some solutions.
For development/staging I transfer down from production (no syncing/merging).
The data doesn’t have to be recent at all, but it must be a good representation of the data that is used on production site so the theme and plugins can be tested with it.
There are other services (that aren’t free) that can sync WordPress content between sties, but I really like to see VersionPress becoming ready as it is opensource.