Scheduled Publish

Proporciona un tipo de campo para programar cambios de estado de moderación en entidades de contenido, transicionando automáticamente el contenido a través de estados del flujo de trabajo en momentos específicos.

scheduled_publish
1,549 sites
28
drupal.org

Instalar

Drupal 11, 10, 9 v4.1.0
composer require 'drupal/scheduled_publish:^4.1'
Drupal 8 v8.x-3.11
composer require 'drupal/scheduled_publish:8.x-3.11'

Overview

El módulo Scheduled Publish introduce un potente sistema de programación para los flujos de trabajo de Content Moderation de Drupal. Proporciona un tipo de campo personalizado que permite a los editores de contenido programar cambios futuros de estado de moderación para nodes y entidades de medios.

Cuando se alcanza la fecha y hora programadas, el módulo cambia automáticamente el estado de moderación de la entidad durante la ejecución de cron. Esto permite casos de uso como programar contenido para publicarse a medianoche, archivar contenido automáticamente después de cierta fecha, o crear flujos de trabajo de publicación complejos con múltiples pasos y transiciones temporizadas.

El módulo incluye una interfaz de administración completa para gestionar todos los cambios de estado programados en el sitio, con la capacidad de agregar, editar y eliminar entradas programadas. También soporta operaciones de programación masiva para aplicar la misma programación a múltiples entidades a la vez.

Para desarrolladores, el módulo proporciona un sistema de eventos que permite que código personalizado reaccione a los cambios de estado programados, e integración completa con el módulo ECA (Event-Condition-Action) para flujos de trabajo de automatización sin código.

Features

  • Tipo de campo personalizado para programar cambios de estado de moderación con fecha/hora y estado objetivo
  • Ejecución automática de cambios de estado programados a través de Drupal cron
  • Soporte para múltiples cambios de estado programados por entidad (cardinalidad configurable)
  • Respeta las reglas de transición del flujo de trabajo - solo se permiten transiciones de estado válidas
  • Página de listado de administración que muestra todas las publicaciones programadas en el sitio con capacidades de filtrado
  • Formulario de programación masiva para aplicar la misma programación a múltiples elementos de contenido a la vez
  • Widget con AJAX para agregar, editar y eliminar entradas programadas en línea durante la edición de contenido
  • Formateador de campo configurable con formato de fecha y patrones de texto personalizables
  • Comando Drush para activar actualizaciones programadas manualmente
  • Despacho de eventos cuando ocurren cambios de estado, permitiendo que otros módulos reaccionen
  • Integración con el módulo ECA para construir flujos de trabajo de automatización sin código
  • Soporte para tipos de entidad node y media
  • Integración con Views con manejo dinámico de datos a través de múltiples campos de publicación programada
  • Integración opcional con Ultimate Cron para un control de programación más granular

Use Cases

Publicación de contenido programada

Programe contenido en borrador para publicarse en una fecha y hora específicas. Los editores preparan el contenido con anticipación y establecen la fecha de publicación, luego cron transiciona automáticamente el contenido del estado 'Borrador' al estado 'Publicado' en el momento programado.

Archivado automático de contenido

Programe contenido para archivarse o despublicarse después de cierto período. Para contenido sensible al tiempo como promociones o anuncios, programe una transición automática al estado 'Archivado' o 'No publicado'.

Flujo de trabajo de publicación de múltiples etapas

Cree programaciones de publicación complejas con múltiples cambios de estado. Por ejemplo, programe contenido para pasar de 'Borrador' a 'Revisión' en una semana, luego de 'Revisión' a 'Publicado' la semana siguiente.

Campañas de programación masiva

Use el formulario de programación masiva para aplicar la misma programación de publicación a múltiples elementos de contenido a la vez. Ideal para lanzar campañas o publicar múltiples piezas de contenido simultáneamente.

Gestión de embargos

Gestione contenido embargado que solo debe publicarse en un momento específico. El contenido puede prepararse completamente y programarse para publicarse en el momento exacto en que el embargo se levante.

Rotación de contenido

Automatice la rotación de contenido programando cuándo el contenido debe volverse visible y cuándo debe ser reemplazado. Útil para rotar características de la página principal o contenido estacional.

