{"id":70,"date":"2013-11-21T09:21:01","date_gmt":"2013-11-21T09:21:01","guid":{"rendered":"http:\/\/esferas.org\/msqlu\/2013\/11\/21\/notas-para-instalar-un-editor-chulo-para-mediawiki\/"},"modified":"2013-11-21T09:21:01","modified_gmt":"2013-11-21T09:21:01","slug":"notas-para-instalar-un-editor-chulo-para-mediawiki","status":"publish","type":"post","link":"https:\/\/esferas.org\/msqlu\/2013\/11\/21\/notas-para-instalar-un-editor-chulo-para-mediawiki\/","title":{"rendered":"Notas para instalar un editor chulo para Mediawiki"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" alt=\"Wiki.png\" src=\"https:\/\/esferas.org\/mt\/msqlu\/logos\/Wiki.png\" class=\"mt-image-left\" style=\"float: left; margin: 0 20px 20px 0;\" height=\"135\" width=\"135\" \/>Y es que debo reconocer que el editor <em>normal<\/em>\u00a0 dista bastante de ser amigable. Si pretendo que alguien m\u00e1s lo utilice obligarles a escribir directamente en el lenguaje de marcado de Mediawiki puede ser excesivo.<\/p>\n<\/p>\n<p><!--more--><\/p>\n<p>La extensi\u00f3n que quiero instalar se llama <a href=\"https:\/\/www.mediawiki.org\/wiki\/Extension:WikiEditor\">WikiEditor<\/a> y los pasos que he seguido son los siguientes, teniendo en cuenta que el propio Mediawiki procede del paquete Debian correspondiente.<\/p>\n<ol>\n<li>Creamos un directorio para la extensiones en <em>\/opt\/mediawiki\/extensions<\/em> y lo asignamos al usuario\u00a0<em>www-data<\/em>.<\/li>\n<li><a href=\"https:\/\/www.mediawiki.org\/wiki\/Download_from_Git\">Clonamos<\/a> el repositorio correspondiente a la extensi\u00f3n.<\/li>\n<li>Retocamos la configuraci\u00f3n de Mediawiki para activarlo.<\/li>\n<li>Recargamos y probamos.<\/li>\n<\/ol>\n<p>El clonado de la extensi\u00f3n es sencillo:<\/p>\n<pre># cd \/opt\/mediawiki\/extensions<br \/># git clone https:\/\/gerrit.wikimedia.org\/r\/p\/mediawiki\/extensions\/WikiEditor.git<br \/># chown -R www-data.www-data WikiEditor<\/pre>\n<p>En Debian existe un mecanismo para gestionar las extensiones muy sencillo. Bajo el directorio <em>\/etc\/mediawiki-extensions<\/em> tenemos dos directorios: uno para las extensiones disponibles (<em>extensions-available<\/em>) y otro para las activas (<em>extensiones-enabled<\/em>). En el primero se sit\u00faan enlaces simb\u00f3licos al archivo PHP principal de la extensi\u00f3n y en el segundo hay enlaces al primero. La configuraci\u00f3n predeterminada de Mediawiki consulta \u00e9ste \u00faltimo y carga las extensiones all\u00ed presentes. Como digo, muy sencillo.<\/p>\n<pre># cd \/etc\/mediawiki-extensions\/extensions-available<br \/># ln -s \/opt\/mediawiki\/extensions\/WikiEditor\/WikiEditor.php . <br \/># mwenext WikiEditor.php<br \/>Extension WikiEditor.php enabled !<br \/>#<\/pre>\n<p>Ahora deber\u00edamos crear un archivo con los valores de trabajo de la extensi\u00f3n tal y como recomiendan en la documentaci\u00f3n:<\/p>\n<pre># Enables use of WikiEditor by default but still allow users to disable it in preferences<br \/>$wgDefaultUserOptions['usebetatoolbar'] = 1;<br \/>$wgDefaultUserOptions['usebetatoolbar-cgd'] = 1;<br \/> <br \/># Displays the Preview and Changes tabs<br \/>$wgDefaultUserOptions['wikieditor-preview'] = 1;<br \/> <br \/># Displays the Publish and Cancel buttons on the top right side<br \/>$wgDefaultUserOptions['wikieditor-publish'] = 1;<br \/><br \/><\/pre>\n<p>Y deber\u00eda bastar con reiniciar el servicio correspondiente y visitar la p\u00e1gina <em>Special:Version <\/em>del wiki para asegurarnos de que est\u00e1 activa. Ah, lo olvidaba, debo mencionar el mecanismo para a\u00f1adir configuraci\u00f3n local a Mediawiki.<\/p>\n<h3>Configuraci\u00f3n local flexible de Mediawiki<\/h3>\n<p>Este mecanismo es similar al de las extensiones. Se crea un directorio especial donde se almacenan archivos con extensi\u00f3n <em>php<\/em> y se realizan algunos ajustes en la configuraci\u00f3n local para que los cargue durante el arranque. Si necesitamos desactivar alguna basta con renombrarla para que la ignoren.<\/p>\n<p>El directorio en cuesti\u00f3n puede ser <em>\/etc\/mediawiki\/settings.d<\/em> y el ajuste que menciono consiste en a\u00f1adir las siguientes l\u00edneas a <em>\/etc\/mediawiki\/LocalSettings.php<\/em>\u00a0 (sobre el final estar\u00eda bien):<\/p>\n<pre># Cargamos configuraci\u00f3n adicional seg\u00fan m\u00f3dulos <br \/>if (is_file(\"\/etc\/mediawiki\/settings.php\")) {<br \/>        include(\"\/etc\/mediawiki\/settings.php\");<br \/>}<\/pre>\n<p>Tambi\u00e9n tenemos que crear el siguiente archivo fuente en <em>\/etc\/mediawiki\/settings.php<\/em><\/p>\n<pre>&lt;?php<br \/><br \/>\/\/ Include base functions<br \/>include_once( '\/usr\/share\/mediawiki-extensions\/base\/ExtensionFunctions.php' ) ;<br \/><br \/>$mw_debian_settings_dir = \"\/etc\/mediawiki\/settings.d\";<br \/><br \/>\/\/ Including all enabled extensions.<br \/>if ( is_dir( $mw_debian_settings_dir )<br \/>  &amp;&amp;<br \/>    $dh = opendir( $mw_debian_settings_dir ) ) {<br \/>       while ( ( $file = readdir( $dh ) ) !== false ) {<br \/>           $absolute_file = $mw_debian_settings_dir . DIRECTORY_SEPARATOR . $file ;<br \/>       if ( preg_match( \"\/.php$\/\",$file ) &amp;&amp; file_exists( $absolute_file ) &amp;&amp;<br \/>                 is_readable( $absolute_file ) ) {<br \/>                include_once( $absolute_file );<br \/>            }<br \/>        }<br \/>        closedir( $dh );<br \/>     }<br \/>?&gt;<br \/><br \/><\/pre>\n<p>y reiniciamos el servicio para que tenga en cuenta los cambios. Simple, \u00bf no ?<\/p>\n<\/p>\n<\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Y es que debo reconocer que el editor normal\u00a0 dista bastante de ser amigable. Si pretendo que alguien m\u00e1s lo utilice obligarles a escribir directamente en el lenguaje de marcado de Mediawiki puede ser excesivo.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"1","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","webmentions_disabled_pings":false,"webmentions_disabled":false,"footnotes":""},"categories":[2],"tags":[41,117,118],"class_list":["post-70","post","type-post","status-publish","format-standard","hentry","category-software","tag-debian","tag-mediawiki","tag-wikieditor"],"_links":{"self":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/70","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/comments?post=70"}],"version-history":[{"count":0,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/70\/revisions"}],"wp:attachment":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/media?parent=70"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/categories?post=70"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/tags?post=70"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}