Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
Python and Tcl - public course schedule [here]
Private courses on your site - see [here]
Please ask about maintenance training for Perl, PHP, Lua, etc
Backups, Codebase, Strategy and more - dealing with forum incidents

I've spent much of this evening dealing with an "incident" on our First Great Western Coffee Shop forum, in which a member ran a script on his own computer, from his own forum account, which trashed all of his posts. Well - not exactly all of his posts as it was "a bit broken", but still enough to leave significant gaps in previously-excellent resource threads which discussed and explained various railway issues from track safety to the holding up of connecting trains when incoming connections are late through to the unique identifiers which are applied to each train (headcodes / 4 character codes used in signal boxes / something called RSIDs). The incident has wasted a lot of my time - but it's also provided a useful test and check of our moderation and admin systems in real life, for which I'm grateful. Some lessons / comments that you might like to consider if you're running such a forum - or indeed any user-contributed resource - or indeed any website with scripts.

1. Backups. THESE ARE IMPORTANT. Our server takes a regular copy of the data that changes frequently (i.e. user contributions). In addition to a download of the web site and its data on a cycle, we take intermediate copies that stay on the server. Not quite a transaction log that we can roll back, but we've still got a series of very recent snapshots! And it's important that the backups can be restored, and / or data selectively extracted from them as necessary. Not only do backups have to be taken, but they also have to be checked for fintess for purpose and that purpose is to be able to put things right using them in the event of an incident!

2. Code. I had to selectively untrash around 150 posts, and at my first experiment I ended up with a few <br /> structures and similar displayed on the forum. And that was just a single post. Keen volunteers were available to hand-correct the remaining issues, but the design aspects of my learning to program training courses reminds delegates that it's usually cheaper to develop code well than to have to make heavy maintainance or do other coding later, but that other coding later is in turn much quicker and cheaper that having to do a lot of work on the underlying data. And so it proved - all 150 posts were untrashed in just under an hour via code / a batch process - including writing the code - whereas would have taken all night by going at the data.

3. Strategy. We have an overview / strategy for the site, and systems in place so we know where we're headed, and we can work out the logical and obvious way when an unexpected incident occurs. Much better than having to start thinking "what do we do now?" too often.

4. Team. The incident highlighted the strength of the support team (admin, moderation and regular members too). Without the support of all of these, the job could be much harder (if you get a bunch of mavericks rather than a lone wolf ...). And keep the team - the WHOLE team - informed as you work on the issues. A banner or post admitting problems may look bad to new, casual users, but it's only temporary, helps re-assure regulars, and avoids to omany duplicated reportings of the problem - like that ble and white "Police aware" tape you sometimes see on a vehicle at the roadside.

5. Actions. As I've seen before in these circumstances, you can expect to get an email that seeks to explain the activities and the reasons behind them. Actions, though, speak louder than words, and the victims of the actions are not only the one or two people who have upset the member into triggering the script, but also all the other contributors to the damaged threads, and the people who read them. Half a dozen people - perhaps - had done something, made some little comment that helped spark the incident. But there were 726 unique visitors to the site during the one day alone (true visitors / Google Analytic numbers) all of whom are potential victims.

6. Patterns. Look for patterns in what's happening and look for the begnign steady state. If multiple people have issues with the same post, then look to that post as the cause of problems. But if a single person has problems with lots of posts and threads, by numerouse people and some going back years, then look to that person as the common element when you decide on how to handle the situation.

