[RFC] Post Revisions

Note: We are moving the topics of this forum and it will be deleted at some point

Publish your own request for comments/change or patches for the next version of phpBB. Discuss the contributions and proposals of others. Upcoming releases are 3.2/Rhea and 3.3.
Post Reply
User avatar
naderman
Consultant
Posts: 1727
Joined: Sun Jan 11, 2004 2:11 am
Location: Berlin, Germany
Contact:

Re: [RFC] Post Revisions

Post by naderman »

I agree that by default there is no need to delete them. However many board owners on small cheap webhosting worry a lot about the space their database ends taking up. So it should certainly be possible to enable an option to delete revisions.

As for your comparison to posts. You can delete posts if someone creates thousands. You suggested that one should not be able to delete revisions however.

drathbun
Registered User
Posts: 72
Joined: Wed Feb 15, 2006 6:40 pm
Location: Texas
Contact:

Re: [RFC] Post Revisions

Post by drathbun »

I'm saying that to delete revisions you delete the post. :) Deleting the source post should trickle down to delete all revisions of that post. If it's important enough to keep revisions, then keep them as long as the post is around.
Sometimes you're the windshield, sometimes you're the bug.

User avatar
imkingdavid
Registered User
Posts: 1050
Joined: Thu Jul 30, 2009 12:06 pm

Re: [RFC] Post Revisions

Post by imkingdavid »

EXreaction wrote:ACP->Old revision pruning frequency, Excess revision pruning frequency
default is 0 seconds, the explanation could maybe be more descriptive, especially at 0 seconds. Seconds between running the tasks seems rather short as well, would hours or days be more fitting? Maybe the user shouldn't have to set this at all?
I went with seconds because it seemed the most comment way of telling time for task frequency, from what I could tell, in the ACP. But I agree that the pruning tasks should not have to be run very often. I may provide a select box with seconds, hours, and days, so they can choose the size of the interval and then how many intervals to wait.
EXreaction wrote:One thing that is mentioned is that the oldest revision is removed when things are pruned to make room for newer revisions. I think that a good option might be to always keep the very first revision of the post, and then delete old ones starting with the second oldest, if it's fairly easy. My thought behind this is that the posts in between are probably more likely to be corrections to spelling and such, and keeping the very first might be useful when looking back to see what happened to a post.
I have considered this, and I agree that it would be helpful to always have the original revision. Of course that would mean that the original post revision would have to be excluded from the pruning tasks. I would also need to add some explanation that this is the case in a few places so people don't get confused at why there are more revisions on some posts than the limit set in the ACP, since the original revision would not count toward the maximum revisions per post.
EXreaction wrote:"Can view and manage own post revisions"
Are users able to delete post revisions and such with this permission setting? On my own board, I would like to allow users to view their own revisions and revert them, and possibly even see the revisions of other user's posts, but I definitely would not want to let them delete revisions. One of the reasons for post revisions is to make sure users can't get away with saying things, then hiding them by editing the post before a moderator or administrator sees it.
If I recall correctly, only moderators are allowed to delete revisions. I would never leave that up to the user, since the entire point of this system, aside from simply keeping a log, is to prevent people from going through and breaking the rules and then editing their posts before they get caught, or from redacting the entire contents of their posts and breaking the flow of discussion. So allowing them to delete revisions would completely nullify those purposes for having this. The post author is, iirc, allowed to view and revert revisions (unless the post is set to edit locked).
EXreaction wrote:I would do the post revisions permissions like such:
Forum level:
Can view own post revisions (can view the post revisions and revert the current post back to any one of them)
Can view other's post revisions (can view the post revisions)

