While translating abuse I noticed that the reasons for abuse may be a little different from one country/culture to another. It would be nice if an administror could define reasons in the settings menu.

I imagine an abuse_reasons table. Each row contains a string with the reason. Additionally, a col "description" could contain text that explains shortly in which cases this reason is to choose. This text could be shown if a user have chosen already to make sure he knows what he does. One last row could contain a textblock "argumentation" that can automatically be inserted in the warning email for admin convinience. It should be possible to insert the user's names: Hearing/reading their names improves people to tend to cooperation.

Example abuse_reason table:

arid | reason | description | argumentation
1 | foul language | You feel offended by the way this users writes about you or others. | On this site, we want to establish a way of polite communication to make people feel well. We want everybody to show their opinions. !name, please choose words that explain your matter without offending anyone. If another person offended you before, please flag this content instead of arising flame wars. Please note that you could be banned for abuse as well as for false-flags.

Of course, this text should be improved...

What do you think about this feature?

Comments

btmash’s picture

Assigned: Unassigned » btmash

Hi MarcoR,

I've been thinking on your post and I agree with you that allowing a flexible way of defining reasons in the backend is a better approach than what is currently there (I did this due to a short timeframe I had to getting this completed and I completely forgot about this). I also agree that having that argumentation is probably a good idea as well; though taking advantage of jquery is going to be a bit tricky for me (I am not very familiar with jquery and using the ajaxy magic). I'll attempt to get the first half of it (short of the argumentation) up and running as a first step.

marcor’s picture

Hi BTMash, this is very very fine! :) Thank you very much!

Yes you are right, Javascript should not be the first solution. What about checkboxes? The reason could be set aside the checkbox. Additionally, the description is set in normal text. This could look like any other form, like this:

<form>
<div><label><input type="checkbox" name="arid1"> Foul language</label>
<div class="description">You feel offended by the way this users writes about you or others.</div></div>
<div><label><input type="checkbox" name="arid2"> Indiscretion</label>
<div class="description">Someone writes openly about another person's secrets.</div></div>
<div><label><input type="checkbox" name="arid3"> Adult content </label>
<div class="description">This content should be hidden from minors.</div></div>
<div><label><input type="checkbox" name="arid4"> Offending content </label>
<div class="description">You feel offended by the topic the user talks about (i.e. racism, sexism).</div></div>
<div><label><input type="checkbox" name="arid5"> Spam</label>  
<div class="description">This content is just a crossposting, automatically generated. an anwanted ad or has nothing to do with the topic.</div></div>
<div><label><input type="checkbox" name="arid6"> Violating law</label> <div class="description">This content is violating copyrights or has content that is forbidden to be posted here by law.</div></div>
<div><label><input type="checkbox" name="arid7"> Hacking</label> <div class="description">You notice an attempt that is aimed at corrupting functionality of this site.</div></div>
</form>
<p>Please describe what and where</p>
... textfield ... 

This will give the advantage to choose more than one reason.

btmash’s picture

I'm debating having the checkboxes. On one hand, I can see the advantage in that a user can provide more detail on what they felt was wrong with the content. On the other hand, I can see an admin wanting to quickly glance through the content to see what they feel is wrong (or right for themselves) - thus a user should pick the most offensive reason for flagging. It can also make the page very verbose if not treated correctly (or a lot of options - perhaps this could be placed into a help page?). Like I said, I'll get the first part (having the table) up and running and debate the choice between having multiple reasons for each piece of content for a bit later (as implementing that hopefully won't be very strange) :)

-BTM

marcor’s picture

Sure, let's try the first solution and see how we "feel" having it. But mentioning overhead...

  • I think there's more overhead, if an admin can't be sure if all abuse reasons were given. He will have to read a whole post to see if there are others. Then, he has to add more explainations by himself instead of just deciding whether to unflag one reason and press "send", because even more explainations could be attached automatically.
  • If only one reason is flagged and the post would have other reasons to be flagged, that same post could be flagged several times after another. A user may not feel well if he is flagged again and again. "Could'n they have been telling me before? *&"%§"%(%&"%&!!!!*" Will this improve his cooperation?
  • Another advantage is, that there are people who just want to flag someone instead of something. Those (maybe younger ones) would mark everything because they want to punish this user the most. As an admin, when you see a fully flagged abuse item, you can suppose already that there's something wrong with it...

But as I said: Let's try, I'm so thankful and excited that you will code this and the first step would be a very big step ahead! :) And I think the change is not that easy, because we would have an n:n relation between item and reason instead of an n:1 relation.

btmash’s picture

Ok, I finally got to it and added the reasons table (a link to it is in the abuse settings section). I'm not quite sure on how to organize it, but I'm sure you can help give me some feedback to make it better :)

And you're right...making it an n:n relation between the reason and item is making me hesitant to do the changes :D

Azzor’s picture

This is exactly what I wanted :) I've just updated, and there's no db update script to add the abuse_reasons table. Could you add that?

Thanks!
Rohan

btmash’s picture

I can't believe I forgot to include the install file differences...they'll be out with the next release.

jaydub’s picture

Status: Active » Closed (fixed)

This is a part of the module now although the implementation is going
through some refactoring.