[RFC|Accepted] Soft Delete

These requests for comments/change have lead to an implemented feature that has been successfully merged into the 3.1/Ascraeus branch. Everything listed in this forum will be available in phpBB 3.1.
Post Reply
Oleg
Posts: 1150
Joined: Tue Feb 23, 2010 2:38 am
Contact:

Re: [RFC|Accepted] Soft Delete

Post by Oleg »

I am not sold on the need for unapproval as Pony just described. First, I cannot imagine this being a frequent use case. Second, if this is true you can report the post. Right now if you really need to hide it you would split it to trash can; with soft delete you can simply soft delete it. Until there is a demonstrated need for the unapproval feature I wouldn't worry about implementing it.

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

Re: [RFC|Accepted] Soft Delete

Post by Pony99CA »

Oleg wrote:I am not sold on the need for unapproval as Pony just described. First, I cannot imagine this being a frequent use case.
Here you go: Moderation tool: Invisible/Visible posts. While soft delete would handle this, it sort of violates your "approval and deletion should be separate concepts" principle. Unapproving a post would put a post in the moderation queue just like a post from a Newly Registered User or a user without permission to post without approval. Soft deleting would require a different flow to restore the post, and an Admin might hard delete the post thinking that the Moderator wanted it deleted.
Oleg wrote:Second, if this is true you can report the post. Right now if you really need to hide it you would split it to trash can; with soft delete you can simply soft delete it. Until there is a demonstrated need for the unapproval feature I wouldn't worry about implementing it.
A user has to report a post, but a Moderator shouldn't have to.

A Trash Can forum seems to have some problems:
  • It requires the admin to know about that kluge.
  • It requires quite a bit of setup.
  • When a post is moved to the Trash Can, if it is decided to restore the post (perhaps after editing), how does somebody know where to restore it to? (You can make an educated guess based on your forum structure, but there could still be some ambiguity.)
An unapproval process fixes most of those problems. Soft delete does, too, but you're overloading the soft delete capability. As I said, I strongly believe that if a user soft deletes a post, that user should also be able to restore it, which doesn't sound like the case today. If a Moderator soft deletes a post, you might not want the user restoring it.

If people bought into unapproval, I suspect that most of the code done for moderator soft delete could probably be reused for unapproval, too. (Or, as I mentioned above, you could turn moderator soft delete into unapproval and only allow users to soft delete.)

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
nickvergessen
Former Team Member
Posts: 733
Joined: Sun Oct 07, 2007 11:54 am
Location: Stuttgart, Germany
Contact:

Re: [RFC|Accepted] Soft Delete

Post by nickvergessen »

Unapproving posts is not being added, soft delete should be used instead.

One last big thing remaining:
Currently topics have a topic_replies (approved) and topic_replies_real (approved + unapproved). Basically that seems to be okay, but with softdelete it seems to be not suitable anymore.
The problem is, that we can not determinate whether there are soft deleted posts or unapproved posts in a topic, as both would be in topic_replies_real - topic_replies. The easiest would be to switch from that system to something like:
topic_posts_approved, topics_posts_unapproved, topic_posts_softdeleted

However that would quite break some bc. However with the fact, that we rename post/topic_ approved to *_visibility, bc is broken way more, so I would just go with it?
Member of the Development-TeamNo Support via PM

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

Re: [RFC|Accepted] Soft Delete

Post by imkingdavid »

nickvergessen wrote:However that would quite break some bc. However with the fact, that we rename post/topic_ approved to *_visibility, bc is broken way more, so I would just go with it?
Yeah
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|Accepted] Soft Delete

Post by Pony99CA »