Moderator level:
Can view post revisions (can view the post revisions and set any to "protected", maybe even just use the Can view post details setting for this)
Can edit posts && Can view post revisions (can view the post revisions and revert the current post back to any one of them)
I am not sure if I want to allow normal users to view revisions on other members' non-wiki posts. I personally don't see the need for that. Some users get embarrassed if they mess up their grammar or spelling or whatever and wouldn't want the whole rest of the forum to know, so I think they would feel it would be an invasion of their privacy if the revisions were viewable by other normal users.
EXreaction wrote:Does setting a revision as protected count against it's total number of revisions saved? It could cause some problems if it does (I did not look).
I believe I intended for this to be the case, but I'm not sure if it currently is. I know that I removed protected revisions from the cron tasks (so it's not counted as extra in the excess revision pruning) but I may have not yet restricted it from the automatic revision removal when editing a post or reverting a post.
EXreaction wrote:I would also add an administrative permission for editing revision settings, since a lower level bad administrator could fairly easily switch the revision history off and do a lot of damage after the fact.
I'll keep that in mind. It might then be easier to move the revision settings to their own module under the Posting tab.
EXreaction wrote:I think having the feature to delete revisions might even be unnecessary. If the administrators are worried about space, more strict limits on the number of revisions saved would do a far greater job then manually going in and pruning a few revisions, which would take forever and not really do much good without significant time. Having a log of edits is one of the reasons post revisions are so helpful, so the ability to remove things should be given out carefully, and without being able to directly delete, the only option would be to flood messages until the revision limit is reached, which would be very suspicious (but then at least there would be that trace).
drathbun wrote:Agreed. In my opinion, I would not provide the ability to delete / prune revisions at all. If a post is deleted then obviously all traces of the post are removed, including revisions (soft delete being another discussion) but I don't see any reason to provide a delete feature, or frankly even a revision limit feature. Disk space is probably the last worry of most board admins. I know it's not even on my radar, and I run a board that's coming up on 800K posts.
I understand that giving out the ability to delete revisions does take away from the original intent of storing revisions. That is, if someone deletes a revision to cover up some rule breaking or something, then this system is pointless. However, I am just trying to keep smaller websites in mind. Sure, if a website is big enough to be pushing its disk space limits, it should probably consider upgrading to more disk space.

In any case, I may remove the option to delete individual revisions if enough (i.e a few more) people think it is silly. It was more of a split second decision on my part to add it, so I don't mind removing it.
I do custom MODs. PM for a quote!
View My: MODs | Portfolio
Please do NOT contact for support via PM or email.
Remember, the enemy's gate is down.

User avatar
Pony99CA
Registered User
Posts: 986
Joined: Sun Feb 08, 2009 2:35 am
Location: Hollister, CA
Contact:

Re: [RFC] Post Revisions

Post by Pony99CA »

drathbun wrote: Can someone fill up the revisions table with thousands of pointless revisions? Ok, yes. But how is that different from someone filling up the post table with thousands of pointless posts? Both have the same impact (filling up a table with useless stuff), it's just that one is more visible than the other.
Yes, and that's a difference. ;) Also, with your suggestion, there's another difference (as Naderman pointed out) -- moderators can delete junk posts, but wouldn't be able to delete junk revisions.

Furthermore, while a moderator might be able to edit junk out of a post, I presume that revisions won't be editable (otherwise you'd lose your audit trail), so you'd have edit the post and -- here it comes -- generate another revision.

Being able to delete revisions puts the admin in control, which is almost always a good thing.

