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
Comment #1
btmash commentedHi 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.
Comment #2
marcor commentedHi 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:
This will give the advantage to choose more than one reason.
Comment #3
btmash commentedI'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
Comment #4
marcor commentedSure, let's try the first solution and see how we "feel" having it. But mentioning overhead...
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.
Comment #5
btmash commentedOk, 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
Comment #6
Azzor commentedThis 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
Comment #7
btmash commentedI can't believe I forgot to include the install file differences...they'll be out with the next release.
Comment #8
jaydub commentedThis is a part of the module now although the implementation is going
through some refactoring.