The time to look through and consider this list above is when you don't have ongoing issues. So it's possibly a bad time for me to be writing and posting this. However, the above are generallities that have stood us in good stead, and should also stand others in good stead. You can't prevent any incident happening, but you can ensure that the waves calm quickly and you're back to a smooth sea again.
(written 2013-03-03, updated 2013-03-04)

Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
G903 - Well House Consultants - Running and moderating forums and social media sites
  [4492] Almost so wrong, but perhaps it's right for some? - (2015-05-11)
  [4403] The unbalanced relationship between customer and provider - (2015-01-21)
  [4315] Welcoming genuine forum posters quickly - but turning away off topic advertisers - (2014-11-16)
  [4307] Identifying and clearing denial of service attacks on your Apache server - (2014-09-27)
  [4283] Can a legitimate forum post become illegal a year later? - (2014-07-11)
  [4239] Facebook marketing - early experiences - (2014-01-19)
  [4234] Change to Libel and Defamation laws from 1st January 2014 - (2013-12-31)
  [4065] Handling requests to a forum - the background process - (2013-04-17)
  [4017] Acceptable User Policy / vexatious interacter - (2013-02-24)
  [3910] Identifying your real customers and keeping them well informed fast - (2012-11-02)
  [3479] Practical Extraction and Reporting - using Python and Extreme Programming - (2011-10-14)
  [2820] Netiquette for forum newcomers - (2010-06-20)
  [2781] The 500 pound question to get you started - (2010-05-26)
  [2569] How to run a successful online poll / petition / survey / consultation - (2010-01-10)
  [2527] Flying tonight - (2009-12-05)
  [2526] A reluctance to move from old shoes to new - (2009-12-05)
  [2386] Computing under the influence of alcohol - (2009-08-29)
  [2254] Forum membership - a privilege not a right - (2009-06-22)
  [2177] Preventing forum spam - checks at sign up - (2009-05-12)
  [2162] Admins thoughts on banning a member from a forum - (2009-05-09)
  [2156] Stopping forum spam - control of the signup process - (2009-05-04)
  [2116] Why do we delay new forum members through authorisation? - (2009-04-03)
  [2103] Ask the Tutor - Open Source forum - (2009-03-25)
  [1972] Pettifog and forum boards away from public view - (2009-01-03)
  [1923] Making it all worthwhile - (2008-12-04)
  [1759] While the world sleeps ... - (2008-08-19)
  [1678] Software - changes and delays. But courses must run on time! - (2008-06-15)
  [1595] First Great Western Weekend - (2008-03-30)
  [1578] Please don't shout at me! - (2008-03-16)
  [1569] I dont care - goodbye - (2008-03-09)
  [1563] Guidlines for posting on a forum - (2008-03-04)
  [1539] A forum is not always the best vehicle - (2008-02-14)
  [1532] Comment spam blocked. Please comment via Forums - (2008-02-05)
  [1523] Ive just received an email from myself. Should I be worried? - (2008-01-29)
  [1485] Copyright and theft of images, bandwidth and members. - (2007-12-26)
  [1472] The Horse goes on and on - (2007-12-15)
  [1362] No Thank You - (2007-09-23)
  [1190] Save the Forum - A regular clean sweep - (2007-05-17)
  [1088] Why use BBC code not HTML? - (2007-02-21)
  [948] Running an on line campaign - (2006-11-27)
  [923] Why shouldn't I spam? - (2006-11-13)
  [919] Freedom for X is denial of privacy for Y - (2006-11-09)
  [841] Forum help - a push in the right direction - (2006-08-21)
  [828] Freedom of speech and freedom to post - (2006-08-10)
  [806] Check your user is human. Have him retype a word in a graphic - (2006-07-17)
  [651] Please Register with Opentalk - but just once! - (2006-03-19)
  [516] Open source questions? Anyone can ask. - (2005-12-03)
  [424] How not to run a forum - (2005-08-24)
  [248] Use me, but use me effectively - (2005-03-16)
  [231] Feedback as lifeblood - (2005-02-28)
  [204] The confidence to allow public comments - (2005-02-06)
  [130] Spelling and grammar - (2004-11-25)
  [115] Expiration dates or times on web pages - (2004-11-12)
  [29] Silence is Golden - (2004-08-26)
  [22] Falling out over the silliest things - (2004-08-21)

Back to
SQL databases from Python - an SQLite example
Previous and next
Horse's mouth home
Forward to
The coffee of the Stars comes to Melksham
Some other Articles
Exception, Lambda, Generator, Slice, Dict - examples in one Python program
Really Simple Class and Inheritance example in Python
Collections in Python - list tuple dict and string.
The coffee of the Stars comes to Melksham
Backups, Codebase, Strategy and more - dealing with forum incidents
SQL databases from Python - an SQLite example
Melksham to Chippenham (Station) bus services - times and routes
A request for all of Melksham transport groups to work integrated
Spike solution, refactored and reusable, Python - Example
Melksham Community - Annual Report / MCAP
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page

This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2019: 404 The Spa • Melksham, Wiltshire • United Kingdom • SN12 6QL
PH: 01225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/4025_Bac ... dents.html • PAGE BUILT: Sat May 27 16:49:10 2017 • BUILD SYSTEM: WomanWithCat