Casiopea:Configuración del servidor
Stella Nova ▸ Migración ▸ Configuraciones
Hola Felipe: esta página reúne las acciones de servidor que la wiki de producción necesita para comportarse como el entorno de desarrollo del skin Stella Nova. El CSS y el JS del skin viajan dentro del repositorio y se despliegan solos (pull diario desde GitHub); aquí va solo lo que no puede ir en el repo: variables de LocalSettings.php u otros archivos del servidor, a los que el equipo del skin no tiene acceso.
Se organiza en tres partes: los ajustes de configuración (qué tocar para que una extensión se integre o se comporte igual que en desarrollo), las desinstalaciones seguras (extensiones que conviene retirar) y lo que funciona en desarrollo, no en producción (paridad por verificar).
Ajustes de configuración
Dos tipos de ajuste:
- Integración con el skin — la extensión renderiza algo que Stella Nova reestiliza; sin el ajuste, el resultado choca con el sistema visual (p. ej. Mermaid).
- Paridad de configuración — la extensión es agnóstica al skin, pero su comportamiento en desarrollo depende de una config que producción debe igualar (p. ej. WikiSEO).
| Extensión | Configuración | Descripción |
|---|---|---|
| Mermaid versión 6.0.2
|
Archivo: LocalSettings.php
$wgmermaidgDefaultTheme = 'neutral'; |
Integración con el skin. Mermaid renderiza cada diagrama como SVG en el cliente, una sola vez, con un tema fijo. Stella Nova lo integra en tres capas, de las cuales solo esta es de servidor:
Las capas 2 y 3 viajan con el skin; basta con que el servidor fije el tema neutro. Prioridad: recomendado, no bloqueante — el CSS gana de todos modos, pero sin este ajuste los pocos elementos que el CSS no recolorea quedan verdosos. Verificación: en una página con diagrama, el atributo |
| WikiSEO versión 2.7.0
|
Archivo: LocalSettings.php
wfLoadExtension( 'WikiSEO' ); $wgMetadataGenerators = [ 'OpenGraph', 'SchemaOrg', 'Citation', 'DublinCore', ]; |
Paridad de configuración (agnóstica al skin). WikiSEO inyecta metadatos en el <head> (Open Graph, Schema.org, Citation y Dublin Core) para compartir enlaces y para SEO; no toca el render ni depende de Stella Nova. Se documenta aquí solo para que producción iguale el comportamiento de desarrollo.
La clave está en |
| 3DAlloy versión 1.0
|
Archivo: LocalSettings.php, después de wfLoadExtension( '3DAlloy' );. Verificado en local (MW 1.43.6, PHP 8.4).
1. Formatos de subida (si aún no están): $wgFileExtensions = array_values( array_unique( array_merge( $wgFileExtensions ?? [], [ '3dj', '3djson', 'three', 'buff', 'buffjson', 'obj', 'stl', 'stlb', 'json' ] ) ) ); 2. Remapeo MIME por extensión (el arreglo de fondo): // Fuerza obj/stl al MIME que tiene MediaHandler en 3DAlloy; MediaWiki
// los detecta como text/plain y sin esto el visor 3D no se activa.
$wgHooks['MimeMagicImproveFromExtension'][] = static function ( $analyzer, $ext, &$mime ) {
if ( $ext === 'obj' ) {
$mime = 'application/obj';
} elseif ( $ext === 'stl' || $ext === 'stlb' ) {
$mime = 'application/stl';
}
};
|
Reconocimiento de tipo. 3DAlloy registra MediaHandler para application/json, application/obj y application/stl: el visor solo se activa si el archivo subido queda guardado con uno de esos MIME. La familia JSON (.json/.3dj/.3djson/.three/.buff/.buffjson) ya funciona porque el propio hook de la extensión la remapea a application/json; pero .obj/.stl no: al ser texto ASCII, MediaWiki los deja en text/plain, sin MediaHandler, y se muestran como archivo de texto (bug secundario del upstream: para stl registra application/sla, que el handler no espera). El hook de arriba los fuerza al MIME correcto.
Por qué NO se editan Dos vías de incrustación (solo una depende de este ajuste): la etiqueta Importante: los archivos ya subidos como |
Desinstalaciones seguras
Extensiones que conviene retirar de producción: aportaban poco o nada y/o son incompatibles con el stack actual (PHP 8.4, sistema de tokens del skin). Misma lógica de tabla: la columna Configuración indica cómo retirarlas; la Descripción, por qué es seguro.
| Extensión | Configuración | Descripción |
|---|---|---|
| Mpdf (descartada) |
Archivo: LocalSettings.php — quitar la carga:
# borrar esta línea: wfLoadExtension( 'Mpdf' ); Opcional: borrar el árbol |
Compatibilidad de servidor / PHP → se resuelve descartándola. La extensión Mpdf 1.1 fija mpdf/mpdf: ^6.1; mpdf 6.1.3 (2016) usa la sintaxis de offset con llaves ($str{0}) que PHP eliminó en 8.0, así que bajo PHP 8.4 ?action=mpdf arroja un ParseError fatal (mpdf.php:2349). Subir la librería a mpdf 8.x arregla ese fatal, pero no el problema de fondo: el motor CSS de mpdf (~2010) no entiende el sistema de tokens del skin (var() / light-dark()) ni resuelve los <link> relativos de ResourceLoader → el PDF sale sin estilos (contraproducente). Como la extensión aportaba solo action=mpdf, se descarta (igual que GraphViz y PdfBook). La exportación a PDF la cubre el skin con la previsualización Vivliostyle (honra print.css): cualquier página puede llevar un botón <span class="sn-print-pdf">Exportar PDF</span> (o el viejo enlace action=mpdf, que el skin intercepta) → maqueta paginada → "Guardar como PDF" del navegador. Acción para producción: quitar wfLoadExtension( 'Mpdf' ) (opcional: borrar la carpeta). Verificación: ?action=mpdf → 404 (acción desconocida) y Mpdf ya no aparece en Special:Versión.
|
| MinervaNeue (skin huérfano) |
Archivo: LocalSettings.php — quitar la carga del skin:
# borrar esta línea: wfLoadSkin( 'MinervaNeue' ); |
Skin móvil sin su motor. MinervaNeue es el skin que la extensión MobileFrontend activa en dispositivos móviles; por sí solo no hace nada. Producción no tiene MobileFrontend instalado (verificado vía el API siteinfo), así que Minerva nunca se sirve: es peso muerto en el arranque de ResourceLoader y una opción inútil en las preferencias de apariencia. El móvil ya lo cubre Stella Nova (responsive). Verificación: tras quitarlo, Minerva desaparece de Special:Versión y de las preferencias de apariencia; la navegación en móvil no cambia.
|
| PdfBook versión 2.0.5
|
Archivo: LocalSettings.php — quitar la carga:
# borrar esta línea: wfLoadExtension( 'PdfBook' ); |
Exportador PDF redundante. PdfBook añade action=pdfbook (volcar una página o una colección a un PDF). Es un segundo camino de PDF del lado servidor, redundante con la previsualización Vivliostyle del skin — que además respeta print.css y el tema claro/oscuro. La búsqueda de "pdfbook" en el contenido da 0 resultados y no hay rastro de uso. Al ser una action (no deja markup en las páginas), retirarla solo podría romper enlaces action=pdfbook directos, de los que no hay evidencia. Verificación: ?action=pdfbook → 404 y PdfBook fuera de Special:Versión.
|
Candidatas pendientes de verificación
Estas podrían ser seguras, pero no se pueden confirmar desde el API (la wiki no tiene CirrusSearch y son ~610 000 archivos): requieren un grep en el servidor. Si el conteo da 0, pasan a la tabla de arriba.
- 3DAlloy (visor 3D) — en uso, no retirar. Se está adoptando para incrustar mallas 3D nativas (modelos
.obj/.stl). Su ajuste de servidor está en Ajustes de configuración (remapeo MIME). Antes se consideró candidata a retiro por no tener modelos subidos; ya no aplica. - Math — ¿se usa la etiqueta
<math>?php maintenance/run.php dumpBackup --current | grep -c '<math'→ 0 = segura. - EasyTimeline — ¿se usa
<timeline>?… | grep -c '<timeline'→ 0 = segura; además libera dependencias de sistema (ploticus + perl). - Skin Citizen — ¿alguien lo eligió en preferencias?
SELECT COUNT(*) FROM user_properties WHERE up_property='skin' AND up_value='citizen';→ 0 = nadie lo usa (riesgo bajo de todos modos: solo afecta a quien lo haya seteado).
No retirar todavía: Chameleon (y Bootstrap, su framework CSS) es el skin por defecto actual de producción — verificado vía siteinfo (chameleon [default]). Solo se puede retirar después de poner Stella Nova como skin por defecto; hacerlo antes dejaría la wiki sin skin default.
Funciona en desarrollo, no en producción
Extensiones que en el entorno de desarrollo funcionan pero en producción no, sin diferencia de configuración ni de código detectada. Se expone la configuración local exacta y se pide verificar la paridad en el servidor y/o descartar una colisión con otra extensión, gadget o caché.
| Extensión | Configuración local | Qué verificar en producción |
|---|---|---|
| InlineComments versión 1.0
|
Archivo: LocalSettings.php — solo la carga, sin variables (todo por defecto):
wfLoadExtension( 'InlineComments' ); Defaults que aplica la extensión (de su
|
Síntoma: el ícono "añadir comentario" no aparece (logueado, ?useskin=stellanova, seleccionando texto en un artículo del namespace principal), pese a que producción (Stella Nova v0.6.6, hash 91b9138) corre el mismo código de InlineComments y la misma extensión (v1.0) que desarrollo (v0.6.7, hash e2f15f4), donde sí funciona. Las dos versiones del skin solo difieren en CSS de rótulos de Mermaid, ajeno a esta extensión.
Ya verificado por API (coincide con desarrollo): extensión cargada (v1.0) · content namespaces = Falta verificar en el servidor / sesión:
|