Archivo de la etiqueta: MediaWiki

mediawiki externalredirection URL externa

Cómo hacer una redirección a URL externa en MediaWiki

La situación es la siguiente: tenemos una Wiki creada con MediaWiki y queremos que una o varias de las páginas tenga una redirección 301 hacia una URL externa a la de la Wiki. Por ejemplo porque estamos pasando contenido de MediaWiki a otro entorno como puede ser WordPress.

Como ha sido un tema que me ha consumido unas cuentas horas de i+d quiero dejar aquí un paso a paso lo más detallado posible para que sirve de ayuda a otras personas que necesiten hacer lo mismo.

Un dato previo que ayuda a entender las siguientes instrucciones es que una página de una MediaWiki solo puede ser redirigida si está en un espacio de nombres protegido contra escritura, en las siguientes instrucciones se verá cómo crearlo y cambiar la página.

Paso a Paso

  1. Descargar la extensión ExternalRedirect para MediaWiki
  2. Descomprimir el archivo ExternalRedirect-master.zip
  3. Renombrar la carpeta ExternalRedirect-masterExternalRedirect
  4. Subir la carpeta ExternalRedirect al directorio Extensions de nuestra Wiki
  5. Abrir el archivo LocalSettings.php y añadir las siguientes líneas:

#Define namespaces
$wgExtraNamespaces[NS_MOVED] = “Moved”;
$wgNamespaceProtection[NS_MOVED]=array(‘redirector’);
$wgNamespacesWithSubpages[NS_MOVED]=false;
$wgGroupPermissions[‘sysop’][‘redirector’]=true;
require_once(“$IP/extensions/ExternalRedirect/ExternalRedirect.php”);
$wgExternalRedirectNsIDs = array(3000);

