El otro día me enteré, a través de WordPress Planet, de la publicación de la versión 1.0 del plugin WP Help, obra de Mark Jaquith, uno de los más desarrolladores principales de WordPress. Es una extensión que permite elaborar documentación de ayuda personalizada desde el backend de WordPress, mediante los mismos procedimientos de edición y publicación que se utilizan para elaborar las entradas y páginas del sitio web.
En realidad, lo que hace el plugin WP Help es definir un tipo de contenido personalizado (“wp-help”) que solo pueden crear, publicar y editar los usuarios administradores y editores; en cuanto a la lectura de los artículos creados con el plugin, solo esta disponible, y exclusivamente desde el menú de administración de WordPress, para aquellos usuarios registrados que tengan la capacidad de editar entradas, es decir, los administradores, editores, autores y colaboradores. Estas limitaciones se entienden si se tiene en cuenta que los documentos de ayuda creados por el plugin WP Help están concebidos como un mecanismo de soporte para los autores encargados de crear contenido en un sitio, y no como tutoriales o sistemas de formación para el público general.
La extensión presenta varias funcionalidades muy interesantes, que describimos a continuación:
- Permite definir los nombres del ítem de menú y del listado de temas de ayuda, así como su ubicación en el menú lateral WordPress, lo cual es muy útil para adaptar el sistema de documentación a circunstancias de uso muy variadas. Tal como puede verse en las figuras 1 y 2, el mismo sistema de ayuda de dos sitios web (el de la figura 1 es el origen y el de la figura 2 el destino) aparece nombrado de forma diferente (“Ayuda” y “Temas de la ayuda” en un caso, y “Documentación” y “Documentos” en el otro”), y se muestra en lugares distintos del menú lateral.
- Permite organizar los documentos de forma jerárquica, a modo de páginas y subpáginas, lo cual hace posible diseñar un sistema de ayuda muy eficaz. De momento, los ítems de la ayuda se pueden reorganizar mediante el procedimiento estándar previsto por WordPress (véase la figura 3), pero Mark Jaquith ya ha anunciado un sistema mucho más eficiente, al estilo “arrastrar y soltar”, que simplificará mucho el manejo de los documentos.
- En cualquier momento se puede modificar el ítem de inicio del sistema de ayuda, para lo cual basta con marcar la casilla “Establecer como documento de ayuda por defecto” (figura 3).
- Los documentos se pueden enlazar entre sí mediante los enlaces internos de WordPress, es decir, como cualquier otro artículo creado con dicha aplicación.
- Proporciona un widget para el escritorio (figura 4).
Pero la funcionalidad que da más valor al plugin es, con gran diferencia, la que hace posible que un sistema de ayuda diseñado para un sitio web sea leído desde otro. Los dos sitios –el de origen y el de destino– pueden encontrarse en el mismo servidor/dominio (por ejemplo, un entorno multisitio) o en servidores y dominios completamente diferentes. Esta funcionalidad, a la que Jaquith ha denominado “Sync Pull”, y que yo he traducido como “Sincronizar importación” puede ser de inestimable valor para aquellas organizaciones que cuentan con una fuente que genera documentos de ayuda y diversos elementos subordinados que “beben” de dicha fuente (véase la figura 6, donde aparecen las opciones que hacen posible la sincronización de la importación). El sistema escolar es un ejemplo típico de este tipo de organizaciones; en efecto, una administración educativa puede crear un sistema de ayuda y publicar (normalmente, de forma restringida) su URL de difusión, a fin de que los sitios web de los centros escolares pertenecientes a ella sincronicen sus propios sitios con dicha ayuda.
Mark Jaquith, que es un programador de toda garantía, ha pensado muy bien en las necesidades de ese tipo de organizaciones, y a tal fin ha previsto varias características muy útiles para el mecanismo de exportación-importación de los documentos de ayuda:
- Una vez determinada la fuente de origen, los documentos de ayuda se sincronizan automáticamente, una vez al día (también es posible forzar la sincronización manualmente a intervalos más breves), con lo cual los posibles cambios (adiciones, ediciones, eliminaciones), de la fuente de documentación original se propagan sin ningún problema.
- Los enlaces internos del sistema de ayuda original se reescriben en los sistemas de ayuda que se han sincronizado con él de acuerdo con sus propias circunstancias, lo cual hace que los enlaces estén siempre operativos en todas aquellos sitios web que utilizan el mismo sistema de ayuda.
- Los documentos que se importan desde una fuente a la que un sitio web está conectado no se pueden editar, lo cual tiene todo el sentido del mundo para mantener la homogeneidad y estabilidad del sistema de ayuda original. Si se quieren editar dichos documentos es necesario desconectar la sincronización (o solicitar al editor de la fuente “padre” que haga los cambios necesarios, claro).
- Si se crea localmente un sistema de ayuda propio y luego se sincroniza con otro ya existente, los documentos del primero no se destruirán. Ahora bien, si se cuenta con un sistema de ayuda ya sincronizado con una fuente A y luego se decide sincronizar con una fuente B, los documentos importados desde la fuente A serán borrados. Esta es la razón de que el propio Jaquith tenga en mente una nueva funcionalidad del plugin, consistente en la posibilidad de sincronizar documentos de ayuda procedentes de distintas fuentes.
A mi modo de ver, el plugin WP Help abre inmensas posibilidades para todo tipo de comunidades basadas en WordPress. No habría que descartar, por ejemplo, un escenario futuro en el cual existiera una fuente de documentación “autorizada” (o varias, para las lenguas a las que se ha traducido la aplicación, o para las circunstancias de uso más habituales, o para propósitos específicos, etc.), a la que los sitios creados con WordPress pudieran conectarse para disponer de un sistema integrado de ayuda. Incluso sin llegar tan lejos, los creadores de plugins y temas pueden aprovechar la funcionalidad del plugin de Jaquith para poner en práctica sistemas de ayuda específicamente adaptados a sus productos. Y, por último, no cabe descartar la posibilidad de que este plugin abra nuevos modelos de negocio: las empresas crean sistemas de ayuda para los cada vez más variados usos de WordPress, y los venden a quienes estén interesados en comprarlos.
Como he señalado al principio de este artículo, el plugin ha sido diseñado para que solo los usuarios que tienen la capacidad de leer entradas (“edit_posts”), es decir, administradores, editores, autores y colaboradores, puedan acceder al sistema de ayuda, lo cual deja fuera a los usuarios suscriptores, que no poseen dicha capacidad (para más información al respecto, véase el artículo Roles and Capabilities, en el Codex de WordPress). En determinadas situaciones (piénsese, por ejemplo, en un entorno multisitio en el que todos los usuarios registrados tienen el rol de suscriptor en el sitio principal, aunque la mayoría de ellos sean, a su vez, administradores de sus propios sitios) esta restricción puede no ser adecuada.
Pues bien, como a mí me interesaba modificar el comportamiento del plugin para experimentarlo en las plataformas de blogs del PNTE (otra cosa es que en última instancia desarrolle un sistema de ayuda digno de tal nombre, porque ello supone un esfuerzo monumental), me propuse explorar sus posibilidades de modificación. En primera instancia, conseguí mis propósitos editando el fichero wp-help.php, y sustituyendo la capacidad «edit_posts” por “read” allí donde era necesario (en la versión 1.0 del plugin, en las líneas 111, 155, 483 y 485). Sin embargo, esto no deja de ser una chapuza, así que me puse en contacto con Mark Jaquith, quien muy amablemente me dio las pistas necesarias. Gracias a ellas, he creado una función que que se puede añadir al fichero functions.php del tema del sitio, o incorporar a un plugin de funciones. Aquí va el código correspondiente:
function subscribers_can_read_wp_help_documentation() { return 'read'; } add_filter('cws_wp_help_view_documents_cap', 'subscribers_can_read_wp_help_documentation');
También he actualizado, mejorado y ampliado la traducción al español del plugin WP Help, originalmente realizada para la versión 2.0. Aquí la tienen todos ustedes, por si la encuentran de utilidad. En cuanto publique este artículo daré cuenta de su existencia al autor del plugin.
Últimos comentarios