Yesterday I did a quick, well not so quick, post on some new tasks concerning Kubuntu QA and Feedback. I created a very crude plasmoid that would connect to a web survey so people could provide feedback during the development cycle. The first revision of this plasmoid had a hardcoded URL to the survey in question. So that meant that for every Alpha or RC release during the cycle, we would have to update the plasmoid with the new survey URL. This would become a pain. So I went forward trying to figure out a way to automagically handle this stuff.
My first initiative was to keep the plasmoid super simple and not have it do a lot of processing and stuff to figure out what to do. So enter PHP. I added a script on the server that the plasmoid will connect to. The only processing the plasmoid has to do is with lsb_release. When used with the flag -d, lsb_release will return only the “Description” of the current release of your system. This can be used to determine if the release is a stable release, or if it is a development release. Here are 2 example outputs to show this:
QUIZ: Can you figure out the names of my computers from the 2 screenshots and how or why I named them? Jono, Jorge, and a few others over there in Michigan and here in Chicago, don’t answer! See if you can do this without Googling 🙂
So with the stable version, you can see the last bit in the line is the version number, in this case 9.04. In the development version instead of having the 9.04 it instead has karmic. So which ever value that the plasmoid gets when doing this it sends to the script like this:
If it is a development release, then it connects with ver=karmic.
Once the script gets that, it then does its magic. It first checks if the $ver is a string or a float. If it is a string, then it takes the string and looks over http://cdimage.ubuntu.com/kubuntu/releases/$ver. It parses the HTML and looks for the latest release under $ver. That then returns whatever the latest release is on the development side only. If $ver is a float, then it parses the HTML of the public survey list and matches up version numbers. Once either of these are complete, the $SID is returned, which is the last part of the URL to the respected survey. Then the PHP script magically redirects the plasmoid to the correct survey.
So with that, I think the Kubuntu Team is in good shape to have this as part of the Alpha 3 release, and possibly even sooner. I would still like to take this beyond a plasmoid and look at creating some sort of application for the desktop that can do everything for everybody, this way here we can pass it around to the rest of the distros so they can use it during their development cycles as well. If you have any ideas, please pass them on, or start hacking on it. I would be willing to lend a hand when the time warrants.