Last modified: 2013-03-20 17:54:24 UTC
SpecialItemByTitle takes a page title from another wiki as one of its parameters. It then uses a Title object to represent this internally - but that is dangerous and misleading. The rules for titles on the local wiki are not the same as the ones on the target wiki. A title containing a : may be in a well known namespace in one but not the other wiki, changing the canonical name utterly. Instead, SpecialItemByTitle should use a SiteLink object to represent the title and target wiki internally. Title normalization requires an API call to the target wiki, and should thus be optional (or disabled).
*** Bug 44956 has been marked as a duplicate of this bug. ***
It will not be possible to make this optional if a client wiki uses sitelinks in non-mainspace.
(In reply to comment #2) > It will not be possible to make this optional if a client wiki uses sitelinks > in non-mainspace. Why not? Making it optional just means that no normalization takes place, so the request must then contain the title in already normalized for. Otherwise it will fail. That's inconvenient, but sure possible, no?
We use normalization to be able to match two links. If those two links are not similar then we will have no match. If we use two different ways to normalize the lookup will fail. Yes we can turn off normalization, no it is not a good idea because the user most often will have no idea why a lookup fails.
(Bug 44536, Bug 44968) Use SiteLink instead of Title ://gerrit.wikimedia.org/r/#/c/49066/
fixed link to gerrit change: I1176f839
(In reply to comment #4) > Yes we can turn off normalization, no it is not a good > idea because the user most often will have no idea why a lookup fails. Normalizing always is nice, but may be a performance problem. If it is a problem, we can turn it off. Keep in mind that ItemByTitle really isn't supposed to be used by people directly. We could even mark it as unlisted - maybe we should. Special:ItemByTitle is merely the backend to our title-based addressing scheme. That scheme says that people should be able to just take a Wikipedia URL, replace "wikipedia" by "wikidata", and the link should work. Since the Title in the URL will be in normalized form, this will work fine without normalization (except for redirects).
Verified in Wikidata demo sprint 35-2