Earlier today, I started working on a new Widget for the CDOT Dashboard. I chose to create some kind of visualization that could represent the outcome/status of different builds for the Fedora-ARM Project.
When I started, I had to guess what kind of data I would be working with, because there was not a service set up specifically exposing this data for me. In light of this, I imagined what data I might get and created a JavaScript object to contain dummy data.
As inspiration for the widget, I took inspiration from Mozilla's Tinderbox, which displays a branch's status using background colours. I wrapped the data in <table> markup and changed attributes for each <td> depending on the status of each item. Worked for static data. I began looking around Fedora-ARM's websites and found a site that contains information about the latest builds they've done. After seeing this data I thought "well this information has to be coming from somewhere...". and a quick investigation led me to discover that it was being provided via an RSS feed.
After finding out the hard way that XMLHttpRequest was not going to work because I was not in the same domain, I had all but given up... Until I happened to find an blog post that provided a link to a JQuery plugin. This particular plugin promised to take the response from an RSS feed and convert it to JSONP. I had to try... And it works! I started working to integrate this into the plugin. It worked as well.
Now I have a plugin that grabs the latest 10 builds and their statuses. Based on the statuses the background colour of each cell is set ( Orange for cancelled, red for failed, yellow for building and green for complete). I parse out the title of each and place it within the <td> tag as well.
Here's the branch I'm developing it in: fedoraArm Breanch on GitHub
Here's a sample of the widget, please excuse the CSS, I'm no graphic designer, but I did try!
Please feel free to suggest changes! :)