MediaWiki 1.9.x y los problemas con las extensiones

MediaWiki es el software detrás de los diversos proyectos de Wikipedia, que incluye soporte de extensiones que agregan nuevas características al wiki. En su versión más reciente, MediaWiki 1.9.x, algunas extensiones que hacen llamadas al interprete de sintaxis wiki (parser) tienen problemas para funcionar en la nueva versión. El problema es la forma en que se llama ahora al interprete de sintaxis wiki, antes era un código similar a:

function customfunction($input, $argv) {
   [...]
   global $wgOut;
   $output = $wgOut->parse($input, false);
   [...]
   return $output;
}

Para solucionarlo solo hay que adecuar la función de la extensión a esta nueva forma:

function customfunction($input, $argv, &$parser) {
   [...]
   $poutput = $parser->parse( $input, $parser->mTitle,
                   $parser->mOptions, false, false );
   $output = $poutput->getText();
   [...]
   return $output;
}

Y listo, ya esta hecho el chapuz para que nuestra extensión vuelva a funcionar ;) .

Etiquetas: , , wikis

4 comentarios

  1. Publicado el 17 de febrero de 2007 a las 1:36 pm | Permalink

    Gracias por la información la tendre en cuenta(algún día), aunque no se que versión de MediaWiki uso :S

  2. Publicado el 17 de febrero de 2007 a las 2:20 pm | Permalink

    @imez: MediaWiki tiene una página especial para ver las versiones de todo lo que estas usando (php, apache, mysql, mediwiki, extensiones, y hooks).

    En tu caso sería: http://webdebolsillo.com/wiki/Especial:Version

    Pero entonces como pusiste el Wiki? onclick install supongo XD

  3. Publicado el 18 de febrero de 2007 a las 3:52 pm | Permalink

    La versión del Wiki no me importo mucho, los requerimientos si. LO publique hace poco pero el wiki ya tenía rato instalado, la verdad ya no me acordaba de eso.

  4. loui
    Publicado el 31 de mayo de 2008 a las 3:58 pm | Permalink

    Hola Javier,
    Creeme cuando te digo que llevo dias didicando unicamente a resolver el el problema de instalar ParserFunctions. No consigo entender porque se me bloquea mediawiki, pues me sale la pantalla en blanco despues d poner la intruccion en el archivo LocalSettings.php:
    require_once( “$IP/extensions/ParserFunctions/ParserFunctions.php” );

    tengo la version 12 de mediawiki y el parche lo descargado de la pagina:
    http://es.wikibooks.org/wiki/Manual_wiki/Edici%C3%B3n/Funciones#Instalaci.C3.B3n

    he probado en local y me pasa lo mismo, deja de funcionar la wiki, estoy desesperado, ya no se como resolverlo, he metido horas en google y no he encontrado nada.

    alguna luz que me puedas dar para salir del pozo?

    gracias

    saludos

Un Trackback

  1. Por Wiki, Wiki, MediaWiki el 7 de agosto de 2007 a las 10:47 am

    [...] las extensiones fueron poco compatibles entre una versión y otra de MediaWiki y se deben hacer las correcciones a mano. Ahora que el software a madurado un poco más esos problemas se reducen cuando la comunidad [...]

Escribe un comentario

Required fields are marked *

*
*

Seguir

Get every new post delivered to your Inbox.

Únete a otros 82 seguidores