En la jaula de un geek

Los README son para los cobardes. Sé valiente. Ejecuta el programa.

«

»

Mar 28

Instalar Mediawiki con LDAP

Una de las herramientas web que más rápidamente se han extendido a nivel de usuario han sido las llamadas “wiki” gracias al proyecto Wikipedia, pero antiguamente ya existían otros proyectos web similares.

Estas herramientas permiten visualizar y buscar rápidamente entre los diferentes artículos que disponen, creando sistemas de categorías en árbol, así puedes, por ejemplo, documentar varios proyectos y, al realizar una búsqueda, utilizar el texto de cada documento como parte de la búsqueda. Esto también pueden hacerlo gestores documentales, pero requieren indexar sus documentos, la idea puede resultar similar, pero la base es totalmente diferente.

La otra gran ventaja es la capacidad de que una comunidad pueda crear artículos y editarlos para ir actualizando o añadiendo nuevos datos continuamente, esto también es una gran diferencia con lo que haría un blog.

0- Previos

Me basaré en el proyecto Mediawiki del que proviene la Wikipedia por su gran extensión y guías de usuario que podemos encontrar en cualquier lado, lo cual lo hace más fácil de utilizar y gestionar.

Mediawiki crece continuamente y ya no solo dispone de varias formas de instalar, sino que la cantidad de extensiones que tiene es enorme, además la gestión de algunos de los más modernos (como Lua) puede resultar casi imposible de utilizar si no se tienen unos altos conocimientos en este. Después de plantear diferentes opciones y probar estas extensiones tan complicadas, mi idea final ha sido descartarlas y no replicar el potencial de la Wikipedia, ya que el nivel de complejidad y aprendizaje necesario para utilizarlo sale de mis necesidades, así que en este artículo explicaré la forma básica de instalación junto a algunas extensiones básicas.

En todo momento utilizaré el usuario root y un entorno LAMP, el cual daré por hecho que ya está listo para utilizar.

1- Instalar Mediawiki

El primer paso es configurar la base de datos.

Creamos la base de datos y el usuario con acceso a esta, ya que la base de datos está en local, no será necesario darle permisos para acceder de forma remota.

Descargamos la última versión en una carpeta temporal y lo movemos al destino final.

Ya tenemos la base, es hora de publicarlo desde Apache, podemos crear un vhosts nuevo o partir de otro existente.

Configuramos el vhosts para la Wiki.

En condiciones normales esto es suficiente para empezar a instalar Mediawiki, pero seguramente nos faltaran módulos de PHP por instalar, podemos confirmar lo que nos falte desde el instalador al que accederemos desde la URL de publicación.

En mi caso faltaban dos herramientas, estas no son obligatorias, pero sí recomendadas, estas son la normalización de Unicode, instalable en un simple paso.

Y la caché con APCu, pero como utilizo PHP7, la antigua no me sirve, para ello se utiliza la versión nueva que requiere compilarla con los siguientes pasos.

Una vez compilado añadimos esta extensión al php.ini configurado para Apache.

En el apartado de extensiones, añadimos la nueva.

Después de reiniciar Apache, refrescamos la instalación de Mediawiki y seguimos revisando que estén todos los pasos necesarios.

La instalación es muy intuitiva, por defecto ya marca las mejores opciones y explica cualquier parte en la que tengamos dudas. Al final de las preguntas base podemos elegir si terminar ya o seguir respondiendo a dudas, en el siguiente paso me centraré en estas.

2- Configuración avanzada de la instalación

La Wiki puede ser configurada acorde a diferentes permisos, según si será abierta (cualquiera puede modificar), necesita usuario (pero igualmente cualquiera puede modificar únicamente registrándose), requiere usuario que un administrador le proporcione o privada donde ni siquiera se podrá leer por los usuarios no registrados, este y el tipo de licencia son puntos muy importantes.

En caso de necesitar que la Wiki gestione e-mails deberemos definir cada uno de los puntos indicados.

