Download & Extend

Abstract the way Abuse stores data to allow modules like the Flag Abuse module to become data storage for the Abuse UI

Project:abuse
Version:6.x-1.x-dev
Component:Miscellaneous
Category:task
Priority:normal
Assigned:Unassigned
Status:postponed

Issue Summary

There is a new abuse module released, which works on top of the Flag API module and Views.
http://drupal.org/project/flag_abuse

I'm posting this because perhaps it's time to consolidate all the efforts regarding abuse control and try to create one good module with contrib modules to extend the basic functionality.

Comments

#1

Status:active» postponed

Until a better workflow for this can be figured out, I'm going to have to postpone on it - I want to try and fix up the issues that are currently there in the module to make it go to whatever the best path would be (it might be flag abuse, it might not be).

#2

My two pennorth:

It would be great to see these modules consolidated. At the moment this module has way more (and more relevant) features that Flag Abuse, but the Flag API is a much smarter storage mechanism and opens up more flexibility (views, rules, actions, all core).

Let's look at this the other way around. If you could detach Abuse from its current storage mechanism and allow other modules to present their *own* storage mechanism via an API, suddenly both these modules play nicely together.

You leave the current storage approach as the "default" one, bundled with this module, but you add an API allowing Flag Abuse to provide a storage option using the Flag API. That way Abuse concentrates on being a cool UI, with the storage abstracted, and Flag Abuse becomes a storage mechanism for Abuse (one of potentially several options).

I'm doing similar work on Feedback right now with sun - it might be worth reviewing the issue for inspiration:
#293512: Abstract back-end for integration with 3rd party issue trackers

It's a different issue, but I believe the solution is the same. =)

#3

Title:Introducing the Flag Abuse module» Abstract the way Abuse stores data to allow modules like the Flag Abuse module to become data storage for the Abuse UI

Actually re-titling and setting to active, as the proposal of a plan to move towards tighter integration between Abuse, Flag Abuse and Flag. Happy to work on this, if people think it's a good idea.

#4

Status:postponed» needs review

Arg, forgot to change the status!

#5

looking forward to this :)

#6

Status:needs review» needs work

Until someone can really step up to take over this module, this isn't really going to happen. And I honestly wish this weren't the case.

As the "maintainer" of the module (the word shouldn't really apply considering the current state of the module), the main issue in all of this is that I am working on a series of different projects and none of them use the abuse module (primarily due to the scope of the projects). As a result, I cannot alone try and maintain something not being used on a day to day basis. I would be happy to work with a set of developers since that is more fun, however.

I completely agree with the idea that the abuse module should let go of the storage mechanism (its storage architecture really is a precusor to what the flag module does) for one extremely important reason: views.

The abuse module has happened to be built for sites that had little (to no) requirement for views. In these cases, I used a frankly stupid mechanism whereby I am modifying the node status to something that views does not recognize (I would like to blame the node module for doing something that allowed does but there is really no one to blame other than myself).

The abuse module would be ready to move towards becoming a content access type of module (though I really need to catch up on something like that) and use the storage mechanism in there to work with all this. But there shouldn't be a need for that.

The abuse module in its current state is primarily covered by what is occurring in the flag abuse module. I do think flag abuse and VBO would make a lovely couple and might be a better way for managing large pieces of content (something abuse does well...but not with views. argh!)

What is not covered (and probably the more useful part of abuse) is the watchlist module (which has its own, albeit smaller, set of issues with some strange php). By pre-assigning pieces of content with abuse flags, it does help out with some level of content premoderation.

So tl;dr: abuse needs to be abstracted; whatever it is abstracted to, allow for watchlist to power that abstraction (since that is something that really helps moderators), glad to work with others in working on this in a sprint like manner, but this module honestly needs a new maintainer.

#7

Hmm, I would love to do some work on this. I think the Abuse interface is the best I've seen for quickly dealing with potentially offensive content. I do have a couple of sites using this at the moment. Let me see if I can find some time. Past experience prevents me actually saying I *will* work on it, because if I don't actually have the time I'll disappoint everyone, but this is front of mind for me.

#8

Category:support request» task
Status:needs work» postponed

I'm going to take over this module. However, I don't think it will soon happen. My plan is at #918522: Keep it clean: no more -1 status. I want to keep it clean, small. We may need another table for data storage, but not the Flag module. I'm quite unconfortable to make the module bloat, and I don't know much about Flag now. Besides, doesn't it what Flag Abuse actually do?

About #2, it's even more complicated. Why the UI is not integrated directly into Flag Abuse?

My thought is that Abuse needs to be stable, has a clear data storage. This way it can be converted to base on Flag API or merge into Flag Abuse later.

#9

The one good thing about the current way abuse works is that the status of nodes (or comments/nodes for that matter) are actually placed in a separate status table so that aspect of it is, for the most part, under control (and would make it easy on any migratory ideas - not sure if it would be better to store the status as text or let it remain in the current integer format).

#10

The point of this is not to remove the current storage mechanism, but to make it possible to plug others. So your comment is maybe fair, but not really relevant, as there is no intent in this issue to change anything about the way Abuse stores information. If you look at the similar thread I referenced in #2 you'll see the approach I am suggesting. Allowing 3rd-party modules the flexibility to "swap out" the Abuse core storage mechanism you're talking about.

#11

That makes sense. My priority is:
1. #918522: Keep it clean: no more -1 status
2. #918352: Separate the "direct flag" feature
3. This issue

The first two make this module tidy and extensible. To make 3. happen, Flag Abuse should support it and keep its UI minimal.

#12

Title:Abstract the way Abuse stores data to allow modules like the Flag Abuse module to become data storage for the Abuse UI» We are working on something similar

I am working on a project for client that needs abuse functions. Like many others we need a bit of both Flag_abuse and the original abuse functions.
Flag abuse with combination of flag_note does provide ability to store comments , however does not provide facility of adding in things like "Reason for reporting" etc.

As a result of this, i am right now writing a bit of custom module that adds in fields for "Reason for reporting", provides better support in rulesets (at the moment flag work well when actions are invoked individually in VBO, but fail if the actions are called as part of ruleset etc.

All along have been thinking it would be so much better if somehow flag_abuse works together with abuse module. I will be happy to join hands on looking at all available options and possibilities.

-Ravi

#13

Title:We are working on something similar» Abstract the way Abuse stores data to allow modules like the Flag Abuse module to become data storage for the Abuse UI

Revert the title.

I'm glad to see a patch for it. We needs:
- Abstract storage engine (more info given above)
- Support current storage engine
- Support Flag_abuse storage engine if available

I haven't completed the code, but I'll put the 2.x branch public so that it can be kept track in the issue queue.

#14

Just a follow-up here, I got side-tracked in to this queue looking for another patch but sirkitree made the good point in the Flag Abuse queue that there would be no sense in Abuse using Flag Abuse for storage - it should just use Flag directly.

It is also his opinion that both modules (Abuse and Flag Abuse) should be able to co-exist in the same ecosystem, as the latter is a much light module and wholly different in architecture to Abuse - an opinion I think I share. =)

#15

I did a patch few days back to flag_note module which allows flag_note now to store predefined messages along with a field to enter custom note.

This can be combined with flag abuse to provide functionality close to what abuse provides

-Ravi