For my 4th release my bug was to change the slug function in Thimble in order for it to recognize unicode characters. Although the bug required only a few lines of code to complete, it did take me a while to finish because of all the problems I ran into while attempting to test it locally. I was hoping to complete another bug for this release as well, but the frequent errors I encountered really hindered my progress.
To complete this bug I had to first figure out what code to write/use in order to account for unicode characters in a URL. The uslug function that was recommended seemed ideal, so I stuck with using that. I was hoping to simply integrate the new function in the old one (slugify), but I was advised to test it first.
Attempting to run locally led me to a bunch of errors. This can be seen in one of my previous blog posts (https://elnushaj.wordpress.com/2013/11/24/slugs-and-thimble-testing/). Apparently, I had an outdated version of Thimble and when I tried to run it it failed. This was a little odd, since I made sure to update before I started working. I had to ask for some help on IRC to figure this out since I didn’t suspect it could be due to an outdated version.
After I solved that issue I ran into another. I could not publish a make locally and could not see the outcome of the uslug function. I tried to figure out what the problem was, but I again referred back to IRC for some help. After some discussion I was told that I was missing the MakeAPI server and had to set that up in order to publish a make locally. Like before, I did not think that a missing server was the problem since I was initially informed that I did not need it to test this bug.
I tried to set up the MakeAPI server by first installing its components. However, after several attempts of trying to get MongoDB and Elasticsearch running, I could not get them to start. This can be seen in my last blog post (https://elnushaj.wordpress.com/2013/12/02/local-publishing-issues-and-slug-testing/).
I decided to alternatively code a small node application in order to test the uslug function. I was provided a reference point (https://github.com/alicoding/simple-node-express) to do this and ended up modifying some files from it in order to test out the function.
I attempted to contact someone on IRC, to see if they were satisfied with the outcome, but I did not receive a response. I tried several times to no avail. I ended up just submitting the bug instead, so that I could double check with the reviewer before the bug fix was approved.
After review, I ended up adding a test section to thimble in order for people to test out external parts of the system. I put a file in the directory, for testing the uslug function, to demonstrate that the Unicode characters were handled as required. I did not bother creating multiple tests since I was not sure what qualified as acceptable results.
Git: https://github.com/mozilla/thimble.webmaker.org/pull/310/files
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=903143