La navaja suiza

... o más funcionalidades para SPIP !

Este plugin propone introducir fácilmente simples funcionalidades suplementarias a SPIP y que resultan rápidamente indispensables. Por ejemplo : filtros suplementarios, balizas prácticas, facilidades tipográficas, el control de algunas variables « caché », etc.

Introducción

El plugin « La navaja suiza » propone introducir fácilmente simples funcionalidades suplementarias a SPIP (que se podrían llamar "herramientas") sin necesidad de sobrecargar el núcleo.

Por ejemplo : filtros suplementarios, balizas prácticas, facilidades tipográficas, el control de algunas variables "ocultas", etc.

Mi comprobación fue notar que los usuarios (incluso yo mismo) hacen a menudo las mismas instalaciones de plugins, algunos de los cuales solo aportan una o dos líneas de código.

La idea surgió a partir de un mensaje a la lista spip-fr de Pierre Andrews, a raíz de una denuncia de Olivar G. que deploraba tener que crear un plugin entero con el único fin de cambiar el valor de una variable.

Fue entonces que nos propusimos agrupar todas estas pequeñas funcionalidades en un único plugin y añadir en el espacio de administración una página de configuración común para todas. La ganancia en resultados y en claridad no es para nada desdeñable. Los principiantes que no conocen nada de PHP, HTML o incluso SPIP serán los primeros favorecidos con este proyecto. Poco hay más fácil para los programadores que añadir una línea de código por ahí... pero este no es el caso de todo el mundo !!

Atención, un plugin en constante movimiento...

El plugin, aunque sea estable, está permanentemente en desarrollo. Después de haberse llamado [archive] Tweak SPIP, busca aun su identidad y el lugar que le corresponde en el mundo spip. Por eso conviene realizar actualizaciones regulares. ¡Nuevas herramientas pueden llegar en cualquier momento !

Funcionalidades

Hete aquí una lista (probablemente no exhaustiva) de las herramientas reunidas hasta el momento :

Administración

-  Desactivar la caché
Inhibición de la cache de SPIP para el desarrollo de un sitio.
-  Tamaño de caché
Modificar el tamaño de reserva de memoria para caché. Indicar un valor 0 implica que no habrá límite de tamaño.
-  Directorio de esqueletos
Modificar el directorio de esqueletos utilizados. Por ejemplo : « squelettes/misesqueletos ». Al dejar el campo vació, los esqueletos por defecto « dist » serán utilizados.
-  Prefijo de cookies
Especificar el prefijo a usar por la cookies del sitio. Utiles para instalar más de un sitio SPIP dentro de subdirectorios de un dominio.
-  Paragrapher
Aplica la función paragrapher() de SPIP a los textos que son desprovistos de párrafos con etiquetas <p>.
-  Tipo de interfáz privada
Seleccina de oficio el tipo de interfáz privada (simple o avanzada) para todos los redactores existentes o futuros, y surpime el botón correspondiente en la barra de íconos (version 1.9.2 maxi).
-  Gestión de javascript
Para gestionar javascript dentro de los artículos, tres modos están disponibles :
- jamás : el javascript está rechazado para todos.
- defecto : el javascript está señalado en rojo dentro del espacio privado.
- todos : el javascript está aceptado para todos.
Atención : dentro de los foros, peticiones, canales de sindicación, etc., la gestión de javascript para todos está debidamente filtrada por razones de seguridad.
-  Límite del tamaño de los foros
Por defecto, los mensajes en los foros no son limitados en tamaño. Si esta utilidad se activa, un mensaje de error aparececerá al enviar el formulario cuando el mensaje sea mayor que el límite especificado.
-  Prohibir los foros anónimos
Incitar todos los autores de mensajes a llenar (con al menos de una letra !) el campo « Su nombre (o seudónimo) : » con el fin de evitar las contribuciones completamente anónimas.
Esta funcionalidad utiliza la librería jQuery.
-  Seguimiento de foros
El/la autor/a de un artículo es siempre informado/a cuando se publica un mensaje en el foro asociado. Pero con esta funcionalidad tambien es posible avisarle a todos los participantes del foro, o solamente a los autores de mensajes previos.
-  Sitio en mantenimiento
Permite colocar un mensaje personalizado durante una fase de mantenimiento del sitio público.

