« What does Apache's graceful restart really do? | Main | Book and Music Logs are Back »

August 20, 2004

Yearly Student Import: Doing More Work Now to Save Time Later

It's that time again, between last Monday and next Monday the students from the six Tufts University schools that use our system (Medical, Dental, Veterinary, Nutrition, Biomedical Sciences, Graduate Degrees) are back in full force. Before the new students enter the classroom for the first time we get a dump of all the new students from the various registrars (centralized into one directory) and set up their accounts (login, user groups, associated courses etc).

Every year it's a quick Perl script to suck in data from the file, but this year I had a two-week warning, which gave me enough time to actually design a set of more generic import tools accessed from our web-based management area. It was quite a bit more work, and not quite as fun as writing the quick Perl script, but next year when it's time to import again I won't have to write anything . . . and if I've built the tools right can probably have someone else bother with importing the data.

In addition, if another group needs to bulk-create user accounts and can get the data into the specified format, they can use the tools as well.

As a general rule, I've found that the more rushed a project is the longer it lingers and remains a thorn in my side. There are a few projects I've worked on where I look back and remember how long and painstaking the specification, design and coding were, but can't remember the last time when I was bothered by a problem with it. It's too bad the well-done projects don't come back and say "hey you did this right," it would be a nice reinforcement. I guess projects that regularly pop up and say "this is a piece of crap" should be enough to ensure better development going forward . . . yet it isn't.

Posted by mike at August 20, 2004 2:06 PM