Part of my job is doing IT support for Koha software. I tend to pick the low-hanging fruit from our bug-tracking hub, the stuff that needs settings tweaking, not code rewrites. It’s fun when I can figure shit out but much less so when they’re problems I have no control over.
We’ve been working on one such infuriating bug for one of our client libraries. When they create records in the system something happens and the links point to the wrong records. So if it said “We’ve got a copy of Anna Karenina in” and you said “Sweet!” and clicked on it to check it out or place a hold or whatever, you would end up on a screen with a record for Particulate Dynamic Field Theory.
Obviously this is kind of terrible behaviour for library software. The whole point is to make things easier to find.
Now my job for something like this is to replicate the steps they took to make it happen again on our more controlled system. I’ve spent hours trying this and it hasn’t worked. So we got a copy of their actual data for me to work with. Still cannot replicate the bad behaviour. We get permission for me to fuck around on the live database. I still can’t get it to happen. Oh no wait, I made it happen one time, sort of, but didn’t realize that the missing number on a list meant it was happening but was hiding. So I tried to replicate my own replication and couldn’t.
This is the kind of thing that could drive a man crazy.
My boss put a fix on the system that doesn’t exactly address the underlying problem but makes the system usable without too much disruption. And I got to think about something else today. It was such a relief to only spend twenty minutes in detective work for my day’s first task and get it solved.