Issuepedia:Current events/2009-04-27

From Issuepedia

Short, non-technical version

While chasing after a spammer, I accidentally deleted all the content from Issuepedia. Fortunately, there was a backup, and although it was over a month old, I should be able to recover most of the work done since then.

The spammers had better hope that I never end up with a lot of free time in which to seek vengeance (not just for this...) --Woozle 19:10, 27 April 2009 (UTC)

Technical explanation

I recently installed a forum extension, LiquidThreads. Although it looks like it will work better than the other forum extensions I've tried, it does have a minor bug in that you can't completely delete evidence of a thread -- which is a problem when spammers come around creating threads with titles like "launched the revitalized wonderful program - Libertyreserve Bank" which are then enshrined for all eternity in the Threads: namespace (even though the content, including all any spam links, is gone).

After the first batch of spam threads were created, I wrote a patch which seemed to solve the problem and allowed me to delete any visible evidence of the threads.

Then another spam-thread was created, but this time the patch didn't work... so I went into MySQL and was going to delete the records by hand. I deleted everything from the "thread" table (no legit threads yet) - "DELETE FROM thread" -- and then I was going to look at the "page" table to verify that there was still a page there in need of deletion, since the thread was still showing up. I changed "thread" to "page" and "DELETE" to "SELECT *", and executed the query...

...except that I forgot to do the second part, changing "DELETE" to "SELECT *". In other words, I deleted all the pages from Issuepedia.

Although I've been slack about doing regular backups, I did find that I had one from mid-March. Unfortunately, there have been a lot of edits since then, and unfortunately the web host Issuepedia uses had apparently experienced some kind of problem with their backup scripts, and the MySQL databases haven't been getting backed up since November.

So... more regular backups.