Now that I’ve completed a class in database design and implementation, I finally started working on the web-based library staff scheduling program that’s been on my mind for many months. The more I find out about existing tools and technologies, the easier the task becomes. Unlike the days when I was developing embedded software, I’m not really inventing anything new; I’m just using the tools that other people have developed. It’s the difference between developing MySQL and PHP, and just learning to use them.
Last week one of the reference librarians at my place of work asked me about putting her obituary index on-line, as she had seen another library do. In fact, she had already started entering the data into an Access database. (Believe it or not, it’s all still on index cards.) The library’s web host, chosen over two years before my arrival, is not a Windows-based server, and so would not support Access/ASP. It’s not that I wouldn’t have made the same choice, but just mentioning the words “open source” sets off such a hostile reaction at MPOW that I avoid using them at all costs. I told the librarian that she should continue to build the database in Access, since that was what she was comfortable with, and that I would then port the database to our web host. I gave her an estimate of 5 to 10 hours for the task. I didn’t know if there was such a tool, but I felt sure someone had already tackled it.
My brilliant friend Simon—he’s always the first in my circle to discover and use new software tools—had a similar issue with an Access database that he wanted to port to a Linux server. He found a suite of Linux applications called MDB Tools that unpacks Access databases to a series of SQL instructions for creating and populating a MySQL database, or any SQL-compliant database. After one very minor problem, I was all set up with a secure login to his server, ran the conversion programs on a small inventory of library computers that I had previously done in Access, fed the SQL into phpMyAdmin (I had installed XAMPP on my Windows XP machine the previous day), and bingo! The only remaining task was to make it pretty. If the obituary index were in electronic form today, I’d be nearly done, well within my original estimate.
Coming from embedded systems, a background where everything was difficult because no one else had done it before, I never cease to be amazed at how smoothly things interoperate in the world of web development. My XAMPP installation, for example, ran perfectly and took less than 10 minutes. I had to go into Windows Services and disable a few conflicting Microsoft SQL services, but other than that, no worries. It wasn’t that long ago that no such installation package existed, for XAMPP or for any other open source goodies; it was all roll-your-own, start from source code and build it. I’m sure that there are still many roadblocks in the world of web development to be tackled and overcome, but I haven’t met them yet.
Well, except for the Internet Explorer box model. But I understand that’s going to change in IE8. Really.