Steve
Silicon Valley Pocket PC (http://www.svpocketpc.com)
Creator of manage_bots and spoof_user (ask me)
Need hosting for a small forum with full cPanel & MySQL access? Contact me or PM me.

User avatar
Pony99CA
Registered User
Posts: 986
Joined: Sun Feb 08, 2009 2:35 am
Location: Hollister, CA
Contact:

Re: [RFC] Post Revisions -- Searching

Post by Pony99CA »

How will revisions impact searching? Specifically, will users have the ability to check a box to find text in a revision that may not be in the current version of the post? Given that you don't want to make revisions publicly viewable, I'm guessing not, but at least moderators should be able to do that. And what about for Wiki posts?

I know that I often search for words that I remembered in a post, and I may not find it if that post was edited as phpBB currently exists. It would be cool if I could still find the post, even if the text was not in the current incarnation. For example, maybe you could still show the current post, even if the text isn't in it, but at least the user would get the post that he was interested in displayed in the search results.

If you do allow this, I realize that it will probably be more expensive, so the option should obviously default to being off.

Steve
Silicon Valley Pocket PC (http://www.svpocketpc.com)
Creator of manage_bots and spoof_user (ask me)
Need hosting for a small forum with full cPanel & MySQL access? Contact me or PM me.

User avatar
Pony99CA
Registered User
Posts: 986
Joined: Sun Feb 08, 2009 2:35 am
Location: Hollister, CA
Contact:

Re: [RFC] Post Revisions

Post by Pony99CA »

imkingdavid wrote:
EXreaction wrote:ACP->Old revision pruning frequency, Excess revision pruning frequency
default is 0 seconds, the explanation could maybe be more descriptive, especially at 0 seconds. Seconds between running the tasks seems rather short as well, would hours or days be more fitting? Maybe the user shouldn't have to set this at all?
I went with seconds because it seemed the most comment way of telling time for task frequency, from what I could tell, in the ACP. But I agree that the pruning tasks should not have to be run very often. I may provide a select box with seconds, hours, and days, so they can choose the size of the interval and then how many intervals to wait.
Personally, I can't see this running more than on an hourly (if not daily) basis, so I would just allow specifiying the number of hours.
imkingdavid wrote:
EXreaction wrote:One thing that is mentioned is that the oldest revision is removed when things are pruned to make room for newer revisions. I think that a good option might be to always keep the very first revision of the post, and then delete old ones starting with the second oldest, if it's fairly easy. My thought behind this is that the posts in between are probably more likely to be corrections to spelling and such, and keeping the very first might be useful when looking back to see what happened to a post.
I have considered this, and I agree that it would be helpful to always have the original revision. Of course that would mean that the original post revision would have to be excluded from the pruning tasks. I would also need to add some explanation that this is the case in a few places so people don't get confused at why there are more revisions on some posts than the limit set in the ACP, since the original revision would not count toward the maximum revisions per post.
EX makes a good point. However, I would have the Purge All Revisions feature remove even the first version, even if automatic purging leaves them alone. Purge All seems to be an "emergency" function, so it should remove even the first revision. However, maybe you could make preserving the initial version an option (along with the option to preserve protected revisions that I mentioned earlier).

Steve
Silicon Valley Pocket PC (http://www.svpocketpc.com)
Creator of manage_bots and spoof_user (ask me)
Need hosting for a small forum with full cPanel & MySQL access? Contact me or PM me.

drathbun
Registered User
Posts: 72
Joined: Wed Feb 15, 2006 6:40 pm
Location: Texas
Contact:

Re: [RFC] Post Revisions

Post by drathbun »

Personally I don't see a point to have revisions searchable. It makes the entire system far more complex and for little to no benefit. What matters is the current revision, not how we got there.
Sometimes you're the windshield, sometimes you're the bug.

User avatar
EXreaction
Registered User
Posts: 1555
Joined: Sat Sep 10, 2005 2:15 am

Re: [RFC] Post Revisions

Post by EXreaction »

naderman wrote:I agree that by default there is no need to delete them. However many board owners on small cheap webhosting worry a lot about the space their database ends taking up. So it should certainly be possible to enable an option to delete revisions.

As for your comparison to posts. You can delete posts if someone creates thousands. You suggested that one should not be able to delete revisions however.
If they have to worry about database size, then they should set a limit to the number of revisions stored to help control it. Users are not going to be able to manage space simply by deleting old revisions they think are unnecessary manually, that would be hours of work for a couple of MB at most. An average post revision might be what on average, 1-2Kb? I don't think anyone is crazy enough to manually delete 500 posts to save 1Mb of data...

User avatar
Pony99CA
Registered User
Posts: 986
Joined: Sun Feb 08, 2009 2:35 am
Location: Hollister, CA
Contact:

Re: [RFC] Post Revisions

Post by Pony99CA »

drathbun wrote:Personally I don't see a point to have revisions searchable. It makes the entire system far more complex and for little to no benefit. What matters is the current revision, not how we got there.
As I mentioned, if you search on words that you remembered were in the post, it might matter. For example, if a moderator remembered that some user had used a racial slur in the past, but wasn't sure it was the member who had just used one now, he might want to search on that slur to decide if he should issue a warning to the user. However, the original post would probably have been edited to remove the slur, but the slur would be in the revisions.

Maybe those situations aren't highly likely, and I don't have a problem if it's not implemented (it would work just like things work today), but I wanted to get David's thoughts on it (if he had considered it).

Steve
Silicon Valley Pocket PC (http://www.svpocketpc.com)
Creator of manage_bots and spoof_user (ask me)
Need hosting for a small forum with full cPanel & MySQL access? Contact me or PM me.

User avatar
Pony99CA
Registered User
Posts: 986
Joined: Sun Feb 08, 2009 2:35 am
Location: Hollister, CA
Contact:

Re: [RFC] Post Revisions

Post by Pony99CA »

EXreaction wrote:If they have to worry about database size, then they should set a limit to the number of revisions stored to help control it. Users are not going to be able to manage space simply by deleting old revisions they think are unnecessary manually, that would be hours of work for a couple of MB at most. An average post revision might be what on average, 1-2Kb? I don't think anyone is crazy enough to manually delete 500 posts to save 1Mb of data...
Agreed, but it's not just about managing space. Consider a Wiki post, and presume that users can see all revisions of Wiki posts. Assume that some user posts a spam or warez link in the Wiki post. Does it make sense to edit the post to remove the link, knowing that users can still see the link in the revisions? I think that it makes more sense to delete the revision.

Steve
Silicon Valley Pocket PC (http://www.svpocketpc.com)
Creator of manage_bots and spoof_user (ask me)
Need hosting for a small forum with full cPanel & MySQL access? Contact me or PM me.

Post Reply