nickvergessen wrote:Unapproving posts is not being added, soft delete should be used instead.
I guess that it will have to be, but that's not ideal. It's better than the current system (of nothing), though, but it doesn't seem like a lot of extra work to add Unapproval now that soft delete is implemented (especially given your next point below).
nickvergessen wrote:One last big thing remaining:
Currently topics have a topic_replies (approved) and topic_replies_real (approved + unapproved). Basically that seems to be okay, but with softdelete it seems to be not suitable anymore.
The problem is, that we can not determinate whether there are soft deleted posts or unapproved posts in a topic, as both would be in topic_replies_real - topic_replies. The easiest would be to switch from that system to something like:
topic_posts_approved, topics_posts_unapproved, topic_posts_softdeleted
Out of curiosity, when do those get used? Is (topic_replies_real - topic_replies) used to determine when the unapproved posts icon is displayed next to the topic title in the viewforum page? Is it used for something else?

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
EXreaction
Registered User
Posts: 1555
Joined: Sat Sep 10, 2005 2:15 am

Re: [RFC|Accepted] Soft Delete

Post by EXreaction »

As far as topic/post counts go, what I did with my User Blog Mod when I wrote it all from scratch, I believe I made a single string field that went like:
"replys:unapproved:soft_deleted" (e.g. "12:3:1").

What might actually be best would be to use two fields. Have one with just an integer being what the "public" can see (if things can be sorted by reply count, use this), then one field hold a serialized string of 'unapproved' => 2, 'soft_deleted' => 1. This way if you or anyone else wants to add more in the future they can do so easily, and it's very easy to parse.
Pony99CA wrote:Out of curiosity, when do those get used? Is (topic_replies_real - topic_replies) used to determine when the unapproved posts icon is displayed next to the topic title in the viewforum page? Is it used for something else?
I believe they are used for pagination.

User avatar
nickvergessen
Former Team Member
Posts: 733
Joined: Sun Oct 07, 2007 11:54 am
Location: Stuttgart, Germany
Contact:

Re: [RFC|Accepted] Soft Delete

Post by nickvergessen »

Pony99CA wrote:Out of curiosity, when do those get used? Is (topic_replies_real - topic_replies) used to determine when the unapproved posts icon is displayed next to the topic title in the viewforum page?
Well the first thing is to display the correct number of posts for moderators, but that would also work with the current system. The other thing is what you mentioned. And for indicating that we need to differ between soft delete/unapproved/both also int fields would make it easier, when a posts status is changed then bit fields, as we don't need an additional query, to check whether there is still an other unapproved/deleted post.
Member of the Development-TeamNo Support via PM

User avatar
nickvergessen
Former Team Member
Posts: 733
Joined: Sun Oct 07, 2007 11:54 am
Location: Stuttgart, Germany
Contact:

Re: [RFC|Accepted] Soft Delete

Post by nickvergessen »

Oleg wrote:unapproved -> pending? Not at all a fan of negatives especially in column names.
currently the columns are:
Option 1:
  • forum_topics
  • forum_topics_unapproved
  • forum_topics_softdeleted
Oleg also suggested to use topics_visible and said that deleted would be enough, so we would have:
Option 2:
  • forum_topics_visible
  • forum_topics_pending
  • forum_topics_deleted
however the functions and ui talk about approving and disapproving aswell as unapproved posts/topics, thats why I would prefer:
Option 3:
  • forum_topics_approved
  • forum_topics_unapproved
  • forum_topics_softdeleted
Can you please vote for the options 1, 2 or 3?

(Of course this also applies to the topic_posts_* columns and the forum_posts_* )
Member of the Development-TeamNo Support via PM

User avatar
naderman
Consultant
Posts: 1727
Joined: Sun Jan 11, 2004 2:11 am
Location: Berlin, Germany
Contact:

Re: [RFC|Accepted] Soft Delete

Post by naderman »

On the subject of language we should call "soft deleting" something "trashing" and "hard deleting" "permanently delete" which I think will be clearer to users unfamiliar with this exact feature, but familiar with the concept of a trash can from their operating system. Otherwise the difference between soft and hard might confuse users.

User avatar
callumacrae
Former Team Member
Posts: 1046
Joined: Tue Apr 27, 2010 9:37 am
Location: England
Contact:

Re: [RFC|Accepted] Soft Delete

Post by callumacrae »

I'm not really a fan of the term "trashing" - it is an extremely American word, and phpBB uses en-GB. However, en-GB doesn't really have any suitable equivalents.

I personally would vote for "deleting" and "permanently deleting".
Made by developers, for developers!
My blog

Post Reply