One of the key features of a corporate CMS is the ability to update pages after they have been published. Part of this update process is to send out the updated pages for review before they are pushed “live.” Out of the box, WordPress (WP) does not do this.
Using WordPress out of the box, once you “publish” a web page, it is live. If you then return to the page in edit mode and update the page, you are actually changing the live published version. To the left is the “Publish” panel on the WP edit page.
When a new user first looks at this, they are tempted to think the solution is to change the page’s status from “published” back to “draft” or some other status. But doing so will remove the page from the live site. Not exactly a desired outcome.
There are two solutions that I have found. One is a commercial product, and the is other a free plugin. The commercial product is RAMP by Crowd Favorite. RAMP supports the model of a staging server which then publishes selected pages or posts to a production server. This is a traditional approach taken by many enterprise-level CMSs. But if you don’t want to setup and maintain two WP sites (staging and production), and don’t want to pay even a modest cost ($249), then you should look at the plugin solution.
The plugin solution we use is named “Post Forking.” Its approach is to make a copy of the published page (a fork of it), make edits to the copy, and send the forked page out for review. Once the forked page is approved, you merge the forked copy back into the original page, which can then be updated (republished).
Like most all of WP plugins, installing “Post Forking” is easy. Use the “add new” plugin feature of WP, search for “Post Forking,” click the “Install Now” link, and after it has been downloaded and installed, click the “Activate” link.
You will now see a new Admin section on your Admin menu labeled “Forks.”
The settings for the new plugin are simple. Basically you can tell WP what types of posts/pages are allowed Forks.
Now, when you go to edit a published page, instead of editing the original page you create a forked copy of the page. Here is the “Fork” panel which is now above the “Publish” panel on a page I want to edit.
I simply click the “Create New Branch” button and a copy of the page is made with a new permalink. Here is an example of a orginal page permalink: http://client-dev/products/abc-products/ and and example of a forked copy permalink: : http://client-dev/products/abc-products-2/
The new page is stored as a custom post type (Fork) and you can preview it like any other post, sending out a review link to the Fork preview.
The nice thing about the plugin, is that since it is uses standard WP techniques it integrates well with other plugins such as “Edit Flow” and “Members.” Edit Flow is a workflow plugin which adds editorial comments to the edit page of the Fork. Members is a role manager plugin which also sees the new post type of Fork.
When the forked version is approved, a user with the “merge” rights can merge the changes into the published version of the page.
Unfortunately it doesn’t work with Carrington Build, which is an add on to WP that gives the author a powerful editing environment with layout controls. Heavy sigh… I guess you can’t have everything.
But since Carrington Build is from the same company that offers RAMP, this might be the solution for those who need the advanced editing. If you can live with standard WP editing then the Fork plugin might be just what you need.