Correcciones tipográficas
(Los textos originales no cambian. Las herramientas siguientes modifican sólamente su apariencia)

-  Sumario para los artículos
Construir un sumario (índice) al principio de artículo con el fin de acceder rápidamente a los intertítulos del artículo.
-   Viñetas bellas
Reemplazar las viñetas - por otras mejoradas -* (<li>...)
-  Comillas tipográficas
Reemplazo automático de comillas derechas por comillas tipográficas en la lengua de composición. El reemplazo, transparente para el usuario, no modifica el texto sino solamente la apariencia final.
-  Vínculos huerfanos
Reemplazo sistemático de todos los links insertados en un texto por los usuarios (particularmente en los foros) que no son cliqueables bajo el formato de hipervinculos de SPIP. He aquí una pruba : www.spip.net es reemplazado por www.spip.net.
Pueden elegir el tipo de sustitución :
- básica : son reemplazos de links tipo http://spip.net (incluyendo protocolo) o bien www.spip.net.
- avanzada : Son reemplazos para links de tipo moi@spip.net,mailto:mimail o news:mesnews.
-  Smileys - Más info
Remplaza todos los emoticones escritos « en texte » por una imágen análoga. Útil para usar en los foros.

Recursos tipográficos
(Los textos originales no son modificados. La funcionalidades siguientes incorporan nuevos recursos para la tedacción de los textos.)

-  Descomponer un artículo en páginas - Más info
Descomponer la publicación de un artículo en más de una página gracias a la paginación automática. Simplemente coloque cuatro signos más consecutivos (++++) para marcar el cambio de página deseado.
-  Bloques multilingües
Introcucción del recurso <:un_texto:> para ingresar libremente bloques multi-lingües dentro de un artículo. La función SPIP utilizada es _T(’un_texto’, $canal).
No olvidarse de verificar que ’un_texto’ está bien definida dentro de los archivos de idioma.
-  Decoración
Permite a los redactores aplicar los estilos <sc>capitalización</sc>, <souligne>subrayado</souligne>, <barre>barrido</barre>, y muchos otros.
-  Todo en colores
Permite aplicar facilmente colores a los textos de un sitio utilizando el nombre del color (en inglés o francés) como una baliza.
Dos ejemplos idénticos : Lorem ipsum [rouge]dolor[/rouge] sit amet y Lorem ipsum [red]dolor[/red] sit amet.
-  Chatons
Inserta imágenes (o chatons para los chateadores) dentro de cualquier texto que incluye un bloque de la forma :nombre. Como para los smileys, este reemplazo se realiza automáticamente sustiyendo dicho texto por una imágen del mismo nombre que se encuentre dentro del directorio plugins/tweak_spip/img/chatons.
-  Barras de separación - Más info
Permite insertar facilmente barras de separación personalizadas dentro de los texto, ya sea basadas puramente en estilos o reemplazos de imágenes dentro del directorio plugins/tweak_spip/img/filets.

Visualización pública
(La base de datos no será modificada. Las funcionalidades siguientes sólo modifican la apariencia de las páginas públicas.)

