Page MenuHomePhabricator

unescaped page name makes smw_notitle error confusing
Closed, ResolvedPublic

Description

Author: info

Description:
Create the relation [[My Prop::[[Test]] ]] on a page.

The extra [[ ]] around the object's title aren't needed and cause problems.

So the factbox (correctly) displays an error triangle and the popup shows
“Test” cannot be used as a page name in this wiki.

But this error message is quite confusing as Test appears as a normal wiki link. "Test" is fine, it's the wiki markup that you don't see in the error text that causes problems.

It would be more obvious if the error text was escaped to show the actual text you entered, i.e.
“[[Test]]” cannot be used as a page name in this wiki

I tried wrapping the page title in <nowiki> in SMW_DV_WikiPage.php:

$this->addError(wfMsgForContent('smw_notitle', "<nowiki>$value</nowiki>"));

and it didn't make any difference.

According to http://www.mediawiki.org/wiki/Extension:Character_Escapes, "we have to use escapes to prevent markup being parsed prematurely. MediaWiki does not have built-in mechanic for this".

So maybe this is hard to fix.


Version: unspecified
Severity: minor

Details

Reference
bz11666

Event Timeline

bzimport raised the priority of this task from to Low.Nov 21 2014, 10:00 PM
bzimport set Reference to bz11666.

I think we will jsut change it so that [[ ]] are stripped from page titles in this place. This does not fix the problem in general, but maybe for most cases. Other than this, one can always replace "[" by its HTML-UTF-escape.