WordPress.org

Ready to get started?Download WordPress

Forums

How to stage and review revised pages (not new pages) (13 posts)

  1. sethpackham
    Member
    Posted 1 year ago #

    We are adopting WordPress for a large new project where it needs to function as a content management system (CMS), not just a blogging platform, with pages being constantly revised.

    So, one real use case we have is that content owners need to revise multiple pages at one time, and stage those changes in a staging environment, prior to promoting or publishing the revised content to production website. We know how this works for new pages, but it appears that WordPress does not support saving "revisions" to existing pages in a draft or staged form for review.

    Question: What WordPress, programming, or devops techniques are available to meet this requirement to review revised content before publishing?

  2. Krishna
    Volunteer Moderator
    Posted 1 year ago #

  3. sethpackham
    Member
    Posted 1 year ago #

    Hi Krishna, I'm very experienced with WordPress as both a user and a theme developer, and I'm aware of how it stores a revision history as you make changes to pages and posts. However, these do not answer my question.

    My question is how to use WordPress to "stage" revisions to existing pages so that reviewers can see the changed content for the website before it is published.

    Put another way ... how could I edit 10 existing pages, show these changes to a client, then promote the changes in batch?

  4. esmi
    Forum Moderator
    Posted 1 year ago #

    Short answer: you can't unless you find a suitable plugin.

    This kind of advanced versioning functionality isn't present in WordPress core.

  5. Mike Schinkel
    Member
    Posted 1 year ago #

    Hi Seth,

    My team looked at doing this for a client but the client ultimately postponed the requirement. We discussed two ways to do this, use Ramp from Crowd Favorite or code it ourselves. In either case we came to the conclusion that we needed two WordPress installs; one for a staging site and the other for the live site.

    Hope this helps.

  6. sethpackham
    Member
    Posted 1 year ago #

    Thanks for the responses. Ramp from Crowd Favorite is something we've been looking at. And we have also been exploring how best to manage multiple WordPress installs to have a flow for both code changes and content changes. The code change is the easiest one to put our minds around, but is still tricky when migrating DBs from production to dev to staging.

    1. Development environments on each developer's localhost mirroring latest content from production db.
    2. Staging environment for formal testing and staging of code before pushing to production. Also perhaps the place for all content production using tool like Ramp.
    3. Production environment. Latest content and code.

    It is starting to look like commercial tool Ramp is best and only option outside of copying and pasting content.

  7. Mike Schinkel
    Member
    Posted 1 year ago #

    Yes, it's complicated. But it sounds like Ramp may not be a solution for you because it's really about deploying content assuming a stable code-base, not IMO for dealing with both changing code and content.

    My team has been working on a set of tools for resolving the deployment challenge for our main client, but they have been finicky about supporting our efforts to resolve the issue completely. Thus we don't have a completed solution yet, but we will continue working on it as we have free time until we do.

  8. sethpackham
    Member
    Posted 1 year ago #

    I see what you mean. Perhaps then for Ramp to be effective, you basically have two "production" WordPress instances with Ramp powering the movement of content: One where content is staged and written but is not visible to the public, and the other where the content is pushed for the public domain. In this case, couldn't there still be additional development staging and local environments for testing our theme and plugin changes before pushing these to the Ramp instances? We plan to automate the regular migration of production DB to staging and dev environments for rich testing for our programmers.

  9. Mike Schinkel
    Member
    Posted 1 year ago #

    Yes you absolutely could have an additional staging server, but you'll have the same problems migrating your changes to the Ramp servers as you previously had been contemplating. Those are issues we've been working on literally for the past two years, albeit we've mostly been doing in a spare time. We think we've identified how to do it, which is a bit involved, but now we just need to get it all implemented.

  10. Mike Schinkel
    Member
    Posted 1 year ago #

    Question: I assume you are using source code control like Git or Mercurial?

  11. sethpackham
    Member
    Posted 1 year ago #

    Hi Mike. Yeah, we have our entire WP package, including themes and plugins, in Rational Team Concert for source control -- it handles revision control as well as our builds to rsync source code to various web servers (staging, production, etc). So, I can pretty easily decide which server to push code changes to with just a few clicks. This model seems to work well for the development of our theme and plugins. It's when we mix in the need for our content owners to manage content in a CMS-like way where I'm getting stuck mentally. What tools are you developing. Are they open source?

  12. Mike Schinkel
    Member
    Posted 1 year ago #

    They will be open-sourced because we'd like to see people use and contribute to them. But right now they are mostly PHP scripts that haven't been generalized enough to publish as a generic tool. We keep looking for clients who would fund us to complete the development (because I have to pay my team for things I get them to work on) so we can get it done sooner vs. later. Any chance we should talk offline?

  13. sethpackham
    Member
    Posted 1 year ago #

    Yes, I'd love to talk to you to see if our goals line up. If you have an office number I can call, or an email address, I'll try to get in touch. My email is my username @ gmail if you'd rather send it there.

Topic Closed

This topic has been closed to new replies.

About this Topic