-  Suprimir el número de los títulos
Aplica la función SPIP supprimer_numero() al recuperar los títulos o nombre dentro desde el sitio público, sin importar que dicho filtro esté presente en los esqueletos utilizados.
-  Forzar idioma
Fuerza el contexto de idioma para un juego de esqueletos multilingüe que disponen de un formulario o menú de idiomas capaz de administrar la cookie de idioma.
-  Estilo de párrafos
Desde la versión 1.92 de SPIP, los párrafos html (marcados por la etiqueta <p>) están sistemáticamente asociados al estilo class="spip". Esta utilidad permite definir la apariencia de sus párrafos en función de su propia hoja de estilos.
-  Activar el validador xml
Activa el validador de xml para el espacio público, descripto dentro de la documentación.
-  Desactivar los objetos flash
Suprime los objetos flash de las páginas de su sitio, reemplazandolas por el contenido alternativo asociado. Requiere el plugin jQuery o una versión superior a la 1.9.2.
-  Vínculos externos
Permite abrir links externos en una nueva ventana del navegador. Activar esta funcionalidad implica adjuntar el código target="_blank" a todas las etiquetas <a> asociadas al estilo spip_out y/o spip_url. A veces es necesario añadir una de estas clases a los vínculos propios del esqueleto del sitio (archivos HTML) con el fin de extender al máximo esta funcionalidad.
-  Desactivar jQuery
Impide la activación de jQuery en la parte pública. Esta librería (http://jquery.com/) aporta numerosas conveniencias en la programación de Javascript y puede ser utilizada por algunos plugins. SPIP lo utiliza en su parte privada.

Balizas, filtros y criterios

-  Orientación de imágenes
Agrega los criterios {portrait}, {carre} y {paysage} para ser utilizados dentro de los esqueletos para clasificar imágenes.
Idea original
-  Versión texto
2 filtros para sus esqueletos :
version_texte : extra el contenido texte de una página html con la exclusión de algunas balizas elementales.
version_plein_texte : extre el texto del html para renderizarlo como texto plano.
-  Baliza #INSERT_HEAD
Activa #INSERT_HEAD dentro de sus esqueletos aunque tengan o no esta previamente al </head>. Gracias a esta función, los plugins pueden insertar javascript (.js) u hojas de estilo (.css).
-  Longitud del resúmen para #INTRODUCTION
Pueden precisar (en porcentaje con relación al valor utilizado por defecto) la longitud del texto devuelto por la baliza #INTRODUCTION. Un valor nulo o igual a 100 no modifica el aspecto de la introducción y utiliza los valores por defecto siguientes : 500 caracteres para los artículos, 300 para las breves y 600 para los foros o las secciones.
-  Puntos de continuación para #INTRODUCTION
Por defecto, el simbolo que indica la continuación de la introducción es : '&nbsp ;(...)’. Con esta función, puede cambiar esta secuencia de caracteres a su gusto.

Varios

-  Log detallado de la Navaja suiza
Numerosa información con respecto al funcionamiento del plugin « Navaja Suiza » rescata del archivo spip.log que se encuentra en el directorio temporal (/tmp para SPIP v1.9.2)


Espero que esta lista pueda alargarse y ganar en calidad. Esta contrib fue hecha para ustedes. No duden en hacer su aportes : ideas luminosas y documentaciones detalladas serán siempre bienvenidas. Por ejemplo sería posible reunir aquí la gestión de todas las variables o definiciones previstas para mes_options.php o mes_fonctions.php

Me permito reunir todos estos plugins en uno solo porque tienen muy pocas líneas de código, no mofican el archivo mes_options.php, o bien no utilizan más que una única tubería. La Navaja Suiza acepta las funcionalidades « tubería multi », pero su objetivo por ahora es reunir todas las « pequeñas » mejoras del SPIP que no son estrictamente necesarias pero útiles en su pequeño aporte.

Instalación

-  Descarga : en la zona spip [1].

Procedimiento de urgencia

Si una utilidad resulta incompativle con el entorno (PHP, SQL, otro plugin, los esqueletos, etc.), no duden en suprimir completamente el directorio temporal del plugin : « ecrire/data/couteau-suisse » para SPIP 1.91 y « tmp/couteau-suisse » para las siguientes. Los archivos se reconstruirán automáticamente.

Existe también un vínculo que permite reinicializar completamente el plugin, desactivando el conjunto de las herramientas y suprimiendo todas las variables almacenadas en la base de datos. He aquí este vínculo : ecrire/?exec=admin_couteau_suisse&reset=oui

Utilice este vínculo si aparece una página en blanco o si un error impide el buen funcionamiento de su sitio exactamente después de la activación de una utilidad. Cuando instale el plugin, se aconseja mucho activar las herramientas una por una, de modo de poder llevar un control sobre un potencial conflicto. ¡el mundo PHP evoluciona, SPIP evoluciona.... nunca se es demasiado prudente !

Para los más curiosos e informados de entre ustedes, la Navaja Suiza también ofrece una página de prueba privada accesible gracias a este vínculo : escribir / ?exec=tweak_test. Y en todos los casos, el foro asociado a este artículo o la lista de correo de spip están disponible para las inquietudes o problemas que puedan aparecer.

Informaciones técnicas para la desarrolladores

Un articulo (aun sin traducir) se encuentra disponible sobre este tema : [dev] Le Couteau Suisse : développer un outil

Debates

Sobre este asunto, intenté abrir los siguientes debates :

Un primer debate se refiere a que tipo de funcionalidades deberian incluirse en el núcleo y las que pueden colocarse en este plugin, que el usuario es libre instalar o no, y siendo además cada funcionalidad activable o no. SPIP se "infla" día a día y la flexibilidad introducida por los plugins puede permitir un inflado controlado...

Por ejemplo, un sistema antispam no es necesario dentro del núcleo (por caso, un sitio SPIP dentro de una intranet) pero podría encontrar un buen lugar dentro de la Navaja Suiza

El segundo debate, ¡es saber lo que es necesario poner o no poner en la Navaja Suiza ! ¿Debe reunir distintas correcciones tipográficas y sustituciones gráficas ? ¿Debe añadir nuevas balizas para los esqueletos ? ¿Debe añadir nuevos filtros para estas balizas ?

-  De aquí emerge la primer respuesta : La Navaja Suiza debe permitir controlar las variable « cacheables » de SPIP y habitualmente incluidas dentro de « mes_options.php ».
-  A continuación y a mi juicio, las sustituciones y mejoras tipográficas necesitan un marco que asegure unicidad. Ya es aportado por ejemplo por las funciones "monoutil_installe()" y "cs_echappe_balises()" o los parámetros "version-min" o "versión-max".
-  De igual modo, la compilación de los tratamientos favorece una orientación específica más precisa de las acciones sobre los distintos textos de SPIP.
-  Por último, la Navaja Suiza también debe poder garantizar una compatibilidad sin errores entre todas las herramientas y con las distintas versiones de SPIP.

Qué piensan ustedes ?

Notes

[1- Este plugin se instala como cualquier otro en SPIP. Ver la documentación
-  Configuración : desde la página de adminitración, cliquee sobre el ícono « Configuration », y luego sobre « Le Couteau Suisse » (la Navaja Suiza). Entonces habrá llegado a : ecrire/?exec=admin_couteau_suisse

Actualización

El archivo de descarga indicado más arriba se actualiza regularmente : los pequeños bugs se corrigen, se aportan algunas mejoras, se añaden nuevas herramientas, etc. Se recomienda hacer actualizaciones periódicas con el fin de beneficiarse de las últimas proyecciones del plugin. Tenga en cuenta que es necesario siempre revalidar la activación de los plugins cuando se pone modifica el directorio plugin. Técnicamente, eso permite entre otras cosas reinicializar las tuberías y en consecuencia los procedimientos y funciones utilizadas. A continuación, no vacile en consultar la página de administración del propio plugin con el fin de compruebar sus anteriores opciones y poder considerar la utilidad de las nuevas herramientas eventualmente disponibles.

Por el momento no existe un documento que detalle las modificaciones históricas del plugin. ¡Recurro a valientes de buena voluntad que estén leyendo en este momento preciso y a los que esta tarea pueda interesarle ! Sin embargo, siempre es posible consultar los registros de desarrollo aquí. El plugin en efecto se desarrolla gracias al sistema de seguimiento de la versión « SVN »[[[dentro del spip-zone> http://trac.rezo.net/trac/spip/]

Traducción por Martín Gaitán para la comunidad Spip en Español.

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom