This is exciting news for those working on the meta blacklist!!


-----Original Message-----
From: DanTMan [mailto:[EMAIL PROTECTED] 
Sent: July 19, 2008 11:28 AM
To: Wikimedia developers
Subject: [Wikitech-l] New side project, Extension:PatternFilters

A few people have convinced me to start work on a side project (My main 
project as always is ElectronicMe), an extension short discussion ended 
up calling PatternFilters.

Currently we have a number of blacklist extensions -- SpamBlacklist, 
SpamRegex, RegexBlock, UsernameBlacklist, TitleBlacklist, BadImagesList, 
BlockTitles, etc... -- and there is very little consistency among them. 
Some match plaintext and some match regexps. Some have a specialpage 
interface and some use a article page.

The idea of PatternFilters is a single extension replacing all of these 
with one extension founded around the singular principle all of these 
extensions share, Filtering (blacklisting and whitelisting) some part of 
user interaction using some sort of pattern.
However other than just combining a mess of extensions together I hope 
to improve some other things. Primarily making the interface for 
filtering things more intuitive. Firstly, using a special page rather 
than a page on the wiki with cryptic syntax. And secondly, giving a 
helpful interface on that special page which helps give an estimate on 
what the filter will affect on the wiki. Just as an extra, it could 
easily validate a regex on it's own before adding it to avoid issues 
like with the other blacklists where a bad regex breaks the whole 
filter. As well the extension would properly support global/local modes.

For example, if you were to go to [[Special:PatternFilters]], select 
global, select blacklist, select regex, select 'block existing users', 
'block user creation', and 'block title editing' with 'Restrict to 
namespaces' on User and User_talk, and fill in the pattern 'Fo+Bar' then 
hit the check button the page would help give an estimation on what the 
filter would do by listing out existing usernames which match that 
regex, and also existing pages which match it as well. Things like url 
backlisting would work nicely to with the externalinks table.
For a little more ui simplicity I plan to support wildcards as well. The 
text blacklist of course can't go hunting through the entire DB, so 
rather than that it'll display a text field you can use to check and see 
if a filter will catch something inside a block of text, probably even 
highlight it. Also separate from url and title, comments could be 
blacklisted as well.
Of course some checks are DB heavy, so there's a special right already 
in so you can disable use of those simply by not giving out that right.

Currently I only have a small special page but the start of it can be 
viewed at:

I've also created some dev wiki dedicated to the extension (Don't want 
filtering experiments going awry on my demo wiki):

The number of wiki is for a variance in testing. The root wiki 
is the one that is configured as the global db so I want to test out an 
interface change when you are editing the global db directly as a global 
db instead of pure local. zeta and omega are normal and so you can test 
global and local blacklists, probably add a global blacklist, whitelist 
on one wiki, and test something on both. Though I may tweak it and turn 
one of those into a local only setup to test the interface for that.

Currently there isn't much at all to test or do, but once the 
PatternFilter extension, well... filters ;) then I'll consider tweaking 
my right configurations on the wikis to allow people to grant themselves 
the check, heavy, immunity, global, and edit rights for the patterns.

~Daniel Friesen(Dantman, Nadir-Seen-Fire) of:
-The Nadir-Point Group (
--It's Wiki-Tools subgroup (
--The ElectronicMe project (
--Games-G.P.S. (
-And Wikia ACG on (
--Animepedia (
--Narutopedia (

Wikimediameta-l mailing list

Reply via email to