Que es MediaWiki ?
MediaWiki es un software para wikis libre programado en el lenguaje PHP. Es el software usado por Wikipedia y otros proyectos de la Fundación Wikimedia (Wikcionario, Wikilibros, etc). Ha tenido una gran expansión desde el año 2005, existiendo un gran número de wikis basados en este software que no mantienen relación con dicha fundación, aunque sí comparten la idea de la generación de contenidos de manera colaborativa. Se encuentra bajo la licencia de software GNU General Public License.
Y Que mas ?
MediaWiki fue desarrollado originalmente para Wikipedia por Magnus Manske, con el fin de sustituir a UseModWiki como motor del wiki (al que los colaboradores de Wikipedia llamaron "Fase I"). A la primera versión se la llamaba, simplemente "software de Wikipedia fase II". A mediados del 2002 el programa fue reescrito y mejorado, dando lugar a la llamada "fase III", y ha seguido desarrollándose desde entonces a partir de ese código. El 29 de agosto de 2003 se bautizó al programa, hasta ese momento sin un nombre oficial, como "MediaWiki", un juego de palabras con el nombre de la Fundación Wikimedia, que patrocina su desarrollo.
Magnus Manske
Caracteristicas ?
- A diferencia de los wikis clásicos, los nombres de las páginas no tienen por qué estar en CamelCase, lo que permite tener nombres más naturales.
- Espacios de nombres: permiten separar páginas de distintos tipos. Así, se puede tener un espacio de nombres para artículos, otro para plantillas, otro para debates, etc. que el software trata de distinta forma.
- Páginas de discusión: cada página del wiki tiene una página de discusión propia, dedicada a hablar de su mejora u otros fines.
- Soporte de TeX, para visualizar fórmulas matemáticas. Las fórmulas pueden mostrarse de varias formas, según las capacidades del navegador.
- Listas de seguimiento, de tal forma que cada usuario pueda seguir los cambios en los artículos de su interés.
Caracteristicas ?
- Sistema de plugins que permite extender fácilmente el software. Los plugins instalados se listan automáticamente en "Páginas especiales".
- Capacidad de bloquear temporalmente usuarios o páginas.
- Soporte de plantillas personalizadas con parámetros.
- Creación de líneas de tiempos a través de código wiki.
- Sistema de categorías jerárquico, que permite crear listados de artículos o de thumbnails de imágenes.
- Admite varios niveles de usuario, así como la posibilidad de que sólo los usuarios registrados puedan editar, o de impedir el registro de más usuarios. Así, puede utilizarse como sistema de gestión de contenidos o como groupware.
Estructura
-
Links
-
Subpages
-
Namespaces
-
Categories
-
Templates
Links
Existen 5 tipos de links en MediaWiki:
- Internal links to other pages in the wiki
- External links to other websites
- External links to internal pages in the wiki
- Interwiki links to other websites registered to the wiki in advance
- Interlanguage links to other websites registered as other language versions of the wiki
Subpages
Las subpáginas introducen una organización jerárquica dentro de páginas wiki, con niveles de jerarquías separados por barras (/).
Namespaces
Los Namespaces se indican en los títulos de página anteponiendo el nombre de la página con el "namespace", por lo que el prefijo "Help" en el título de esta página ("Help: namespace") indica que esta página se encuentra en el namespace ayuda. Cada namespace se identifica mediante un número y un nombre, que puede ser traducido y también puede tener algunos alias.
Una página de cuyo nombre no se prefijado por un espacio de nombres se encuentra en la mainspace.
Categories
Las categorías, una funcionalidad del software MediaWiki, proporcionan índices automáticos que son útiles como tablas de contenido.
Se pueden categorizar las páginas y los archivos mediante la adición de una o más etiquetas de Categoría al texto. Estas etiquetas crean enlaces en la parte inferior de la página que llevan a la lista de todas las páginas que incluyen la misma etiqueta. Esto facilita la navegación por los artículos relacionados.
Templates
Si tienes textos estándar que desea incluir en varias páginas, la función de plantilla MediaWiki entra en juego. A diferencia de las extensiones y archivos multimedia, no hay depósito central de plantillas. Las plantillas pueden ser recién escritas o para ahorrar trabajo duplicar ya hecho, exportada desde otro wiki por ejemplo, Wikipedia y, a continuación, importado en el wiki de destino.
PHP
PHP fue elegido como el marco para el software "Fase II" de la Wikipedia en 2001; MediaWiki ha crecido orgánicamente desde entonces, y todavía está en evolución. La mayoría de los desarrolladores de MediaWiki son voluntarios que contribuyen en su tiempo libre, y fueron muy pocos en los primeros años. Algunas decisiones de diseño de software u omisiones pueden parecer mal en retrospectiva, pero es difícil de criticar a los fundadores por no implementar una abstracción que ahora se encuentra para ser crítico, cuando la base de código inicial era tan pequeño, y tomado el tiempo para desarrollarlo tan corto .
Security
Debido a MediaWiki es la plataforma para sitios de alto perfil como la Wikipedia, los desarrolladores principales y los colaboradores del código han impuesto normas estrictas de seguridad. Para que sea más fácil escribir código seguro, MediaWiki da desarrolladores envolturas alrededor de consultas de bases de datos de salida y HTML para manejar escapar. Para desinfectar la entrada del usuario, se utiliza la clase WebRequest, que analiza datos pasados en la URL oa través de un formulario publicado. Se elimina "comillas mágicas" barras, tiras de caracteres de entrada ilegal y normaliza secuencias Unicode. Cross-site falsificación de petición (CSRF) se evita mediante el uso de fichas, y cross-site scripting (XSS) mediante la validación de las entradas y salidas de escape, por lo general con htmlspecialchars de PHP función (). MediaWiki también ofrece (y utiliza) un desinfectante XHTML con la clase Sanitizer, y las funciones de base de datos que impiden la inyección SQL.
Configuration
MediaWiki ofrece cientos de opciones de configuración, almacenados en las variables globales PHP. Su valor predeterminado se establece en DefaultSettings.php, y el administrador del sistema puede anular los editando LocalSettings.php.
MediaWiki usa para sobre-dependerá de variables globales, incluyendo para el procesamiento de la configuración y el contexto. Globals causan graves implicaciones de seguridad con PHP'sregister_globals función (que MediaWiki no ha necesitado desde la versión 1.2)
Database and text storage
MediaWiki ha estado utilizando una base de datos back-end relacional ya que el software de la Fase II. El valor por defecto (y mejor apoyado por) DBMS para MediaWiki es MySQL, que es el que todos los sitios de Wikimedia utilizan, pero otros DBMS (como PostgreSQL, Oracle y SQLite) tienen implementaciones apoyados por la comunidad. Un administrador de sistemas puede elegir un DBMS durante la instalación de MediaWiki y MediaWiki proporciona tanto una abstracción de base de datos y una capa de abstracción de consulta que simplifican el acceso de base de datos para los desarrolladores.
ResourceLoader
Al igual que en muchas aplicaciones web, la interfaz de MediaWiki se ha vuelto más interactiva y sensible en los últimos años, sobre todo mediante el uso de JavaScript. Usabilidad esfuerzos iniciados en 2008, así como los medios de comunicación avanzados manipulación (por ejemplo, la edición en línea de archivos de vídeo), pidieron mejoras en el rendimiento de front-end dedicados. Para optimizar la entrega de JavaScript y CSS activos, el módulo ResourceLoader fue desarrollado. Iniciado en 2009, se terminó en 2011 y ha sido un elemento central de MediaWiki desde la versión 1.17. ResourceLoader funciona mediante la carga de JS y CSS activos en la demanda, lo que reduce la carga y el tiempo de análisis sintáctico para las características no utilizadas, por ejemplo en los navegadores antiguos
Users
Los usuarios están representados en el código utilizando instancias de la clase de usuario, que encapsula todos los ajustes específicos del usuario (identificador de usuario, nombre, derechos, contraseña, dirección de correo electrónico, etc.). Clases cliente utilizan descriptores de acceso para acceder a estos campos; que hacen todo el trabajo de determinar si el usuario está conectado, y si la opción solicitada puede estar satisfecho de cookies o si es necesaria una consulta de base de datos. La mayor parte de los ajustes necesarios para la prestación de páginas normales se encuentran en la cookie para minimizar el uso de la base de datos.
Content Structure
Se componen de un prefijo, separado del título de la página por dos puntos (por ejemplo, de la charla: o Archivo: y Plantilla :); el espacio de nombres contenido principal no tiene prefijo. Usuarios de Wikipedia ellos adoptaron rápidamente, y que proporcionaron a la comunidad con diferentes espacios para evolucionar. Espacios de nombres han demostrado ser una característica importante de MediaWiki, ya que crean las condiciones necesarias para la comunidad de un wiki y establecer discusiones a nivel de meta, los procesos comunitarios, portales, perfiles de usuario, etc.
Future
Lo que comenzó como un proyecto de verano realizado por un único desarrollador de PHP de voluntarios ha crecido hasta convertirse en MediaWiki, un motor wiki estable madura alimentar un sitio web entre los diez primeros con un ridículamente pequeña infraestructura operativa. Esto ha sido posible gracias a la optimización constante de rendimiento, cambios arquitectónicos iterativos y un equipo de desarrolladores impresionantes.
La evolución de las tecnologías web, y el crecimiento de Wikipedia, exigen mejoras en curso y nuevas características, algunas de las cuales requieren grandes cambios en la arquitectura de MediaWiki. Este es, por ejemplo, el caso del proyecto de editor visual en curso, que ha llevado el trabajo renovado en el analizador y en el lenguaje de marcas wiki, el DOM y la conversión HTML final.
MediaWiki es una herramienta utilizada para propósitos muy diferentes. Dentro de los proyectos de Wikimedia, por ejemplo, se utiliza para crear y conservar una enciclopedia (Wikipedia), para alimentar una mediateca enorme (Wikimedia Commons) o para transcribir textos de referencia escaneados (Wikisource); etcétera. En otros contextos, MediaWiki se utiliza como un CMS corporativa, o como un repositorio de datos, a veces combinado con un marco semántico. Estos usos especializados que no estaban previstos para probablemente seguirán impulsando constantes ajustes a la estructura interna del software. Como tal, la arquitectura de MediaWiki está muy vivo, al igual que la inmensa comunidad de usuarios que soporta.
Media Wiki
By Samil Vargas
Media Wiki
- 960