On Freitag, 16. Mai 2008, Robert Murphy wrote:
> Dear Developers,
>
> I have successfully installed the Poem extension
> (http://www.mediawiki.org/wiki/Extension_talk:Poem) on my wiki and it
> has been running fine.  However, I just discovered too faults with it,
> that I now think may be due to Semantic MediaWiki.
>
> First, on the talk pages of custom namespaces, use of the <poem> tag
> makes the error
> UNIQ583c33685170dbcd-poem-00000000-QINU
> (for an example, see
> http://reformedword.org/index.php?title=Greek_talk:Genesis/13&oldid=423322)
>.
>
> Second, it makes the factbox right after the </poem>, in the middle of
> the page, and the values aren't on the page's main factbox, at the
> bottom. (see http://reformedword.org/Greek:Psalm/119).
>
> While I know some PHP, I don't know the mediawiki framework well
> enough to know why either of these might be. I posed this question on
> the extension's page on mediawiki.org and got no reply.  I wrote on
> the talk page of Poem's creator
> (http://en.wikipedia.org/wiki/User:Nikola_Smolenski) and he suggested
> I contact Steve Sanberg (http://en.wikipedia.org/wiki/User:Sanbeg).
> His reply was:
>
>     The UNIQ.. problem seems to be unrelated to the poem extension.
> Basically, the preprocessor hides XML-style tags with strings like
> that to prevent them from being treated as wikitext, then unhides them
> later on; something in the state of your parser must be getting messed
> up. I looked at your wiki, and I get the same result with poem, cite
> and nowiki. It's probably best to try disabling some extensions to see
> which one is causing that. I'm not sure about semantic mediawiki; I'd
> guess that it's using the wrong hook to detect when the page is ends,
> so the recursive parse triggers the fact box. That sounds like a bug
> in semantic mediawiki. -Steve Sanbeg (talk) 15:23, 15 May 2008 (UTC)
>
> I've disabled Cite to no avail.  Now I can accept that the talk_page
> problem might be mine alone, but the factboxes (pl.) in the middle of
> the pages seems like a SMW error.

The whole thing is due to the way MediaWiki works, and one cannot really blame 
either SMW or Poem here. MediaWiki replaces certain parts of input text with 
that "UNIQ..." stuff. This happens *before* any extension gets to see the 
code -- i.e. extensions do not know what was there before (at least I do not 
know how, and in any case it this stuff usually cannot be understood as 
normal wiki text). Not only poem, but also <!--...-->, <math>, and <nowiki> 
are examples for that. See also bug 13011 
<https://bugzilla.wikimedia.org/show_bug.cgi?id=13011>

One way to improve the situation might be to have a parser function 
{{#poem:... instead of a parser hook <poem> (similar to our #ask that 
replaced <ask>). It is really the way in which MW processes <parserhooks> 
that creates problems here. Parser functions return not UNIQ... but normal 
wiki code, and that would be workable input for SMW.

The other stuff (Factbox in page) happens for other reasons. The problem is 
that SMW uses MW hooks during parsing, i.e. functions that the parser 
triggers when parsing wiki articles. Unfortunately, MediaWiki uses more than 
one parser, and any hook in the parser code is used by all of those. Thus, 
whenever MediaWiki uses a second parser for some part of text, SMW will do 
the same as if this text was the only input. I know of no way of detecting 
whether SMW runs in a subparser or in the "real" parser. Normally, however, 
subparsers are triggered before or after the main page was parsed, and no 
semantic data is found then -- thus the Factbox is empty and remains hidden. 
You can try __NOFACTBOX__ to not display the Factbox, or you can check 
whether it suffices to avoid semantic annotations in certain environments.

-- Markus

-- 
Markus Krötzsch
Institut AIFB, Universität Karlsruhe (TH), 76128 Karlsruhe
phone +49 (0)721 608 7362          fax +49 (0)721 608 5998
[EMAIL PROTECTED]          www  http://korrekt.org

Attachment: signature.asc
Description: This is a digitally signed message part.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Semediawiki-devel mailing list
Semediawiki-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/semediawiki-devel

Reply via email to