main content

Cómo implementar workflows de publicación y revisión de contenidos en Drupal

Si llevas un tiempo trabajando con Drupal en equipos de más de dos personas, seguro que has vivido ese momento: alguien publica un contenido que no estaba revisado, otro sobreescribe una versión sin querer, y nadie sabe quién aprobó qué ni cuándo. El clásico caos editorial. Los workflows existen precisamente para ponerle orden a todo eso, definiendo estados, transiciones y permisos que obligan a cada pieza de contenido a pasar por las manos correctas antes de ver la luz.

Vamos a ver cómo montar un flujo de publicación y revisión en Drupal usando los módulos del core y alguna que otra extensión que merece la pena.

Por qué necesitas un workflow editorial en Drupal

Cuando el equipo es pequeño --un redactor que escribe y publica--, la vida es sencilla. Pero en cuanto metes a tres o cuatro personas con roles distintos, empiezan los problemas de siempre: contenido que se publica a medias, versiones perdidas, cero trazabilidad.

Un workflow formalizado le pone reglas al ciclo de vida del contenido. Y aquí Drupal nos da una ventaja real frente a otros CMS: los módulos Workflows y Content Moderation vienen en el core desde Drupal 8.5. No necesitas instalar plugins de terceros para la moderación básica. Esto se traduce en estabilidad, parches de seguridad garantizados y compatibilidad a largo plazo. Quien haya sufrido mantener un contrib crítico abandonado sabe lo que vale eso.

Los módulos del core que lo hacen posible

Workflows

El módulo Workflows es la fontanería. Proporciona la infraestructura para definir estados personalizados y las transiciones válidas entre ellos. Por sí solo no hace nada visible al usuario; su trabajo es servir de cimiento para que otros módulos --como Content Moderation-- apliquen esos flujos a entidades concretas.

Lo encuentras en Configuración > Workflows. Desde ahí creas un nuevo flujo, le añades los estados que necesites y defines qué transiciones están permitidas. Un flujo editorial típico podría tener Borrador, En revisión, Aprobado y Publicado. Nada exótico, pero funcional.

Content Moderation

Content Moderation se monta encima de Workflows para aplicar estados de moderación a los tipos de contenido. Una vez activado, los nodos dejan de tener ese estado binario de toda la vida (publicado / no publicado) y pasan a tener un estado de moderación vinculado al flujo.

En la práctica, la casilla "Publicado" desaparece y en su lugar aparece un selector de estado que respeta las transiciones del workflow. Así, un redactor puede mover un contenido de Borrador a En revisión, pero jamás directamente a Publicado si su rol no tiene ese permiso. Esto es lo que realmente controla el flujo.

Scheduler

Scheduler no está en el core, pero si montas un workflow editorial en serio, vas a necesitarlo. Permite programar la publicación y despublicación automática de contenidos en fechas y horas concretas. Combinado con Content Moderation puedes hacer cosas como: un contenido aprobado el viernes que pase automáticamente a Publicado el lunes a las 09:00.

La configuración va por tipo de contenido --publicación programada, despublicación programada o ambas-- y se integra limpiamente con los permisos de Drupal para controlar qué roles pueden programar.

Diseñar el workflow paso a paso

Paso 1: mapear los estados reales

Antes de abrir la administración de Drupal, siéntate con el equipo y mapea los estados por los que pasa el contenido en vuestra organización. No los que te gustaría tener, sino los que de verdad existen. Una configuración habitual para equipos medianos y grandes:

  • Borrador: contenido en fase de redacción, visible solo para el autor y los editores.
  • En revisión: el redactor ha terminado y pide que alguien lo evalúe.
  • Necesita cambios: el revisor ha encontrado cosas que corregir antes de dar el visto bueno.
  • Aprobado: ha pasado la revisión y está listo para publicar.
  • Publicado: visible para todo el mundo.
  • Archivado: ya no es relevante, se retira de la navegación pero no se borra.

Un consejo que doy siempre en las charlas: empieza con los estados mínimos y añade complejidad solo cuando haya una necesidad real. Un flujo con ocho estados que nadie entiende genera más fricción que valor.

Paso 2: definir las transiciones

Las transiciones son los movimientos permitidos entre estados. Y ojo, las restricciones son precisamente lo que da sentido al workflow. Si todo el mundo puede saltar a cualquier estado, el flujo no sirve para nada.

Un ejemplo coherente:

  • De Borrador a En revisión (el redactor solicita revisión).
  • De En revisión a Necesita cambios (el revisor detecta problemas).
  • De En revisión a Aprobado (el revisor da el visto bueno).
  • De Necesita cambios a En revisión (el redactor corrige y reenvía).
  • De Aprobado a Publicado (un administrador o el sistema programado publica).
  • De Publicado a Archivado (se retira el contenido).
  • De cualquier estado a Borrador (vuelta a empezar si hace falta).

Paso 3: asignar permisos por rol