Tips

  • Ejecute cron frecuentemente (cada 1-5 minutos) para mayor precisión en la programación
  • Use la función de programación masiva para aplicar programaciones consistentes a múltiples elementos de contenido
  • Configure la cardinalidad del campo como ilimitada si necesita múltiples cambios de estado secuenciales
  • Suscríbase al evento scheduled_state_change para activar acciones adicionales cuando ocurran cambios de estado
  • El listado de administración en /admin/content/scheduled-publish proporciona una visión general completa de todas las programaciones pendientes
  • Use la integración con ECA para construir flujos de trabajo de automatización complejos sin escribir código
  • Revise el log de Drupal para entradas de 'scheduled_publish' para monitorear transiciones de estado exitosas

Technical Details

Admin Pages 4
Publicación programada /admin/content/scheduled-publish

Muestra un listado de todo el contenido con cambios de estado programados pendientes. Muestra el título del contenido, la hora de ejecución programada y el estado de moderación futuro. Proporciona operaciones de Editar y Eliminar para cada entrada programada. Solo visible cuando al menos un tipo de contenido tiene un campo de publicación programada configurado.

Agregar publicación programada /admin/content/scheduled-publish/add

Formulario para agregar cambios de estado programados a múltiples elementos de contenido a la vez. Seleccione un flujo de trabajo si existen varios, luego agregue elementos de contenido y defina uno o más cambios de estado programados que se aplicarán a todos los elementos seleccionados.

Editar publicación programada /admin/content/scheduled-publish/edit/{entity}/{field_delta}

Formulario para editar una entrada de cambio de estado programado existente. Permite cambiar el estado de moderación objetivo y la fecha/hora programada. Si el cambio invalida cualquier transición programada posterior, estas se eliminarán automáticamente.

Eliminar publicación programada /admin/content/scheduled-publish/delete/{entity}/{field_delta}

Formulario de confirmación para eliminar una entrada de cambio de estado programado. Si la eliminación invalida cualquier transición programada posterior, estas también se eliminarán automáticamente.

Permisos 1
Acceder a páginas de Scheduled Publish

Permite a los usuarios acceder al formulario de agregar publicación programada masiva y editar/eliminar entradas programadas individuales. Nota: La página de listado principal requiere el permiso 'view any unpublished content' de Content Moderation.

Hooks 2
hook_cron

El módulo implementa hook_cron para activar el servicio scheduled_publish.update, que procesa todos los cambios de estado programados pendientes.

hook_views_data_alter

Crea entradas dinámicas de datos de Views que agregan todos los campos de publicación programada a través de tipos de contenido en una tabla unificada 'scheduled_publish_dynamic' para la integración con Views.

Drush Commands 1
drush scheduled_publish:doUpdate

Activa manualmente el procesamiento de todos los cambios de estado programados pendientes. Útil para pruebas o cuando se necesita ejecución inmediata sin esperar a cron.

Troubleshooting 5
Los cambios de estado programados no se ejecutan a tiempo

El módulo depende de Drupal cron para procesar los cambios programados. Asegúrese de que cron esté configurado para ejecutarse frecuentemente (cada pocos minutos) para una ejecución oportuna. Considere usar el comando Drush 'drush schp' para pruebas manuales.

El widget de publicación programada muestra 'Este tipo de contenido no está asignado a un flujo de trabajo de moderación de contenido'

Asegúrese de que el tipo de contenido tenga Content Moderation habilitado. Navegue a Administración > Configuración > Flujo de trabajo > Flujos de trabajo y asigne un flujo de trabajo al tipo de contenido.

Algunas opciones de estado no están disponibles en el widget

El widget solo muestra transiciones válidas desde el estado actual (o último programado) basándose en la configuración del flujo de trabajo y los permisos del usuario. Verifique la configuración del flujo de trabajo y asegúrese de que el usuario tenga permiso para las transiciones deseadas.

El valor del campo de publicación programada se borra después de que cron se ejecuta

Este es el comportamiento esperado. Una vez que un cambio de estado programado se ejecuta, se elimina del campo. No configure el campo como requerido, ya que estará vacío después del procesamiento.

Las transiciones de estado inválidas en la programación están siendo eliminadas

El módulo valida toda la cadena de transiciones programadas. Si editar o eliminar una entrada invalida entradas posteriores, estas se eliminan automáticamente para mantener una cadena de transición válida.

Security Notes 4
  • El acceso al formulario de programación masiva y las operaciones de editar/eliminar requiere el permiso 'access scheduled publish pages'
  • El listado principal de publicaciones programadas requiere el permiso 'view any unpublished content'
  • Las transiciones de estado respetan los permisos del flujo de trabajo - los usuarios solo pueden programar transiciones que tienen permitido realizar manualmente
  • El módulo ha pasado el proceso de revisión de seguridad de Drupal y está cubierto por el Equipo de Seguridad de Drupal