WordPress.org

Forums

wp cms - a need for static pg history (10 posts)

  1. PrimeLens
    Member
    Posted 3 years ago #

    I use wp v3.3 as a cms for corporate sites, the largest being a 120 page dual language site (60 static pages in chinese, 60 in english).

    As wp moves to also be a cms, I see a need for static pages to have a history state.

    The main purpose of this would be to provide a mechanism for draft and publish and to provide a rollback to previous version of a page without importing a site-wide xml from backup.

    Since static pages are stored as posts in mysql - the implementation I would like to see is that of a stack. The bottom of the stack is the oldest version of the page. The second from the top is the Published page, the top is the Draft state of the page. A flag would be needed to indicate if a draft state exists.

    A great implementation would be to have the stack 5 deep. An alternate would be to have a user defined depth. Great job on WP so far and thanks for listening.

  2. As wp moves to also be a cms, I see a need for static pages to have a history state.

    All posts and pages have revisions already.

    If you need better control over them, grab a plugin: http://wordpress.org/extend/plugins/revision-control/

  3. PrimeLens
    Member
    Posted 3 years ago #

    All posts and pages have revisions already.

    Err .. where?
    If a static page is already published and I send a list of updates to it to a junior account exec how can they add their amendments to that static page and save those amendments for later approval by a senior without them appearing on the site?

    grab a plugin:

    Don't get me started on plugins. Case example, take a look at one of the best supported plugins NextGen Gallery. Its currently not working when viewed in the Chrome browser.

  4. Mike Schinkel
    Member
    Posted 3 years ago #

    Err .. where?

    As my dad used to say, you catch more flies with honey than with vinegar...

    If a static page is already published and I send a list of updates to it to a junior account exec how can they add their amendments to that static page and save those amendments for later approval by a senior without them appearing on the site?

    That's not what you asked for, you asked for revisions. If you had asked for editorial workflow then you probably would have gotten a different answer. You might have gotten this instead:

    Don't get me started on plugins.

    Don't get me started on people who do not understand what plugins are or how they work and those who take one plugin and extrapolate that all 17000+ plugins are the same.

    First, a plugin is PHP code just like WordPress core. Also you need to remember that all the plugins in this repository are offered to you free of charge and so your expectations of perfection are a bit ungrateful because perfection in software development is very hard. If you want something to fit your exact requirements that will be fully supported for your needs, I'm sure that paying a market rate will make it happen.

    But if you want free (which most people do) then don't look a gift horse in the mouth, so to speak.

    Sounds like what might meet your needs is EditFlow. It's a plugin, but don't knock it before you try it, and if you need it to work better consider paying the developers to address your needs.

    P.S. And yes, I am responding with "vinegar", but I wasn't the one asking for help and I was annoyed at your dismissal of @Ipstenu who works hard for free to help people so I wanted to get off my chest.

  5. PrimeLens
    Member
    Posted 3 years ago #

    If you read my post carefully you will see that I was not asking for help.
    This is Requests and Feedback section.

    Sure you can be annoyed at my tone - but your fellow moderator rubbed me up the wrong way with his dismissive response. He suggested I use a plugin when I'm clearly suggesting feedback and request to the WordPress application itself.

    My original post outlined a useful feature that I feel would be easily implemented by adding fields to existing architecture. Php code can then manage the stack.

    Can we please get this thread back on topic instead of talking about plugins?
    This was not posted in Plugins and Hacks forum.

  6. PrimeLens
    Member
    Posted 3 years ago #

    In an effort to move this thread back on topic I want to further elaborate on why I called it a history state.

    Because thats what it is. Yes ... it's immediate application is revision control but a history state is more than that. It allows rollback to a previous version of the page without resorting to site wide retrieval through xml backup. (Import XML is the entire site, not specific page by page)

  7. Mike Schinkel
    Member
    Posted 3 years ago #

    but your fellow moderator rubbed me up the wrong way with his dismissive response. He suggested...

    To be clear, it's a she, but you wouldn't know that from the name or avatar.

    it's immediate application is revision control but a history state is more than that. It allows rollback to a previous version of the page without resorting to site wide retrieval through xml backup. (Import XML is the entire site, not specific page by page)

    Since we're being civil, please take my reply as such. Unless I completely misunderstand you you'll find that WordPress already does exactly what you asked for in that last paragraph; it allows you to restore to a prior revision simply with just a few clicks, not XML backup/restore required. No plugins are even needed, though Revision Control (written by one of the core WordPress developers) does make things a bit easier.

    Check out theses screenshots:

    http://screenshots.newclarity.net/skitched-20111230-022643.png

    http://screenshots.newclarity.net/skitched-20111230-022843.png

    Hope this helps.

  8. PrimeLens
    Member
    Posted 3 years ago #

    Thats a great response and thank you for not fobbing me off to a plugin.

    I had seen the 'more recent autosave' alert before and therefore knew at least one state existed. However I did not know that the dropdown screen options contained a revisions field. Thank you for that. This does solve some of the problems faced in a working environment - but not all.

    The biggest issue at the moment is the situation I described where a current static page stays live while a junior account exec makes alterations an saves their work for a superior to approve. I can't see anywhere or anyway to within the platform or revisions to make this happen without resorting to the risk of a plugin.

    I also ran a test (based on your last informative post) to see if revisions are part of XML import and export and from what I can see they are not. This would mean that a backup retrieval situation (eg. caused by a hacker) the immediate disruption is solved but revisions are lost. Its worth noting that a history state of a stack structure in the existing tabled data as I described could easily be incorporated into XML import/export. The pages in the history stack being flagged as draft except for the live one.

    Therefore I still think there is merit to my original suggestion and I hope the core dev's see likewise or can adapt the idea into something better.

  9. I was doing a drive-by reply initially, since it looked like a simple misunderstanding of what we already have in WP.

    I generally assume you've done searches before posting suggestions :) Just in case that's wrong, and you aren't familiar with how WP natively handles post revisions, here's the .com version of the doc, which actually is really helpful: http://en.support.wordpress.com/posts/post-revisions/

    The biggest issue at the moment is the situation I described where a current static page stays live while a junior account exec makes alterations an saves their work for a superior to approve. I can't see anywhere or anyway to within the platform or revisions to make this happen without resorting to the risk of a plugin.

    In this case, you're going to have to 'resort' to the risk of a plugin.

    Most of us are exceptionally cavalier about suggesting plugins for one simple reason: A plugin is where things START. Many of the awesome features in WP today were once plugins. Once they're used by tons of people, they may find their way into the fold, but not always. And surprisingly, there's very little 'risk' to using a plugin. The whole point of them is to extend and expand WP in ways than 80% of the world don't need, but 20% need desperately. It keeps WP smaller, which is good.

    There are different approaches to maintaining the data on the site. Editing a live page will always be somewhat problematic, no matter the CMS. The best I know of for rollbacks is MediaWiki, which was born with that as a demand. There are serious drawbacks to that approach, one being DB bloat (god, I hate looking at my wiki DB), and the other being managing all those revisions.

    Part of the problem with adding this into core is finding a 'default' workflow that would work for the majority of users. Some would want to have an 'approve changes' button, others a 'revert to previous version...' (which technically you can already do), and someone else would want something else entirely!

    It's a very complex situation. And for now the answer is 'find a plugin that does what you want, or as close to it as possible. Fork if needed.'

    (BTW, your best backup is never the XML file, but your database. Invest in good server backups, from files to database, and you can't go wrong. It's possible that VaultPress backs-up your revisions, but you'd have to ask them.)

  10. Mike Schinkel
    Member
    Posted 3 years ago #

    ... and thank you for not fobbing me off to a plugin.

    I can't see anywhere or anyway to within the platform or revisions to make this happen without resorting to the risk of a plugin.

    Again, as @Ipstenu states, I think you discredit the idea of using a plugin unnecessarily. In my experience it appears plugins have been made the scapegoat of inevitable problems with WordPress that arise out of 70 million sites using it, many of which use it differently.

    Most often those who are preaching that plugins are bad are those who really don't understand how plugins work compared to themes or WordPress core so plugins find themselves inappropriately being the frequent target of demonization. Frankly, the person most hurt by a distrust of plugins is the person who needs them but because of a bias against them chooses not to try them.

    People who won't use plugins are a lot like a Steve Jobs who wouldn't get conventional medical treatment for cancer. And you see how well that worked for him.

    where a current static page stays live while a junior account exec makes alterations and saves their work for a superior to approve.

    As @Ipstenu pointed out, ~80% of people likely don't need what you need, and of the 20% who do need it, many will need it to work differently from the others who need it. I count myself as a pretty hard-core plugin developer and yet I don't see one obviously correct technical solution nor one obviously correct user-experience for what you are discussing.

    Posts always have a "most recent version" and that most recent version is either published or in some other status that is not published. What you are asking for instead is either the ability to branch posts and revisions, assuming you want to allow more than two people to work on alterations, which can get pretty complicated and would likely require non-trivial changes to the WordPress database structure, or you are asking for a staging feature.

    We are actually addressing this for one of our clients but it requires two installations of WordPress, one for the "live" site and another for the "staging" site. The live site waits for content to be approved and the staging site is where people are able to edit content without having to the unapproved versions viewable. There is a commercial plugin we are using at the core of our solution called RAMP.

    We decided against having staging built into a single site because many of WordPress' internal assumptions assume one current post, not several and we felt every way we could implement built-in staging would be inelegant, so we didn't.

    I also ran a test (based on your last informative post) to see if revisions are part of XML import and export and from what I can see they are not. This would mean that a backup retrieval situation (eg. caused by a hacker) the immediate disruption is solved but revisions are lost. Its worth noting that a history state of a stack structure in the existing tabled data as I described could easily be incorporated into XML import/export. The pages in the history stack being flagged as draft except for the live one.

    I'm pretty sure that nobody who is serious about their WordPress site uses XML exports for backup. As @Ipstenu said, backup your MySQL database instead. We've been using the commercial plugin BackupBuddy but I hear BackWPup is good, and there are a lot of other backup plugins that are good too. And if you don't want a plugin, buy a copy of Navicat or similar and download your MySQL database directly (I use Navicat daily.)

    Therefore I still think there is merit to my original suggestion and I hope the core dev's see likewise or can adapt the idea into something better.

    As someone who has made literally hundreds of WordPress feature requests over the past 3 years I have a little experience here. I can't tell you what they will agree to add but I can pretty much tell you what they won't add and your request is one of the "won't adds", at least any time in the next few years, if ever. Most bloggers (~80% of WordPress users) don't need this functionality and since it would add significant complexity, WordPress won't be adding it. Sorry.

    That leaves you with the following mix-and-match potential solutions:

    1. Learn to love plugins and find plugins that (mostly?) meet your needs.
    2. Modify existing plugins and/or build plugins yourself.
    3. Hire someone to modify and/or build the plugins you need.

    As an aside, in my experience the lion's share of the ~20% whose needs the WordPress core team are not addressing are business users who have more advanced needs. Because I'm in that ~20% and because I like to build solutions that can be used by a broader community my team is planning to launch a series of free GPL plugins designed to address many of the needs of the ~20%.

    Our business model will be to find companies who both need and are willing to pay for the features that the WordPress core dev team won't add and then add them to our group of plugins we'll be distributing for use by every one else who is using those plugins. And we plan to have a beta in early 2012. FWIW.

Topic Closed

This topic has been closed to new replies.

About this Topic