I have an idea for an abstract generalization of the ban/throttle/ page protection concepts, unifying them in a single table with great flexibility. Details at the bottom, but first some quick motivation.
We have a proposal with some support, but also some strong opposition, for a rule that says that sysops can 24-hour ban people who break the (widely supported) 3 revert guideline.
I think it's safe to say we have strong consensus that the 3 revert guideline is a good guideline. What we don't have yet is consensus about what should be done about it.
My problem with it, and I think that this would be echoed by many who have reservations, is that a 24 hour ban is sort of a big hammer to use in cases like this.
I have some questions about the technical feasibility of some smaller-hammer ideas.
1. per-article bans -- this could be very useful in a number of cases, particularly now that we have an arbitration committee to divide up the work of studying such things.
2. per-article, per-person throttles -- this would be the technical application of the 3 revert rule, applied to individual people and individual articles. Basically, a sysop could put Wik (for example) into throttle-mode for a given article where he's committed a 3 revert violation, and after that Wik can only edit that article 3 times per day. This might push him to be more co-operative.
Or consider the DNA case. Pretty much all parties to the dispute, even those who were not guilty of anything bad could be placed, without stigma of "punishment", into throttle mode for that article.
3. per-article throttles -- for particular articles, instead of "protecting" it so that no one can edit, we could "throttle" it so that each person may edit it only 1 time per day. The idea is to slow down an edit war to allow people to calm down, and to keep everyone else from being bothered by an ongoing fiasco.
---
All of these seem fairly technically do-able to me. I'm especially keen on the latter two. (And suspect that the first one could be implemented as a form of the latter two, with edit_count set to zero.)
Here's a table to show what I mean:
Jimbo Wales - Oregon - 3 # Jimbo throttled on this article Jimbo Wales - Cats - 0 # Jimbo per-article banned * - DNA - 1 # everyone throttled here * - Judaism - 0 # same as protected Wik - * - 3 # Wik throttled everywhere Plautus - * - 0 # Plautus banned
Then, to find out if a user has permission to edit a given article, we just look them and the article up in the table, and see what the number is. If it's not there, then all is well, if it is there, then we have to make an additional check in the history table to see what's happened in the past 24 hours.
Obviously, it's easy for me to say that this is easy.