I was just given the “solution” to a problem I have been trying to work around. Our library catalog has a scripting language of sorts that allows you to do a lot of great things. Unfortunately, it also has a nasty logic flaw that I have discovered.
Value 1 | Operator | Value 2 | Result |
“A” | = | “a” | TRUE |
“a” | = | “A” | FALSE |
“a” | = | “a” | TRUE |
“A” | = | “A” | FALSE |
I realize, internally the programmers decided to automatically lowercase all input fed to the comparison on the left side. The problem is, there is no function to lowercase a variable. So, If I save the value of some function, say “LibraryName” someplace, and then try to compare it later… I run into “Aurora” = “Aurora” equating to FALSE because what is really being compared internally is: “aurora” and “Aurora”…
GRRRR….
So . . . what is your solution? Both for your immediate situation (band-aid) and the long-term solution (cure)?
Well, my solution for my immediate problem was to build a lookup table that handles every instance that I was planning on using a simple comparison for. The long-term solution may be impossible to achieve, but I would like for the vendor to fix their STUPID mistake in their logic. I will be submitting it as a bug and hope that they deem it worthy of fixing. I suspect that they will not though. They are slowly trying to consolidate all of their different catalog products into one new “uber portal” system. I have a suspicion that they will announce end of life for this, and their other catalog products at the next user conference. Sadly their new portal doesn’t fill our needs in the least.