Author: mediawiki.bugzilla
Description:
If I have a page or property with a hyphen or space in its name, I may want to do a Special:SearchByProperty on it, using the tidy slash-based syntax. For example, http://sandbox.semantic-mediawiki.org/wiki/User:Paulproteus contains:
[[Special:SearchByProperty/Your-Mom/Wears Polyester]]
This generates the following URL:
http://sandbox.semantic-mediawiki.org/wiki/Special:SearchByProperty/Your-Mom/Wears_Polyester
Visiting that URL shows that SMW interpreted the values this way: A list of all pages that have property "Your%Mom" with value "Wears_Polyester"
The sandbox wiki seems to be running SMW 1.4a. On learn.creativecommons.org/community (running SMW 1.3.4), the generated URLs follow use + to encode spaces in the value portion, and _ to encode spaces in the property portion. On that wiki, there are different sorts of encoding errors; further details on that are below.
There are two sensible fixes: Changing the way links get generated so that space and hyphen are properly encoded, or fixing the Special:SearchByProperty to do its decoding differently.
MORE INFO ON SMW 1.3.4 BEHAVIOR
The past behavior is not quite correct, but it is in some ways less wrong. http://learn.creativecommons.org/community/ATT_Knowledge_Network_Explorer_-_Education links to http://learn.creativecommons.org/community/Special:SearchByProperty/Tag/K-12%2Beducation , turning the " " in the value portion into a +. However, both non-alphanumeric characters there are corrupted. It does link the word "no" to http://learn.creativecommons.org/community/Special:SearchByProperty/Open_or_Free_Statement/no , properly encoding and decoding the "Open or Free Statement" into Open_or_Free_Statement.
WHY THIS MATTERS
This is the only way (I think) to, within the wiki, link to SearchByProperty results.
SUGGESTION
In my half-serious opinion, the best way to fix this sort of thing is to write a test and make quasi-random changes until the test passes, then read the patch that fixes the issue, be able to justify it as if you came up with it intentionally, and then commit.
Version: unspecified
Severity: normal