Last modified: 2012-08-21 10:09:16 UTC
When using something like this [[Link::<nowiki></nowiki>]] This error occurres Fatal error: Call to a member function getScheme() on a non-object in /.../httpdocs/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_URI.php on line 248
What version of MediaWiki and extensions? I cannot reproduce this issue locally.
I've latest from SVN The point is that the property Link needs to have type URL http://www.wecowi.de/wiki/Attribut:Link
Still something like this [[Link::<nowiki>de.wikipedia.org</nowiki>/wiki/Bochum-Gelsenkirchener_Straßenbahnen|Bogestra bei Wikipedia]] leads to a fatal error like described above still latest trunk version The property Link has type URL
Fixed in r111250. As usual, nowiki, math, etc. do not work in SMW values since their content is replaced by MediaWiki only later (so SMW does not know what was written there). It is now ensured that even in this case, the value object is initialised properly, so that errors like the above are prevented.
I still see this error when importing a wiki. Fatal error: Call to a member function getScheme() on a non-object in C:\wamp\ww w\Store3\extensions\SemanticMediaWiki\includes\datavalues\SMW_DV_URI.php on line 255 Here's the stack trace. http://dpaste.org/WQJ2j/
Created attachment 10989 [details] stack trace when running runJobs.php
This is actually another problem that is not related to nowiki at all. The value that is loaded from the database has the wrong DI type, so the loading fails. See loadDataItem() on line 169 in DV_URI. This probably indicates that some stored data was not readable (caused an exception when trying to load it into a DI). This is okay in general (though I don't know if it is ok in this particular case, but this is another issue). The main issue here is that DV_URI does not correctly deal with this situation and fails to check the validity of the loaded data in some cases. Similar issues exist in other DV implementations. A more robust system is needed. Instead of accessing m_dataitem directly, one should always use a local function getInternalDataItem() that creates a fallback dataitem as a result if there is none. I will fix this ...
Ok, should be fixed (for URIs) in https://gerrit.wikimedia.org/r/#/c/20871/