Un sitio web de contenido privado o restringido, destinado en exclusiva al trabajo de los docentes de un centro educativo, debe incorporar una serie de funcionalidades específicas, que explicaremos a continuación. No obstante, antes de hacerlo conviene analizar brevemente las posibilidades que las funciones nativas de WordPress proporcionan a la hora de crear y gestionar esta clase de contenido.
WordPress para sitios privados o de contenido restringido
Aunque WordPress dispone de la posibilidad de crear entradas privadas, a las que solo pueden acceder los administradores o editores, y también entradas protegidas con contraseña, cuyo contenido solo está disponible para quienes la conozcan, lo cierto es que sus capacidades en este ámbito son muy elementales, y por tanto poco adecuadas para conseguir objetivos mínimamente ambiciosos, al menos por tres razones distintas:
- Crear entradas privadas supone que solo las podrán leer los usuarios con roles de administrador o editor, cuya potencia no los hace aconsejables como roles que se deban asignar a la mayoría de usuarios.
- La protección de entradas por contraseña es notoriamente insegura, ya que exige divulgar la misma contraseña entre un gran número de usuarios, con los problemas consiguientes; además, exige configurar, una por una, todas las entradas que se quieran proteger, lo cual supone un gran trabajo y es muy vulnerable a la comisión de errores y olvidos.
- Estos dos métodos de protección del contenido solo están disponibles para las entradas de un sitio web, y no son aplicables -al menos sin ayuda de plugins- a otro tipo de contenidos, como las páginas fijas.
Así pues, para crear y configurar adecuadamente un sitio web de contenido privado o restringido es necesario activar una serie de funcionalidades específicas, que en su mayor parte solo pueden conseguirse mediante la instalación y configuración de los correspondientes plugins.
Por otro lado, debido a las particulares circunstancias de un sitio web de contenido privado o restringido, conviene que este se dedique en exclusiva a dicho propósito, y que interfiera lo menos posible con el sitio web del centro, ya que el objetivo básico de este es justamente el contrario del anterior, es decir, difundir la actividad del centro a todas las personas interesadas en ella. En consecuencia, caben dos opciones:
- Realizar una instalación de WordPress específica para el sitio privado, esto es, diferente a aquella que aloja el sitio web del centro.
- Dar de alta en la instalación multisitio de WordPress del centro un nuevo blog o sitio, y configurar este para que sea de contenido privado.
La segunda alternativa resulta más ventajosa, ya que el sitio web privado se puede crear con un mínimo esfuerzo dentro de una instalación multisitio ya existente, lo cual simplifica mucho todos los aspectos de gestión, mantenimiento y actualización. No obstante, esta opción presenta también algunos inconvenientes, como pueden ser una mayor dificultad para gestionar los usuarios y los plugins específicos del sitio privado.
Finalmente, si el sitio creado con WordPress ha de ser enteramente privado, conviene desactivar la posibilidad de que sea indexado por los buscadores. Esto se puede hacer desde el menú Ajustes > Lectura, activando la opción “Disuade a los motores de búsqueda de indexar este sitio”. También es aconsejable desactivar totalmente los comentarios en entradas y páginas, pues resultan de dudosa utilidad en un sitio cuya comunidad de usuarios coincide con la de una organización profesional; para conseguirlo, hay que ir al menú Ajustes > Comentarios, y desactivar las tres primeras opciones, a saber: “ ” y “
Propuesta de sitio privado o restringido
El escenario que proponemos para un sitio de contenido privado o restringido corresponde al siguiente planteamiento: el sitio en cuestión será accesible desde Internet, pero solo tendrá una página pública, la de inicio. Los demás contenidos solo serán visibles para los usuarios registrados en el sistema, todos los cuales serán profesores del centro educativo. Por tanto, los usuarios interesados en ver el contenido de este sitio web tendrán que iniciar sesión previamente, acción que llevarán a cabo con sus cuentas de usuario de la aplicación de gestión del Departamento de Educación del Gobierno de Navarra, Educa. A su vez, el planteamiento que acabamos de hacer deriva en otras exigencias:
- El inicio de sesión por parte de los usuarios se deberá llevar a cabo mediante un sistema que pueda conectar con los datos de Educa. Por tanto, las credenciales de usuario utilizadas serán las mismas que en dicha aplicación, y se deberá garantizar que los datos importados de Educa sean tratados de forma segura y coherente.
- En el sitio web de cada centro educativo solo podrán iniciar sesión aquellos usuarios autorizados para ello, que básicamente son los docentes adscritos al centro.
- El rol de los usuarios deberá ser el más bajo posible, y al mismo tiempo deberá garantizar que aquellos puedan llevar a cabo las tareas decididas por el administrador del sitio web.
- El inicio de sesión de los usuarios deberá realizarse, siempre que sea posible, desde el frontal del sitio web.
- Los contenidos restringidos o privados no podrán ser visibles de ninguna forma si los usuarios no han iniciado sesión. Esto implica que no solo hay que ocultar los elementos de contenido invidiual de WordPress (páginas, entradas y otros tipos de contenido), sino también los enlaces y elementos de navegación (menús, widgets) que conducen a ellos.
Activación del contenido privado o restringido
La primera funcionalidad que debemos activar es la que permite definir la privacidad del contenido, lo cual exige atender al menos un par de requisitos básicos:
- Que todo el sitio se pueda convertir en privado de forma fácil y rápida (si es posible, mediante una única opción).
- Que se puedan definir excepciones al requisito anterior, pues es posible que, en determinado momento, sea necesario crear una o varias páginas públicas, de forma permanente o temporal.
En el repositorio oficial de WordPress hay muchos plugins capaces de satisfacer los dos requisitos anteriores (véanse, por ejemplo, los que corresponden a etiquetas como access o membership). Sin embargo, muchos son difíciles de configurar, algunos no son traducibles al español, y otros disponen de funcionalidades limitadas, que solo pueden ampliarse si se adquiere la versión de pago. De entre todos los plugins gratuitos disponibles, proponemos tres que ya hemos verificado en diversas instalaciones:
- Authorizer: es, sin lugar a dudas, el plugin más completo y potente de los tres, pues no solo permite activar fácilmente el contenido restringido y definir las posibles excepciones, sino que además sirve para gestionar los inicios de sesión y ofrece la posibilidad de conectar con fuentes externas de autenticación, como servidores CAS, cuentas de Google y servidores LDAP. Por último, el plugin puede activarse en configuración multisitio y es traducible. Podría ser la opción perfecta para crear en los servidores del PNTE sitios privados para uso del profesorado, pero, al menos de momento, no es posible configurar el acceso por LDAP con filtrado por grupos de usuarios, con lo cual esta funcionalidad no puede aplicarse a la organización propia del Departamento de Educación del Gobierno de Navarra.
- My Private Site: el plugin está específicamente orientado a la activación de sitios web privados, y dispone de muchas opciones para definir excepciones, así como para gestionar los intentos de sesión, las redirecciones para los usuarios registrados y no registrados, etc.
- Members: no es propiamente un plugin para gestionar contenido privado, ya que su objetivo principal es la creación y gestión de capacidades y roles de usuarios personalizados. Sin embargo, dispone de un módulo que permite conseguir que un sitio sea enteramente privado,
Aunque algunos sitios privados de centros se han montado con los plugins My Private Site o Members, consideramos que la opción más recomendable, incluso a pesar de que las instalaciones de WordPress del PNTE no pueden aprovechar todas sus funcionalidades, es la del plugin Authorizer, con el cual hemos montado un ejemplo de sitio privado de prácticas, en el cual trabajarán los alumnos y alumnas de este curso. La configuración de privacidad creada con este plugin puede verse en la figura 1:
Autenticación de los usuarios contra un servidor externo
La gestión de usuarios es una de las tareas más pesadas y exigentes para cualquier administrador de sistemas informáticos, y también para cualquier administrador de un sitio web como el que proponemos en este artículo. En efecto, dar de alta a los profesores y profesoras de un centro, gestionar sus permisos, realizar el mantenimiento cotidiano de los usuarios y recuperar los datos perdidos o extraviados son tareas que consumen mucho tiempo y esfuerzo. Por tanto, el modelo de sitios que proponemos confía en una fuente de datos externa para la gestión de los usuarios y de sus credenciales de usuario.
Esta fuente de datos es Educa, la plataforma de gestión escolar del Departamento de Educación del Gobierno de Navarra, de cuyas bases de datos “bebe” un servidor LDAP, que utilizaremos como fuente de datos para identificación, autenticación y autorización de usuarios. Al utilizar una fuente externa como Educa disfrutamos de muchas ventajas:
- Se evitan muchas de las tareas asociadas a la gestión de los usuarios. En efecto, ningún administrador debe preocuparse por el alta de los usuarios, ya que serán estos mismos quienes se registren, con sus credenciales de Educa.
- Se evitan las complicaciones y conflictos derivados de utilizar juegos de credenciales diferentes por parte de los usuarios. Los profesores y profesoras podrán entrar en el sitio privado de su centro con las mismas credenciales que utilizan para iniciar sesión en Educa.
- Se garantiza la coherencia de los datos que manejan las diversas aplicaciones. Los docentes que inicien sesión en el sitio privado de su centro lo harán con el mismo nombre, apellidos y email con los que figuren en Educa.
- Se garantiza que los usuarios no autorizados no puedan entrar en el sitio web. En efecto, una persona que no pertenezca al grupo autorizado no podrá acceder al sitio web privado de un centro educativo, incluso aunque haya sido profesor de dicho centro. En el momento en que pierda tal condición, dejará de tener permiso para acceder al sitio web. Esto supone una gran ventaja para los administradores, aunque no elimina totalmente la necesidad de dar de baja en el sitio web a los usuarios que ya no trabajan en el centro.
Cada usuario existente en Educa-LDAP tiene definidos una serie de atributos mediante los cuales se puede regular su acceso a un sitio web determinado. Atributos como la condición del usuario en la comunidad educativa (docente, estudiante, o padre o madre), su cualificación laboral (docente o miembro del personal de administración y servicios), su pertenencia al equipo directivo, su asignación a uno o varios centros educativos, etc., permiten filtrar el acceso en función del atributo o atributos seleccionados. En la práctica, esto significa que se puede crear un mecanismo de autenticación y autorización que permita acceder a los profesores y a los miembros del personal de administración y servicios del centro X al sitio web A, o que permita a los alumnos y alumnas del centro Y, pero no a sus profesores, acceder al sitio web B.
Naturalmente, este sistema tiene sus limitaciones, ya que no permite utilizar filtros que no se correspondan con los atributos existentes en Educa-LDAP. Pongamos un ejemplo un tanto extremo, pero muy fácil de entender: si queremos que solo los profesores de Secundaria pertenecientes a las especialidad de Inglés y Francés que imparten clase en el modelo D puedan acceder a un sitio web privado creado específicamente para ellos (y solo para ellos), no podremos autenticarlos automáticamente a no ser que exista el correspondiente atributo que permita distinguirlos. Ese atributo no existe a día de hoy; se podría habilitar, por supuesto, pero entonces sería necesario programar una función que llevara a cabo su mantenimiento automático. Otro ejemplo fácilmente entendible es el del sitio privado de prácticas que hemos creado para este curso; los docentes autorizados para entrar en él no pertenecen a ningún grupo que tenga un atributo específico en el servidor LDAP del PNTE. Por tanto, la autenticación por LDAP en este caso no es operativa, y de aquí que no hayamos utilizado este sistema.
Hay muchos plugins en el repositorio oficial de WordPress destinados a permitir la autenticación por LDAP, aunque la mayoría no funcionan con la configuración de atributos del servidor LDAP del Departamento de Educación del Gobierno de Navarra. Aunque ninguno de los plugins seleccionados proporciona todas las funcionalidades que serían deseables (el PNTE está buscando actualmente soluciones mejores para llevar a cabo esta tarea), de momento los sitios web que utilizan este sistema han sido montados con una versión modificada del plugin Simple LDAP Login, que se encuentra en curso de sustitución, o bien con el plugin authLDAP.
En todo caso, si decidimos crear un sitio web privado que solo sea accesible para usuarios registrados, e independientemente del procedimiento utilizado para que estos se autentiquen, resulta de todo punto aconsejable contar con un mecanismo que permita a los usuarios iniciar sesión desde el frontal del sitio web. De este modo, su acceso se simplifica y se hace mucho más cómodo y natural. El espacio idóneo para ubicar este mecanismo es, sin lugar a dudas, la página de inicio, bien bajo la cabecera o al comienzo de la barra lateral; esta segunda posición se muestra en la figura 2, en la que aparece un formulario de sesión que solicita al visitante un nombre de usuario y una contraseña; este formulario ha sido creado mediante el plugin Sidebar Login, que permite crear formularios de inicio de sesión con gran cantidad de opciones, muy fáciles de personalizar.
[…] examinar en el artículo anterior el concepto de sitio privado y explicar las funcionalidades de activación del contenido […]