Aquí lo que hacemos es habilitar la extensión con require_once y definir un Espacio de nombre protegido para la escritura llamado Moved.

  1. Ir a la página que se quiere redireccionar borrar el contenido menos las categorías e insertar el siguiente código en la primera línea: {{#externalredirect: http://www.midominio.com/mipagina}}
  2. En la parte superior hacer clic en Más>Trasladar.
  3. En Título nuevo seleccionar en el desplegable Moved, el namespace protegido que creamos en el LocalSettings.php (punto 5). Hacer clic en renombrar la página.

Con esto ya se habrá producido la redirección de la página como podéis comprobar. Espero que sea lo suficientemente claro, si no es así ponerme un comentario y lo detallo más.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Cargando…

Control de acceso a contenidos en MediaWiki

Por definición las Webs realizadas con MediaWiki están orientadas a compartir todo el contenido de las mismas, sin embargo para restringir el acceso a determinadas páginas existen extensiones. En las páginas de las mismas se recuerda que el mensaje anterior.

Estas extensiones (Extensions) de MediaWiki permiten crear categorías privadas que hacen que una parte del contenido de la Wiki solo sea visible para los grupos de usuarios que defina el administrador de la página.

CategoryPermissions

Esta extensión funciona correctamente y permite controlar el acceso. Ver las instrucciones de Descargar y utilización aquí: CategoryPermissions. Ver instrucciones en castellano en introBlog.

La pega que tiene es que hay que ir categoría por categoría definiendo permisos para cada una de ellas en LocalSettings.php con lo cual si creamos una nueva categoría y no la controlamos ahí entonces no será accesible. Para Wikis con muchas categorías no la veo práctica.

CategoryControl

Extensión ideal para control de categorías por su sencillez de uso.  Ver las instrucciones de Descargar y utilización aquí: CategoryControl.

Se añade la línea de la extensión en LocalSettings.php como es habitual:

[php]
require_once(“$IP/extensions/CategoryControl/CategoryControl.php”);
[/php]

Y se configura de la siguiente forma:

[php]
$wgCategoryPermissions[‘CategoryName’][‘read’] = array( ‘sysop’, ‘Group1’ ); // Users who are in both NewGroup and OtherGroup can read pages in this category.
[/php]

Esto quiere decir que la categoría CategoryName solo será visible para los usuarios de grupo sysop y Group1 y dará un mensaje de error para el resto de usuarios. Si una categoría no es mencionada entonces se usan los permisos por defecto que se hayan definido para la Wiki. Esto simplifica mucho el uso de la extensión al tener que notificar sólo las excepciones.

Otros ejemplo de uso son:

[php]
$wgCategoryPermissions[‘category’][‘*’][] = ‘sysop’; // Sysops can do anything they want with this category.
$wgCategoryPermissions[‘category’][‘*’][] = ‘bureaucrat’; // Bureaucrats can do anything they want with this category.
$wgCategoryPermissions[‘category’][‘read’] = array( ‘newgroup’, ‘othergroup’ ); // Users who are in both NewGroup and OtherGroup can read pages in this category.
[/php]

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Cargando…

Extension Colecction para MediaWiki

Esta extensión permite a un usuario para organizar selecciones personales de las páginas de una colección. Las colecciones pueden ser

Aquí se puede descargar la Extensión Colecction según la versión de MediaWiki.

Una vez subida la carpeta Collection a la carpeta Extensions de la Web añadimos la línea:

require_once(“$IP/extensions/Collection/Collection.php”);

a nuestro archivo LocalSettings.php.

Con esto ya queda disponible la Extensión. Para utilizar es muy sencillo:

  • En la parte izquierda de nuestra Web se crea una caja de herramientas donde tenemos el enlace: Crear un libro.
  • Después solo  tenemos que ir entrando en las páginas que queremos incluir y hacer clic en la parte superior donde poner añadir al libro.
  • Cunado queramos podemos finalizar el libro e imprimirlo en formato PDF o en Pediapress
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Cargando…

La nueva Web de Harry Potter

Bueno, después de unos cuantos meses he acabado con la compilación del primer libro de Harry Potter con MediaWiki y la Web va cogiendo forma: http://harrypotter.org.es

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Cargando…

Crear un índice alfabético en MediaWiki

Si se necesita crea un índice alfabético en una página, por ejemplo para crear una relación de enlaces o links podemos recurrir al siguiente método:

Crear una Sección para cada letra, por ejemplo:

===a===
===b===

etc.

Para evitar que nos cree un antitética tabla de contenidos vertical con todas las letras una debajo de otra incluiremos la palabra mágica __NOTOC__ al principio de nuestra página

Seguidamente construiremos nuestro índice de la siguiente forma:

[[#a|a]] [[#b|b]] [[#c|c]]

[[#a|a]] la # indica que el enlace interno es a una sección de nuestra misma página de MediaWiki.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Cargando…

Añadir META Tags a MediaWiki

En este caso no he encontrado una extensión que añadiera las etiquetas META pero si hay una excelente que añade la META Description, muy importante, de forma automática según el contenido del artículo.

Aprovechando esta he añadido en el código de la función las METAS que yo quería poner, por ejemplo Author, language, etc.

Más información en:

Extension:Description

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Cargando…

Extension Actividad reciente y ultimos articulos para MediaWiki

Para reflejar los últimos artículos creados o modificados en MediaWiki existe una sencilla extensión que no habilita esta función con varios formatos posibles:

Dinamyc Article List

Instalación algo tediosa porque los archivo no están preparados pero siguiendo las instrucciones funciona a la 1ª.

La he tuneado un poco quitándole la visualización del tiempo y dejando sólo la fecha de publicación.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Cargando…

Crear una página contacta con MediaWiki

Se utiliza la extensión ContactPage, se descarga y sube al servidor.

En el usuario que se indica en los parámetro es necesario ponerle que acepta recibir y enviar los emails para que funcione la Extension.

Para evitar Spam añadir Captcha como se indica en la página de la extension

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Cargando…

Añadir Adsense en MediaWiki

Añadir un banner superior

Modificar la plantilla Monobook.php y en la sección donde se crea el título de la página poner una tabla de 2 celdas, en la izquierda poner el título y en la de la derecha poner el banner gráfico 468×60, creo que es lo que mejor queda en la cabecera.

Añadir un banner como plantilla

  1. Crear una plantilla con los datos de Google tal como se indica en la extensión
  2. Crear el fichero Adsense.php según código y subirlo a a la carpeta Extensions
  3. Añadir referencia al fichero en LocalSettings.php

Funciona bien pero implica insertarla manualmente en cada artículo, es un poco pesado, es más práctico incluir la plantilla dentro de otras plantillas utilizadas habitualmente, por ejemplo poner un anuncio 200×200 debajo de la ficha de un personaje o lugar.

Añadir un botón en la barra izquierda

Tambien modificando de la misma forma que cuando se ponían los banners poner un botón de vínculos, me gusta más si queda entre las cajas estándar de MediaWiki. Ver Banners en barra Izquierda de MediaWiki

Aquí pongo una imagen de ejemplo de como quedan los anuncios:

harry-potter-ejemplo

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Cargando…

Inserta un ejemplo de código PHP en MediaWiki

Se utilizan estos tags:

< source lang=”php” >
< /source >

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Cargando…