Por defecto, Mediawiki dispone de varios themes y extensiones, el theme por defecto de Wikipedia es Vector siendo el de por defecto y más conocido, si no vamos a utilizar ninguno de los otros, los podemos quitar para evitar que un usuario cambie a uno de ellos y nuestros cambios en la CSS no se apliquen correctamente en esos.

Sobre las extensiones, lo más recomendable es revisar qué hace cada una de ellas y activarlas o no acorde a nuestras necesidades, aun así, esta es una lista de los más comunes de entre los que lleva por defecto:

  • Cite
  • CiteThisPage
  • InputBox
  • ParserFunctions
  • PdfHandler
  • SyntaxHighlight_GeSHi
  • WikiEditor

Habilitamos la subida de ficheros si es necesaria y cambiamos el nombre del logo para no modificar el original, ya que en una actualización podríamos reemplazar el nuestro por el de por defecto.

Una vez terminado subimos el fichero LocalSettings.php a la raíz del proyecto para poder acceder.

3- Configuración de extensiones

Todas las configuraciones se añaden al fichero LocalSettings.php, así que las siguientes explicaciones utilizaran este fichero de base.

  • Logo

Como se ha visto anteriormente, existe un path concreto para indicar el logo, pero es mejor cambiarlo por otro nombre para evitar problemas a futuro. Además de este path se pueden incluir otros tipos como el favicon o el favicon de midas para dispositivos Apple.

Todos los logos e imágenes estáticas que necesitemos que estén en todos los theme se incluyen en la carpeta resources/assets

  • Subir ficheros

Si elegimos la opción de subir ficheros, se activará la lista de extensiones permitidas por defecto, pero esta quizás sea demasiado restrictiva, o quizás la queramos restringir más, en cualquier caso, la podemos modificar a nuestras necesidades.

  • WikiEditor

Mediawiki dispone de un editor por defecto, pero esta extensión viene dentro del instalable por su gran uso, en la instalación la incluimos, pero debe ser activada manualmente, las siguientes variables activan todas sus opciones.

  • LDAP

Existe una extensión para autenticar desde LDAP aunque es algo vieja, pero se puede seguir configurando. Hay que tener en cuenta que es una de las partes más complejas y seguramente requerirá de mucha investigación ya que cada LDAP es diferente. La configuración que yo indico es para Oracle DSEE.

Esta extensión requiere el módulo de LDAP de PHP para funcionar, así que el primer paso es instalarlo y reiniciar.

Para instalar una extensión como esta, debemos descargar la última versión, descomprimirla en la carpeta extensions y lanzar el proceso de mantenimiento.

Esta extensión genera los datos del usuario la primera vez que se inicia sesión con su usuario y contraseña, pero con el sistema actual de gestión de usuarios, esto no funciona, así que se debe activar una nueva función para autocreación de usuarios a partir de extensiones.

La siguiente configuración permite a los usuarios que pertenecen al grupo cn=Wiki,ou=Groups,dc=domain,dc=cat acceder a la Wiki.

Configuración para LDAP diferente a Active Directory

Mientras el LDAP no sea un Active Directory, esta configuración debería ser iguao o muy similar. Esta concretamente es para un Oracle Directory Server (ODSEE).

Configuración para Active Directory

Active Directory es otro mundo dentro de los LDAP, para él se requiere cambiar unas cuantas cosas.

  • SyntaxHighlight_GeSHi

Esta extensión activada en la instalación permite escribir secciones en idiomas de programación concretos, tiene una infinidad de idiomas soportados que se pueden ver desde su web.

En este caso solo es necesario cargar su extensión como ya tendremos, pero es importante conocer el formato de escritura en un artículo Wiki, este es un ejemplo para escribir en PHP:

  • URL amigables (SEO)

Esto no es una extensión, por defecto la Mediawiki utiliza index.php en su URL, como esto es poco amigable y no sigue los ideales de SEO, lo cambiaremos por wiki.

Primero hay que añadir un .htaccess en la raíz con los siguientes datos para permitir las redirecciones.

Con ello modificamos las variables para indicar el nuevo nombre.

4- Uso de Mediawiki

  • Crear página nueva

La típica duda cuando no se conoce el funcionamiento es cómo crear una página nueva, y es muy simple a la vez que no demasiado clara, en la búsqueda escribe el título que tendrá la nueva página, al no encontrará, mostrará la opción de crear la página nueva con ese nombre, así de simple.

  • CSS y JS

Existen dos páginas, una para CSS y otra para JS, que permiten añadir estas de forma dinámica sin tener que modificar cada theme, se acceden modificando la URL hacia las siguientes:

  • wiki/MediaWiki:Common.css
  • wiki/MediaWiki:Common.js

Son tratadas de forma similar que otro artículo, así que pueden ser modificadas igual y disponen de historial

  • Sidebar

El menú de la izquierda se llama Sidebar y puede ser modificado, hay que tener en cuenta que el nombre de este es visible para cualquier usuario sin iniciar sesión, así que, aunque no pueda acceder a los artículos, sí que podrá ver cada nombre que aparezca.

La página para acceder es:

  • wiki/MediaWiki:Sidebar

Debido a que el formato es diferente al del resto de artículos de la Mediawiki, es importante revisar la documentación oficial para cualquier cambio que hagamos en este.

  • Templates

El verdadero potencial de una Mediawiki proviene de los Templates, estas son páginas especiales donde se definen formatos que después pueden ser reutilizados en cualquier otro artículo pasándole parámetros. Los típicos menús laterales que tantas veces vemos en Wikipedia provienen de Templates que a su vez provienen de otras Template y estas de otras.

Para crear una nueva template introduciremos la siguiente URL:

  • wiki/Template:NombreNuevaTemplate

Sigue los mismos pasos de cualquier otro artículo.

Una vez creada la utilizaremos en otros artículos con {{INombreNuevaTemplate}}.

Debido a la gran complejidad que puede tener una template, vuelvo a recomendar la documentación oficial, después de leer todo el artículo es recomendable ver cómo están diseñadas las Templates de otra Mediawiki como por ejemplo cualquiera de las Wikia, Wikipedia es muy mala opción de donde basarnos ya que todos sus contenidos requieren de Lua para funcionar.

  • Importar/Exportar página

Para minimizar el impacto al hacer pruebas y debido a que instalar varias Mediawiki puede ser muy sencillo, la mejor opción es tener una solo para hacer pruebas, por ejemplo, para crear las nuevas Template, una vez funciona, solo tenemos que exportarla indicando que nos copie las templates utilizadas e importarla en la nueva Wiki, este proceso no copia las imágenes utilizadas, pero será fácil de subir manualmente.

Estas herramientas y otras muy útiles se encuentran desde las Páginas especiales del Sidebar.

Final

Hasta la fecha, este ha sido, sin duda, el servicio más complicado de instalar y configurar (y sigo en ello) de todos. Inicialmente plantee tener exactamente la última versión con todo lo que pudiera igualar a la Wikipedia, pero Scribunto y su Lua fueron una parte de extrema complejidad, sin ello se pierde mucha libertad de configuración, pero también se simplifica enormemente el proceso.

Configurar una Mediawiki básica es muy sencillo y con estos pasos se puede tener lista en pocas horas sin conocer nada de ella, pero si la idea es crear tus propias plantillas de forma correcta, con funciones y una organización muy concreta, la mejor opción sería instalar una Mediawiki de pruebas y dedicarle días o semanas a practicar, gracias a la importación/exportación de páginas, una vez consigues la plantilla correcta puedes pasarla al entorno real fácilmente.

Aun así, incluso Wikipedia dispone de páginas específicamente para que los usuarios prueben antes de cambiar algo importante.

16 comentarios

Ir al formulario de comentarios

  1. Edu HM

    Buenos días compañero,

    Despues de estar buscando y rebuscando en internet acerca de como integrar un DA que tenemos para uso interno en la empresa con una MediaWiki que acabo de montar he llegado a este post que me resulta muy muy útil, pero aun siguiendo las indicaciones que dices, no consigo que autentique mi MediaWiki contra el DA que tengo montado en un Windows 2016 Server.

    Me gustaría que si pudieras me echaras un “cable” para poderlo solucionar. Te estaría muy muy agradecido.

    Saludos cordiales!!!

  2. Rei Izumi

    Hola Edu,
    precisamente hace no demasiado compré un Active Directory y estoy migrando todos los servicios hacia él, lo cual está siendo un infierno 😀

    Active Directory es diferente a todos los demás, así que las configuraciones genéricas no sirven y convertirlas a él requiere muchos conocimientos del tema, horas, investigación y tener las ventanas lejos para no saltar por ellas (o lanzar el servidor por allí).

    He añadido la configuración que yo estoy utilizando para poder conectar, principalmente cambia los object class y atributos, también hay que añadir a true la variable que le indica al plugin que tienes un AD para que él se pueda adaptar internamente, sin ella nada funcionará.

    Quizás el más complejo sea el “wgLDAPSearchStrings”, si accedes a tu Active Directory, en cualquier usuario, verás un campo llamado “User SamAccountName logon” que contiene un dominio, contrabarra y el usuario.
    En condiciones normales, ese dominio es siempre el mismo y es con el que se hace el inicio de sesión.

    ¡Espero que te sirva de ayuda!

    1. EduHM

      Muchas gracias Rei!!!

      Ayer a ultima hora por fin consegui que validaran mis usuarios contra el DA que habia creado. Lo malo es que, antes de integrar el directorio activo ya tenia metido algunos usuarios de forma “local”, y esos mismo usuarios que estan dentro del DA se pueden validar tanto metiendo la contraseña asignada inicialmente a la hora de crear la cuenta en la MediaWiki, como con la contraseña que se le asignó a la hora de crear el usuario dentro del DA. Pero bueno esto es un mal menor. Lo bueno es que ya he puestoa andar la validación contra el DA de mi MediaWiki.

      Ahora lo que si que estoy medio perdido es cómo hacer lo siguiente:

      Tengo dos OU dentro de mi DA. Una OU “administradores” la cual contiene los usuarios con rol de administrador dentro de la Wiki. Tengo otra OU llamada “lectores” la cual contiene los usuarios que tendran rol de “solo lectura” dentro de mi Wiki. ¿Como puedo configurar estas dos opciones para dos grupos diferentes de usuarios en mi MediaWiki?

      Muchas gracias de nuevo por adelantado!!!

      1. Rei Izumi

        ¡Me alegro de que funcione!
        Sobre los usuarios locales, yo no permito ninguno de ellos, toda la gestión de usuarios proviene, si o si, del LDAP, así que los bloqueo con “$wgLDAPUseLocal = false;”. Así evito que 2 personas diferentes con el mismo nombre creen contenido y después no sepa quien es quien y también los típicos problemas de olvidar la contraseña, es más sencillo si todo lo gestiona el LDAP.

        El tema de permisos es complicado, ya que Mediawiki es un entorno colaborativo.
        Para empezar, tendrás que definir en los ajustes del LDAP que esos 2 grupos tienen acceso, o únicamente el de lectores y que allí también estén los administradores.
        Lo siguiente es quitar los permisos de edición de todos los usuarios registrados:
        $wgGroupPermissions[‘user’][‘edit’] = false;
        Y ahora viene lo complicado, que yo sepa, el plugin de LDAP permite la validación de usuarios, pero no utiliza nada sobre los grupos (aparte de límitar quien puede acceder), además Mediawiki tiene su propio sistema de grupos, con lo que definir que un grupo del LDAP tenga permisos concretos, siquiera asignar que ese grupo de LDAP se autoasigne al grupo de Administraodres de la wiki … quizás no sea posible.

        Yo siempre asigno los permisos desde la propia Wiki para evitar estos problemas (aunque hay que recordar qué, hasta que un usuario no ha iniciado sesión por primera vez, la Wiki no sabe quien es y por tanto no podemos darle permisos).

        Esta es la documentación oficial sobre el tema y en un primer vistazo no he visto nada sobre ello:
        https://www.mediawiki.org/wiki/Manual:User_rights
        Quizás puedas encontrar otro plugin para ello o reprogramar el PHP de alta de usuarios para que cree el usuario y le de el permiso en la wiki a la vez, aunque si quitaras el usuario del LDAP la wiki no se enteraría. Otra sería modificar el inicio de sesión para actualizar los permisos del usuario, pero estos cambios tan “grandes” se podrían romper entre actualizaciones, así que no me suelen gustar demasiado.

        Siento no poder ayudar demasiado con esto, en mi caso todas las Wikis siempre están abiertas a toda la empresa, ya que Mediawiki guarda versiones y también indica quien cambió qué con lo que no me preocupa tanto que puedan editar, es más, ¡quiero que lo hagan para crear un sistema de comunidad!

  3. Eduardo HM

    Muchas gracias por tu respuesta.

    Lo que entiendo que tal y como quiero, la autenticación se haga por mediación de LDAP contra las dos OUs que tengo montadas, y a nivel de permisos de grupos ya gestionarlos mediante la gestión de grupos de usuarios y permisos dentro de la propia Wiki, primero creando los grupos y permisos en el fichero LocalSettings y despues una vez los usuarios se autentiquen, ya asignarlos dentro de la MediaWiki al grupo correspondiente creado, en este caso, el grupo “lectores”.

    El tema de tener estos grupos, es porque se quiere dar acceso a usuarios externos de la organizacion pero que solo sean lectores y no puedan crear nada, solamente consultar contenido.

    Muchas gracias de antemano. Mañana me pondre al lio y te cuento!

    1. Rei Izumi

      Yo empezaría indicando que los usuarios no registrados no tienen visibilidad y los registrados no pueden editar. De ahí crear o reutilizar un grupo que sí permita escribir para la gente interna.
      Como necesitas que esa persona inicie sesión en la Wiki para que esta la añada a la lista y así le puedas dar permisos, si no le bloqueas los permisos de escritura de entrada, podrá escribir, si se los quitas de base te evitas futuros problemas.

      También resuelves el problema de que alguien añada usuarios al LDAP que puedan acceder y no informe de ello.

  4. Eduardo

    Buenas de nuevo compañero,

    Perdona que te moleste de nuevo, pero no doy con la tecla para realizar lo que comentaba en el post anterior, es decir, como hacer para que determinados usuarios solo puedan acceder y leer sin posibilidad de editar ningun contenido.

    Como ya sabes, la autenticación la tengo por LDAP, por lo que si doy de alta un usuario especifico del cual tira la configuración de LDAP de mi MediaWiki en el Directorio Activo, ese usuario accede sin problemas pero con permisos de edición. Entiendo que para dar a ese usuario permisos de solo lectura, habra que crearse un grupo especifico nuevo y darle los permisos necesarios para despues solo pueda leer.

    Esto es lo que tengo configurado en el LocalSettings. Que me faltaria por meter!?

    $wgGroupPermissions[‘*’][‘createaccount’] = true;
    $wgGroupPermissions[‘*’][‘edit’] = false;

    $wgGroupPermissions[‘*’][‘read’] = false;
    $wgGroupPermissions[‘*’][‘edit’] = false;

    Muchas gracias de antemano.

    1. Rei Izumi

      Hola Eduardo,
      me he revisado el tema y es un lío enorme, es más complicado de lo que esperaba :S

      Voy por partes, lo primero es bloquear la lectura y edición a toda la gente (anónimos), el grupo asterisco (*) parece que solo afecta a los anónimos y no a todos los demás:
      $wgGroupPermissions[‘*’][‘read’] = false;
      $wgGroupPermissions[‘*’][‘edit’] = false;
      Esto es lo que tienes ahora.

      Lo siguiente es bloquear el acceso de escritura a todos los usuarios (con lo que tampoco podrán crear páginas nuevas, ni discusiones, mover, etc, únicamente leer):
      $wgGroupPermissions[‘user’][‘edit’] = false;

      Esto tiene un problema, y es que incluso el administrador es un usuario, así que esto le quita el permiso de escritura, así que se lo devolvemos:
      $wgGroupPermissions[‘sysop’][‘edit’] = true;
      Si utilizas otros grupos predefinidos y necesitan permiso de edición, se los tendrás que devolver a cada uno.

      Para acabar, se crea un grupo nuevo (puedes reaprovechar uno existente, pero le estarías dando permisos extras al usuario que igual no te interesa), para crear un grupo nuevo simplemente hay que configurarle un permiso, así que le damos el de edición:
      $wgGroupPermissions[‘Writer’][‘edit’] = true;
      Esto creará el grupo llamado Writer, cualquier usuario al que le des este permiso podrá escribir.

      Puedes ver la lista de grupos definidos y los permisos de estos desde la página especial:
      /wiki/Especial:ListaDerechosGrupos
      Para dar un permiso a alguien, una vez ha iniciado sesión para que la MediaWiki lo autoregistre, lo podrás buscar y asociarle el grupo que toque desde aquí:
      /wiki/Especial:PermisosUsuarios

      Y creo que eso es todo, si tienes curiosidad por la lista de permisos o los nombres por defecto de los grupos, se encuentran aquí:
      https://www.mediawiki.org/wiki/Manual:User_rights/es

      Espero que ahora funcione todo 😀

  5. Edu HM

    Buenas de nuevo compañero,

    Estupendo. Ya he realizado los cambios y perfecto, funciona todo como deseo. Es un jaleo pero es cuestion de entender basicamente como funciona la asignación y desasignación que tiene la MediaWiki para los permisos sobre grupos de usuarios.

    Ahora solo me falta una cosilla polr pulir y listo calisto. Lo que me faltaria ahora es, para ese grupo llamado “lectores” que unicamente pueden leer paginas, quiero restringir el acceso a la sección paginas Especiales. El acceso a subir ficheros está controlado ya por la mediawiki dandome el siguiente mensaje:

    No tienes permiso para modificar esta página, por el siguiente motivo:

    La acción que has solicitado está restringida a los usuarios del grupo: Administradores.

    Pero un usuario “lector” si que puede acceder a la sección Paginas especiales. ¿Hay alguna forma de restringir el acceso a esta parte?

    Muchas gracias de nuevo!

    1. Rei Izumi

      Según la lista de permisos, al quitar el permiso de edit, también pierden upload, reupload y todos los relacionados.

      Bloquear las páginas especiales tiene sus problemas, ya que el propio login y logout son páginas especiales. Por defecto, MediaWiki no tiene nada para restringir el acceso a estas. He encontrado “trucos” pero requieren reprogramar algunas partes, así que no me convencen demasiado.
      Lo único “potable” que he encontrado es un módulo que ya no está siendo mantenido, pero que quizás siga funcionando:
      https://www.mediawiki.org/wiki/Extension:Lockdown
      No lo he probado, pero según indica, una vez está instalado e iniciado (copiar en la carpeta de extensions y añadir el wfLoadExtension), permite bloquear el acceso a una página concreta para un grupo concreto, así que podrías añadir una lista de bloqueos, una para cada página especial. El ejemplo que indican es para que los “user” no puedan acceder a la sección de exportación:
      $wgSpecialPageLockdown[‘Export’] = [‘user’];
      Quizás te encuentres que tengas que bloquear estas páginas a user y desbloquearlas al resto de grupos, igual que pasaba con la edición, pero sería la forma de controlar mejor todo.

      Entre el manual, se indica un archivo que contiene todas las páginas, estos serían el fichero en inglés y castellano, según el idioma que tengas instalado:
      https://phabricator.wikimedia.org/source/mediawiki/browse/master/languages/messages/MessagesEn.php
      https://phabricator.wikimedia.org/source/mediawiki/browse/master/languages/messages/MessagesEs.php
      Si buscas el parámetro “$specialPageAliases”, encontrarás todos los nombres de todas las páginas especiales (el primero es el identificador y la lista de después todos los textos que se muestran al usuario que hacen referéncia a esa página). Lo que te aconsejaría es acceder con un usuario lector y revisar qué páginas quieres realmente bloquear, utilizando el texto que te muestra, puedes encontrar rápidamente el identificador y bloquearlo.

      Es toda una faena, pero me parece la opción más razonable.

  6. Edu HM

    Muchuisimas gracias compi!!!

    Pero he de decirte que por desgracia esta extensión está soportada hasta la versión 1.27 de MediaWiki y yo tengo la ultima versión estable, la versión 1.31.

    Ohhhhhhhhhh!!!!

    1. Rei Izumi

      Si, por eso decía que ya no está siendo mantenida, pero esto no quiere decir que no funcione, si no que quizás funcione, o quizás no. No ha sido probada, y si no funciona, no la actualizarán.
      Yo le daría una oportunidad, en el peor caso, siempre la puedes quitar fácilmente.

      1. Edu HM

        Al final conseguí por otro lado otra solución.

        Pegar este codigo al final del fichero “LocalSettings.php”. Y despues ya tu comentas o descomentas las paginas especiales que quieres “capar”. Probado y funcionando perfectamente.

        /*
        Making Mediawiki SpecialPages only viewable by admin.
        Copy and paste this to end of LocalSettings.php
        */
        function disableSomeSpecialPages(&$list) {
        global $wgUser;
        if(!$wgUser->isAllowed(‘editinterface’)) {

        //remove some
        #unset($list[‘Version’]);

        //remove exhaust list
        foreach(array(

        ‘Mostlinkedcategories’,
        ‘Export’,
        ‘Uncategorizedtemplates’,
        ‘Listredirects’,
        ‘DoubleRedirects’,
        ‘DeletedContributions’,
        ‘Mostcategories’,
        ‘Search’,
        ‘Block’,
        ‘Movepage’,
        ‘Mostrevisions’,
        ‘Unusedimages’,
        ‘Log’,
        ‘Mostlinkedtemplates’,
        ‘Deadendpages’,
        ‘JavaScriptTest’,
        ‘Userrights’,
        ‘Import’,
        ‘Ancientpages’,
        ‘Uncategorizedcategories’,
        ‘Activeusers’,
        ‘MergeHistory’,
        ‘Recentchanges’,
        ‘Randompage’,
        ‘Protectedpages’,
        ‘Wantedfiles’,
        ‘Listgrouprights’,
        ‘EditWatchlist’,
        ‘Blockme’,
        ‘FileDuplicateSearch’,
        ‘Withoutinterwiki’,
        ‘Randomredirect’,
        ‘BlockList’,
        ‘Popularpages’,
        ‘Emailuser’,
        ‘Booksources’,
        ‘Upload’,
        ‘Confirmemail’,
        ‘Watchlist’,
        ‘MIMEsearch’,
        ‘Allpages’,
        ‘Fewestrevisions’,
        ‘Unblock’,
        ‘ComparePages’,
        ‘Uncategorizedimages’,
        ‘Mostinterwikis’,
        ‘Preferences’,
        ‘Categories’,
        ‘Statistics’,
        ‘Version’,
        ‘UploadStash’,
        ‘Undelete’,
        ‘Whatlinkshere’,
        ‘Lockdb’,
        ‘Lonelypages’,
        ‘Mostimages’,
        ‘Unwatchedpages’,
        ‘Shortpages’,
        ‘Protectedtitles’,
        ‘Revisiondelete’,
        ‘Newpages’,
        ‘Unusedtemplates’,
        ‘Allmessages’,
        ‘CachedPage’,
        ‘Filepath’,
        ‘ChangePassword’,
        ‘Wantedpages’,
        ‘LinkSearch’,
        ‘Prefixindex’,
        ‘Recentchangeslinked’,
        ‘BrokenRedirects’,
        ‘Mostlinked’,
        ‘Tags’,
        ‘ChangeEmail’,
        ‘Longpages’,
        ‘Uncategorizedpages’,
        ‘Newimages’,
        ‘Blankpage’,
        ‘Disambiguations’,
        ‘Unusedcategories’,
        ‘Wantedcategories’,
        ‘PasswordReset’,
        ‘Unlockdb’,
        ‘PagesWithProp’,
        ‘Specialpages’,
        ‘Listfiles’,
        ‘Contributions’,
        ‘Listusers’,
        ‘Wantedtemplates’

        )as $i){unset($list[$i]);}
        }
        return true;
        }
        $wgHooks[‘SpecialPage_initList’][]=’disableSomeSpecialPages’;

        1. Rei Izumi

          Buscando encontré también ese ejemplo, pero no me acaba de gustar estos códigos tan intrusivos dentro de una MediaWiki, aun así, wgHooks es una estándar con lo que esa parte no cambiará, y si funciona, para adelante 😀

  7. Eduardo

    Buenas de nuevo compañero.

    Volvemos a la carga despues de unos meses sin darte la lata.

    La cuestión es la siguiente. Estoy intentando instalar y configurar una mediawiki de desarrollo para meterle como editor de texto el “VisualEditor”. He seguido practicamente los pasos que hay que realizar para la instalación, entre ellos el mas complicado que es la instalación y configuración de Parsoid. Lo que he realizado es instalar el parsoid en un servidor aparte, es decir, no tenerlo en el mismo servidor donde tengo montada la wiki.

    Lo cierto es que despues de seguir los pasos, habilitar el editor de texto, y ver que todo funciona, a la hora de editar una pagina me salen mensajes como este:

    Error al cargar los datos del servidor: apierror-visualeditor-docserver-http-error: (curl error: 7) Couldn’t connect to server. ¿Le gustaría volver a intentarlo?

    Estoy probando varias configuraciones sobre todo en la configuración del servidor donde corre parsoid pero no llegoa que me funcione correctamente. Es como si cargara el editor VisualEditor pero falla en algun momento por lo que no me termina de cargar completamente.

    ¿Alguna idea?

    Muchas gracias de antemano.

    1. Rei Izumi

      La verdad es que no conozco ni Visual Editor ni Parsoid, así que malo :S
      Por lo que entiendo, este editor podrá convertirse en el original de Mediawiki, pero por ahora es una beta, y ellos mismos alegan que no es fácil de instalar, puede dar problemas y que no está demasiado comprobado el tema de Parsoid, la verdad es que no es alentador por muy bonito que sea el editor.

      Sin haberlo usado nunca y mirando la documentación de estos, creo que primero habría que confirmar paso a paso, añadir Parsoid es un cambio grande (añade node.js y creo que otros tantos), lo primero sería desconectar todo lo de Visual Editor y dejar únicamente Parsoid, entonces activar las herramientas de desarrollo del navegador y revisar que nada esté fallando (ningún error en la Console y que en Network se esté descargando correctamente todo lo que pide). Si existe alguna opción para confirmar que Parsoid está funcionando correctamente, sería un buen punto a revisar.

      Una vez confirmado eso, Parsoid avisa de que la versión de este y de Visual Editor deben ser compatibles entre ellas, y que equivocarse de versión provocará un error. ¿Has revisado la tabla de compatibilidades entre versiones de Parsoid y Visual Editor? Por ejemplo, las últimas versiones de Parsoid no son compatibles con la gran mayoría de versiones de Mediawiki.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar