In which our hero gets his ass kicked by mySQL

Jun 06, 2009 01:14

To begin with, let me explain something to put my ass-kicking into context. I am pretty good at building user-friendly sites with Drupal. I can build a multi-purpose, user-friendly, database-backed site in under an hour, one that is fairly easy to administer and maintain, as well. In some cases, in about fifteen minutes. For a completely tricked-out site with all the bells and buzzers and whistles and horns you can imagine, give me a few days or more, depending on just how tricked-out it needs to be--much of that spent researching the best solutions for features I may not have implemented before. Still, though, incrediblly friendly to the end users, and easy to actually administer for the average joe after perhaps a day or two poking around at the administration section. Give me a little longer if I'm also building custom themes for it. (I'm working on applying what I've learned to my own site, but it takes more work to do that than to build it from scratch when you have as much content as I do.)

When I say fully tricked out, an example would be a single site with better forums than phpBB, social networking similar to Facebook, multi-user  blogging like LiveJournal, wiki functionality, ecommerce, user-generated quizes, built-in chat, IM, and IM alerts, YouTube style video-posting, photo-blogging and image gallery creation as easy as uploading a zipped file of images, webcam networking, and more, with any and all data shared across the board and viewable in nearly any imagineable format and combinationt. I mention all this, as I said, to put my failure into context.

Lately, though, I have been pushing beyond my limits trying to build the most admin-friendly site ever. A site that could be administered with absolutely no training and no learning curve by anyone who has ever opened a web browser. One that you could run even if you find LiveJournal confusing. Now this is more than I was asked to do, but it seemed like a good idea at the time.

At the 80% finished point tonight, I noticed a database issue that resisted my best efforts to repair--It was going to be faster and easier to simply back up a couple of hours. This was a minor irritation, so I wasn't horribly upset. Then I tried to import my last database backup. It broke. So I went to the one before. No love. And so on. The most recent mySQL dump that I could re-import was from Thursday.

Essentially, I was trying to make too many things work together that were never intended to, or that had known issues I thought I could work around. Trying to automate too many administration tasks, some of which depended upon altering the same tables as each other in order to function, thereby corrupting data.

All in an effort to make already-easy administration so completely automated that the site would almost administer itself. I now concede that there is a reason that people far more skilled than myself haven't succeeded in this, and I am swallowing my hubris.

So I'm simplifying. I'm focusing on the primary user's experience instead. Administration will still be incredibly simple, but I am no longer trying to make it 100% effortless for the admin--just for the end user. Now that I am no longer trying to, figuratively speaking, breed a dinosaur with a grapefruit, and am back to doing things I already know how to do, it should be smooth sailing and go quickly. Just in case, though, not only am I doing regular mySQL dumps, but importing the data into a fresh database each time I back up, just to test things, so I'll know sooner next time if something breaks.

But that's for tomorrow after I spend a few hours working on the car. For now, I'm going to bed.

Previous post Next post
Up