Dec 16 2014

Issue tracking systems, fun things at work

It’s not often in this job that I get a fun project, but this one was a good one.

We’ve been running an Access database for issue ticket tracking for many years now. Originally based on a stock “example” database, it’s been tweaked and mutated into what we use today.

Issue Tracking

After moving away from GameStop, we found ourselves facing a mountain of replacement hardware and no system to track those assets. So I integrated a new tab into the issue tracker that allowed us to join assets to every issue. When a new label printer needed to be shipped, we had that label printer’s serial number recorded, and reports allowed us to see which stores had what hardware. Instant accountability.

Asset Tracking

But while the additional system solved asset tracking, we still had a boatload of new hardware to check in. We also had a set of Motorola MC9090 handheld scanners lying around from a failed attempt to automate our now-defunct warehouse. The MC9090 ran Windows CE 5.0, had a 320×240 display, and RAM that was measured in megabytes. Programming an application for this thing was out of the question.

But what those devices did have was something called “Pocket Internet Explorer.” And I’m a web developer, dammit.

Of course, the MC9090’s bar code scanner didn’t have keyboard emulation, so I had to download and install a number of third-party applications to enable file transfer over Bluetooth, then essentially “hack” the configuration files to allow the scanner to input as a keyboard would. This allowed me to scan the bar codes of incoming inventory into a web form created with something like HTML 2 and some JavaScript that I served off IIS on my office machine.

The web front-end would require a database with which it could interface, so I converted the Access database over to SQL Server 2008 and got that talking to IIS via PHP and an ODBC plugin. Some creative use of JavaScript and PHP scripting meant you could start scanning one type of product bar code and never stop until you were finished. And the form was intelligent enough to be able to guess when you’d scanned the wrong bar code, or the wrong type of product.IMG_20141216_144256That wasn’t actually the challenging part. What was rough was getting the MC9090 to start talking to our wireless network. I’m still not entirely sure how I managed that, but I know a lot of progress was made when I realized a third party utility had to be used, not Network Connections in the Control Panel of t he MC9090’s operating system.

At the end of the day, when all was said and done, we ended up having to ditch the MC9090s because their batteries needed refurbishing, which was too expensive. Now they sit in the corner, collecting dust. They die if they leave their cradles for longer than five minutes.