Fixing up FoF Spamblock
- Edited
I've fixed the not found
error and will release an update to fof/stopforumspam
shortly to address this (FriendsOfFlarum/stopforumspam21)
I'd like to propose that the bounty here should simply be for the requested additional features, not for the fix here. What are your thoughts @GreXXL @luceos ?
Edit: fof/stopforumspam
1.2.3
is now available with a fix for the not found
error. https://discuss.flarum.org/d/17846-friendsofflarum-stopforumspam/104
- Edited
IanM Would this then add an additional option in the forum frontend when marking Spammer, ie Hide posts/discussions alongside Hard delete, same for suspending vs deleting of the user, or would the admin settings dictate the behaviour?
I think it's extremely important that is a option for each. Meaning that the administrator can precisely choose how he wants to handle spammers in his community.
Default: Suspend & Soft Delete
Options:
- Suspend & Hard Delete
- Hard Delete User & Discussions
- Suspend & Soft Delete & Change Tag of all Discussions
Why? I take discuss as an example where spam is soft deleted to keep the history and reason for the suspension but all Tags get changed to "Test Posting" so it's not limiting the view of "All Discussions". Other communities have shared in respective posts that they'd prefer the spam gone completely.
IanM I'm thinking it would probably be best to present an option each time (hide/suspend or delete/delete), so that moderators can take appropriate action based on the use case?
From a moderative standpoint I strongly disagree. Having a option that has to be selected every time will take time on each process. I'd rather set this as a community standard on how Spam should be handled.
PS.: I hope there is some interest so you can pick this bounty up
luceos yes I am aware. I think that having a tag that is not visible of "All Discussions" that gets truncated regularly is a good thing for a big community though. This means that other moderation staff will have a chance to see why a user has been banned - or a user can appeal to his suspension if it was an mistake - while it's not getting hold back for eternity to block resources. So I think this is a valid option besides just soft / hard deleting discussions.
luceos IMO this should be a standard feature to have some purgatory where posts/discussions from a spammer are kept for some grace period and then deleted permanently. It does not need to be separate tag, just a separate view with soft-deleted posts/discussions list and some task to hard-delete them after X days.
Similar thing could be useful for users too - ban them, and after X days delete account completely.
- Edited
rob006 IMO this should be a standard feature to have some purgatory where posts/discussions from a spammer are kept for some grace period and then deleted permanently. It does not need to be separate tag, just a separate view with soft-deleted posts/discussions list and some task to hard-delete them after X days.
I agree that this would be a nice feature to have. Although I do know no other Forum software that currently has implemented such a complex spam-handling as a default feature. For the benefit of the community I think a solution in FoF-Spamblock is much more realistically achievable short term. It might be a good idea to open this as a separate feature suggestion for Flarum core.
rob006 Similar thing could be useful for users too - ban them, and after X days delete account completely.
This would have to be implemented in combination with some ban list. Otherwise you would just allow people to register again and start spamming all over again - which just makes life for moderators hard.
GreXXL I agree that this would be a nice feature to have. Although I do know no other Forum software that currently has implemented such a complex spam-handling as a default feature.
AFAIK Discourse has pretty complex rules for handling deleted posts, so they could have similar thing for spammers. PhpBB had option "delete threads inactive since x days" for subforums ages ago, it was often used as purgatory for deleted stuff.
Also, it could be simplified - focus on deleting banned users without non-deleted posts after X days. And when you delete such user, you can also hard-delete all soft-deleted posts. In this way you can leverage soft-delete system to handle mistakes or complains, but you don't need to store all these spam posts forever.
- Edited
IanM I'm thinking it would probably be best to present an option each time (hide/suspend or delete/delete), so that moderators can take appropriate action based on the use case?
+1 to this. If I were an Admin or Moderator, when I mark a user as a spammer, I prefer to get the following options:
- Suspend: Suspend the user and hide current and future posts/discussions (while maintaining visibility for all their previous posts/discussions that are not spam) until no longer marked as spammer
- Soft Delete: Suspend the user, delete this current post/discussion and hide future posts/discussions (while maintaining visibility for all their previous posts/discussions that are not spam) until no longer marked as spammer
- Hard Delete: Delete the user and delete this current post/discussion (while maintaining visibility for all their previous posts/discussions that are not spam)
And ideally, I would want to see a tag (visible to Admin and Moderator only) where suspended users are listed in an alphabetical or chronological order. This way, fellow Admins or Moderators can simply click on the user's name and see the user's last activity before they got suspended (similar to the user activity that you see when you access a user's profile). The last activity could then be made visible only to the suspended user and Admin or Moderator, but not visible to the public.
Lurker I do not agree with you - from the intention of this extension. While what has been summarized might be some exciting feature for the "normal suspension", I think it's not what "FoF Spamblock" should do. The purpose of this extension is to minimalize the work effort to get rid of a clear spam account (registered solely for the purpose of spamming). Like here on discuss, I have to do this 3-10 times each day. Any additional click that has to be done every time is far from ideal. Hence my proposal to set this once as an admin as a default behaviour for the community. Also ensures it's handled consistently.
- Edited
GreXXL he purpose of this extension is to minimalize the work effort to get rid of a clear spam account (registered solely for the purpose of spamming).
If I understood it correctly, your position on "Spamblock" is that it should be more automated when it comes to filtering the forum -- very much like how Akismet works; where:
- Regular spam is automatically hidden for admin/moderator review, and
- Blatant Spam is automatically deleted without the need for admin/moderator review.
But the proposed change is:
A. Regular spam (Soft Delete)
- Suspend User and Hide Post/Discussion (default setting)
- Suspend User and Delete Post/Discussion
- Suspend User, Hide and Change Tag of All Posts/Discussions
B. Blatant spam (Hard Delete)
- Delete User and Post/Discussion
Does this summary make sense?
Disclaimer: I'm not a developer. I just wanted to understand how this new feature proposal would work so I could support it better. Sorry for the inconvenience.
- Edited
Lurker currently, the extension "Spamblock" adds the option to mark a user as a "Spammer" within his profile. This automates indefinite (sort of) suspension as well as the soft deletion of all posts/discussions made by the user. This is the current feature set - meant to automate specific moderative actions on clear spam accounts.
I would like options within the admin panel to change the automotive actions to either:
- Suspend the user indefinitely and soft delete all discussions/posts made by the user (current method)
- Suspend the user indefinitely and soft delete all discussions/posts made by the user and change all discussions tags made by the user to a selectable tag of choice
- Suspend the user indefinitely and hard delete all discussions/posts made by the user
- Hard Delete the user and hard delete all discussions/posts made bad the user
It's not Akismet or Stop Forum Spam (so it has no own spam detection) it's just the punishment / moderative action that gets automated. Likely for those that haven't been automatically detected and blocked anyways.
GreXXL Thanks for the explanation. Now I understand it better.
I think it would be fair to say that a percentage of those who bypass the anti-spam system of the forum are users who “unintentionally” posted a spam. And for that I reason, I prefer not to soft or hard delete “all” their posts/discussions in the forum, but only the post/discussion that contained the spam. Because they might have contributed something good in the past that would benefit the community if the post/discussion remained.
Lurker I guess you don't use the Spamblock extension. It was meant to mark a user as a complete spammer and currently it has no configuration, so by default it would suspend the user and soft-delete all its posts. As you apparently can see, this was an extension meant to combat complete spammers, i.e. newly registered spambots/users whose sole purpose is to spam and who might also get detected by the "Spam Prevention" extension which is specifically made to scrutinize first few posts of new users, and will be bypassed for regular users. With that in mind, the asked change here (that I fully agree with) is to also provide the ability to completely remove the new user (not just suspend them) and hard-delete all his posts.
What you're talking about is rather some special case of regular users who might occasionally get their posts reported or detected by some other extension (e.g. the filtering one) and you need to only soft-delete that actual post. Well, that's already the existing functionality for flagged posts.