I think pretty much every OpenGuide has been hit by the casino spammers - basically they edit Wiki Etiquette and Wiki Info to include their URL as many times as possible, trying to capitalise on our googlejuice.
We implemented admin delete to deal with this, but it does seem to be the same spam over and over again, so guide admins are having to delete it over and over again. Luckily we have a tool to deal with automating repetitive tasks.
I would like this to be optional, extensible and configurable. Here is a suggested spam filtering config file (see Config::Tiny for syntax).
---------------------------------------------------------------------- [discard_edit] locale = www.casino-online-online.com category = www.casino-online-online.com
[discard_edit_regex] locale = www..* category = www..*
[notify_edit] notify_to_email = kake@earth.li username = Anonymous
----------------------------------------------------------------------
(I don't plan to implement notify_edit yet, just stuck it in there to show that this form of config file is quite extensible. Dare I say it, this might be a good task to be implemented as a plugin.)
When someone/thing tries to commit an edit that matches a discard rule, they'll get an error message explaining what they did that was naughty. So you could use this to block anonymous edits too, by adding the line "username = Anonymous" to the discard_edit section.
Comments? Is there a better way to structure the file without having to add any more prereqs? (I was thinking YAML, but that's yet another prereq and people already complain about how many there are, plus it's another syntax for people to learn.)
In particular, this syntax doesn't let us say things like 'Disallow edits if EITHER the locale is "foo" OR (the locale is "Hammersmith" AND the username is "Anonymous")'. I *don't* plan to implement anything that complex right now, because it's not *needed*, but I don't want to tie myself into a format that precludes doing it later.
Kake
On Tue 24 Aug 2004, Kake L Pugh kake@earth.li wrote:
We implemented admin delete to deal with this, but it does seem to be the same spam over and over again, so guide admins are having to delete it over and over again. Luckily we have a tool to deal with automating repetitive tasks.
I would like this to be optional, extensible and configurable.
[And then I mentioned Config::Tiny and YAML.]
Config::Tiny is really just not going to be powerful enough. I'm going to go with YAML unless someone can come up with a better suggestion. Whatever you suggest will need to be able to cope with this case:
In particular, this syntax doesn't let us say things like 'Disallow edits if EITHER the locale is "foo" OR (the locale is "Hammersmith" AND the username is "Anonymous")'.
and there must be an existing CPAN module to parse the config file format into a Perl data structure.
Kake
openguides-dev@lists.openguides.org