Another crosspost to wikipedia-l and wikitech-l, please follow up to one
list only. Tell me offlist if you think the crossposting is useful.
I'm making some changes to user blocks. Here is the changelog entry:
* Allow blocks on anonymous users only (bug 550)
* Allow or disallow account creation from blocked IP addressess on a
per-block basis.
* Prevent duplicate blocks.
* Fixed the problem of expiry and unblocking erroneously affecting multiple
blocks.
* Fixed confusing lack of error message when a blocked user attempts to
create an account.
* Fixed inefficiency of Special:Ipblocklist in the presence of large numbers
of blocks; added indexes and implemented an indexed pager.
This will require a schema update, hopefully it can be done on Wikimedia
with a minimum of disruption.
A unique index will be introduced which will prevent duplicate blocks on
users or IP addresses. To migrate to the new schema, it is necessary that
all existing duplicate blocks be deleted. This will be done automatically
during the schema update. I *think* the winning block will be the earliest
one, with all others silently deleted, but we'll see for sure during the update.
If it's a problem for anyone that these blocks will be removed, please speak
up. I'm not going to create a list of dropped blocks unless anyone has a
really good reason why it's necessary. The original record of the duplicate
block being created, available in Special:Log, will not be deleted, and
there will be a backup of the ipblocks table in case anything goes wrong.
I'll aim to put this change live in about 24 hours from now. It has to be
soon, because we won't be able to deploy any other updates to MediaWiki
until the schema is updated.
I know a lot of people have all sorts of dreams for the perfect blocking
feature, and I'm sorry to say that this won't fulfill all of them. It is a
concrete step forward, it fixes some embarrassing bugs, and it implements a
much requested feature. I'd be happy to hear about your ideas for a perfect
blocking module, just don't expect them to be live on the site within 24 hours.
-- Tim Starling