The documentation suggests that you can use `+` symbols to expand multiple versions per product name. http://socorro.readthedocs.org/en/latest/middleware.html#id54 However, the code seems to rely on `,` to split. https://github.com/mozilla/socorro/blob/master/socorro/middleware/releases_featured_service.py#L38 Which one is correct? How is this used by the UI?
+ is normally used as an encoding for space in some cases (see e.g. http://en.wikipedia.org/wiki/URL_encoding#The_application.2Fx-www-form-urlencoded_type) so I think we should not use it for anything else.
So, currently the product:version 'arrays' passed to the middleware uses + i.e. versions/Firefox:14.0.1+Firefox:17.0 but, as discussed on Github, this might change to use the ; instead. Adrian will be able to confirm however.
Now this is a real inconsistency in my work. I think I used a comma here because the php_curl library uses that when encoding arrays. Anyway, the code is correct and the documentation is wrong here. But I don't know which one we should fix... :) Right now we use '+' as the splitting character in all new-style services, which means most of the middleware, with a few exception as this one. It seems more and more that + should not be used because some of our inputs like signatures can contain it. We discussed that with Peter recently and I think using another character, maybe ';', would be better. It requires a lot of changes though. Maybe after we switched to the Django UI?
For now, change the documentation specifically for that service. My new middleware is now also using `,`. Like rhelmer said, + is meant for other things and we should stop using it. One bug at a time. Mind you, the URLs in the middleware has *nothing* to do with the URLs in the UI. ...on a technical level. However, I think it still stands that we should hunt down `+` and replace them slowly with `,`.
OS: Mac OS X → All
Hardware: x86 → All
Target Milestone: --- → 19
Moot point now that all fetching of products & versions is via the new ProductVersions model.
Status: NEW → RESOLVED
Last Resolved: 2 years ago
Resolution: --- → INVALID
Product: Socorro → Socorro Graveyard
You need to log in before you can comment on or make changes to this bug.