It's one thing having a bleat about how dismal a UX the official ColdFusion bug tracker is, it's another thing to do something about it. I've raised all the shortfalls I've found with Adobe (the bug tracker can be used to raise bugs about itself), but given how slow to react Adobe are to deal with issues with their products that they actually care about, I don't hold out much hope that they'll do any maintenance work on the bug tracker itself.
So, anyway, I've had a complete gutsful of trying to use the thing - I use it a lot in the course of researching stuff for this blog, as well in my day to day work - so I've decided to write my own search UI for it. This was inspired by Elliott Sprehn's efforts to do the same with the old bug tracker.
I don't actually have access to a public-facing ColdFusion server, so I've opened an account with cfmldeveloper, and popped the code up there. This is a free service, and is not intended for production web sites, so I'm hoping this thing doesn't count as one of those. I'll check. If it does, I'll need to find a new home for it: I'm not going to pay for hosting one file...
You're welcome to use the thing if you like. Which'd be easier for you to do if I ever get around to telling you the URL! I just needed tod o as much waffling as possible first. Anyway... it's at http://adamcameroncoldfusion.cfmldeveloper.com/cfbugs/search.html.
This is a work in progress, and I make no apology for the distinct lack of styling: I don't care about clutter like that. It's fairly minimalistic in its functionality, as it specifically careers for how I want to search for things. But it works (as far as my testing had determined), and it's more useable than the "official" site IMO. The things it does that the official one doesn't do is:
- It has a single, unified, free-text search input. This searches all the significant text fields: title, description, reporter, test config. It does not search comments or votes.
- It doesn't require one to select a CF (or CFB) version before searching. If a specific version is not selected, it searches all versions.
- I wanted to embed it in a blog page;
- as an exercise to improve my JS & JQuery;
- other than Adobe not returning JSONP when needed (which I'm fixing by proxying the requests - and responses - through a CF file which converts it to legit JSONP), I didn't actually need any server side component for this.
For the hell of it, I decided to play around with JQuery events in doing this, so have implemented a bunch of the logic using triggers and listeners to get stuff done, eg: the search form says "I need some results" when one presses "search", which the SearchProxy is listening out for, and after it's got some results, it declares as much, which the SearchForm is listening out for, which then renders it in the table. I've also tried to compartmentalise as much of the logic and config as possible, as well as keeping logic that relates to what Adobe returns separate from the logic to make my UI work. This is why there's a separate DetailExtractor.js library: if Adobe change the schema of their bug detail page, I just need to change a method in that file, instead of wading through the application to sort it out.
If you can think of any improvements I could make to it, please sing out. Equally, my testing has only been superficial so far, so if you find any bugs... lemme know.