Aquí está la chicha. Drupal permite controlar qué roles ejecutan cada transición, y esta granularidad es brutal si la usas bien:

  • Redactor: crea borradores y los envía a revisión. Punto. No publica ni aprueba.
  • Editor/Revisor: mueve contenidos de En revisión a Aprobado o a Necesita cambios. Tampoco publica directamente.
  • Responsable de publicación: ejecuta la transición de Aprobado a Publicado y gestiona la programación.
  • Administrador: acceso total, sin restricciones.

Todo esto se gestiona desde la página de permisos de Drupal, donde cada transición del workflow aparece como un permiso independiente asignable a roles. Es elegante y potente a partes iguales.

Paso 4: activar el historial de revisiones

Cada vez que se guarda un contenido en Drupal se crea una nueva revisión con fecha, autor y mensaje opcional. Esto te permite comparar versiones, revertir cambios y auditar quién hizo qué y cuándo.

Mi recomendación: activa la creación automática de nuevas revisiones en todos los tipos de contenido que usen workflows. Así cada cambio de estado genera su propia revisión y tienes trazabilidad completa del ciclo de vida. Cuando un cliente te pregunta "quién aprobó esta página y cuándo", lo tienes a un clic.

Aprobación multinivel para organizaciones grandes

En organizaciones con varios departamentos o niveles jerárquicos, un único nivel de revisión se queda corto. Drupal te deja implementar flujos multinivel añadiendo estados intermedios. Por ejemplo:

  • Borrador > Revisión editorial > Revisión legal > Revisión de dirección > Aprobado > Publicado.

Cada nivel se asigna a un rol diferente y las transiciones se configuran para que el contenido avance en secuencia. Ahora bien, cuidado con pasarse: cada nivel extra añade tiempo. La aprobación multinivel debería reservarse para lo que realmente lo necesita --comunicados oficiales, documentación regulatoria, contenido que afecte a la imagen corporativa--, no para el post semanal del blog.

Una estrategia que funciona muy bien en la práctica es crear workflows distintos para distintos tipos de contenido. Los artículos del blog con un flujo ligero de tres estados; las páginas institucionales con aprobación multinivel completa. Drupal permite asignar workflows diferentes a cada tipo de contenido, y esa flexibilidad marca la diferencia.

Buenas prácticas que he visto funcionar

Dibuja el flujo antes de configurarlo

El error número uno --y lo he visto decenas de veces-- es lanzarse a crear estados en Drupal sin haber consensuado el flujo con el equipo. Dibuja el diagrama, enséñaselo a todos los roles implicados, recoge feedback y ajusta. Luego configuras. Ese orden.

Nombra los estados para humanos, no para máquinas

Los nombres tienen que ser autoexplicativos para cualquier usuario. "En revisión editorial" le dice algo a todo el mundo. "Rev-1" no le dice nada a nadie. "Pendiente de aprobación legal" se entiende solo. "Estado 4" es una invitación al desastre.

Monta notificaciones automáticas

Un workflow sin notificaciones es como un semáforo sin luces. Si el editor no se entera de que tiene contenido pendiente, el flujo se atasca. Módulos como Rules o ECA (Events, Conditions, Actions) permiten enviar correos automáticos cuando un contenido cambia de estado. El editor recibe aviso cuando llega algo a revisión; el responsable de publicación se entera cuando un contenido queda aprobado.

Define plazos y responsables

Sin plazos, los contenidos se quedan eternamente en "En revisión". Establece tiempos máximos para cada estado y designa responsables claros. Si algo lleva más de 48 horas sin actividad, tiene que haber un mecanismo de escalado.

Simplifica cada seis meses

Los workflows tienden a acumular estados y transiciones con el tiempo, como los armarios acumulan trastos. Cada seis meses, revisa el flujo con el equipo y elimina lo que no se use. Un flujo simple se cumple mejor y genera menos resistencia.

Módulos contrib que merecen un hueco

Además de los que ya hemos mencionado, hay unos cuantos módulos que enriquecen mucho la experiencia editorial:

  • Moderation Dashboard: un panel centralizado donde los editores ven de un vistazo todo el contenido pendiente en cada estado. Imprescindible en equipos grandes.
  • Moderation Sidebar: añade un panel lateral en la interfaz de edición para cambiar el estado del contenido sin salir de la página. Pequeño detalle, gran mejora de usabilidad.
  • Revision Log: mejora el registro de revisiones con mensajes más detallados y una interfaz de comparación más clara.
  • Content Lock: evita que dos editores toquen el mismo contenido a la vez, previniendo esos conflictos de versión que tanto dolor de cabeza dan.

Montar el flujo es solo la mitad del trabajo

Implementar workflows de publicación y revisión en Drupal no es solo pulsar botones en la administración. Es una decisión organizativa que impacta directamente en la calidad y coherencia de lo que publicas. Las herramientas nativas del core, complementadas con los módulos contrib adecuados, dan flexibilidad de sobra para adaptarse a equipos de cualquier tamaño.

La clave: diseñar antes de configurar, asignar permisos con criterio estricto, aprovechar el historial de revisiones y resistir la tentación de complicar el flujo más de lo necesario. Si necesitas ayuda para diseñar e implementar un workflow editorial adaptado a la estructura de tu equipo, contacta con nuestro equipo de consultoría Drupal para analizar tu caso concreto.