Moderated Content Bulk Publish
Proporciona operaciones masivas para publicar, despublicar, archivar, fijar y desfijar contenido moderado desde la página admin/content.
moderated_content_bulk_publish
Instalar
composer require 'drupal/moderated_content_bulk_publish:^2.0'
Overview
El módulo Moderated Content Bulk Publish extiende el sistema de moderación de contenido de Drupal proporcionando plugins esenciales de operaciones masivas que no están disponibles en el núcleo. Permite a los administradores del sitio realizar operaciones por lotes en contenido moderado directamente desde la vista /admin/content.
El módulo está diseñado para funcionar perfectamente con tipos de contenido que utilizan el flujo de trabajo editorial proporcionado por los módulos Workflow y Content Moderation del núcleo de Drupal. Maneja correctamente sitios multilingües procesando todas las traducciones de los elementos de contenido durante las operaciones masivas.
Las capacidades principales incluyen publicar la última revisión (incluso si es un borrador), despublicar contenido moviéndolo a través de estados archivado a borrador, archivar contenido y gestionar el estado sticky (fijar/desfijar) de los nodos. El módulo también proporciona un diálogo de confirmación opcional para prevenir operaciones masivas accidentales, un selector de idioma en la barra de herramientas para sitios multilingües y un manejador de errores 403 que redirige elegantemente cuando las últimas revisiones no existen para las traducciones.
Para desarrolladores, el módulo proporciona APIs de hooks que permiten a módulos externos implementar lógica de verificación personalizada antes de que se ejecuten las operaciones de publicación o archivado, habilitando la integración con sistemas de validación de contenido como Safe Delete.
Features
- Publicar la última revisión de contenido moderado de forma masiva, incluso cuando la última revisión es un borrador
- Despublicar la revisión actual transicionando a través del estado archivado al estado borrador con manejo adecuado de todas las traducciones
- Archivar la revisión actual del contenido en operaciones masivas
- Fijar (sticky) y desfijar contenido de forma masiva desde el listado de contenido de administración
- Diálogo de confirmación opcional para operaciones masivas en la página admin/content para prevenir cambios accidentales
- Diálogo de confirmación opcional al publicar contenido desde el formulario de edición del nodo
- Selector de idioma en la barra de herramientas para sitios con múltiples idiomas habilitados
- Manejo elegante de redirección 403 cuando la última revisión no existe para una traducción
- API de hooks para verificación personalizada antes de las operaciones de publicación y archivado
- Actualizaciones automáticas de alias de Pathauto durante operaciones masivas
- Opción configurable para retener la información del autor de la revisión original durante la publicación masiva
- Soporte para tipos de entidad node y media en operaciones de publicación/despublicación
Use Cases
Publicar múltiples artículos en borrador a la vez
Cuando los editores de contenido han revisado y aprobado múltiples artículos que actualmente están en estado borrador, pueden usar la acción masiva 'Publish latest revision' desde /admin/content para publicarlos todos a la vez. Simplemente seleccione los artículos usando las casillas de verificación, elija 'Publish latest revision' del menú desplegable de acciones y aplique. Aparecerá un diálogo de confirmación si está habilitado.
Despublicar contenido desactualizado de forma masiva
Cuando el contenido estacional o los artículos sensibles al tiempo necesitan ser retirados, los editores pueden seleccionar múltiples elementos y usar la acción 'Unpublish current revision'. Esto transiciona el contenido a través del estado archivado a borrador, asegurando una gestión adecuada del estado del flujo de trabajo.
Gestionar contenido fijado para secciones destacadas
Para contenido destacado en la página de inicio o secciones que necesita rotarse regularmente, los editores pueden usar las acciones 'Pin Content' y 'Unpin Content' para gestionar rápidamente qué artículos aparecen en la parte superior de los listados sin editar cada nodo individualmente.
Archivar contenido antiguo
Cuando el contenido llega al final de su vida útil pero no debe eliminarse, la acción 'Archive current revision' permite archivar múltiples elementos de forma masiva. Esto es particularmente útil para el cumplimiento legal donde el contenido debe preservarse pero no ser accesible públicamente.
Flujo de trabajo de contenido multilingüe
En sitios multilingües, cuando el contenido en el idioma fuente es aprobado para publicación, el módulo procesa automáticamente todas las traducciones, asegurando estados de moderación consistentes en todas las versiones de idioma del contenido.
Implementar validación personalizada de publicación
Los desarrolladores pueden implementar hook_moderated_content_bulk_publish_verify_publish para agregar validación personalizada antes de que el contenido sea publicado, como verificar enlaces rotos, campos requeridos o requisitos de cumplimiento. Si la validación falla, la publicación se bloquea y se muestra un mensaje de error.
Tips
- El diálogo de confirmación puede deshabilitarse para pruebas automatizadas ejecutando: jQuery('*').unbind('click.moderated_content_bulk_publish')
- Cuando 'Retain revision authoring information' está habilitado, el autor y la fecha originales se preservan mientras se agrega el usuario y la fecha de publicación masiva al mensaje de registro
- Para sitios multilingües, el idioma actual siempre se procesa primero para evitar problemas de transacciones de base de datos, con otros idiomas procesados durante el apagado de PHP
- El módulo registra todas las operaciones masivas en el registro de Drupal bajo el canal 'moderated_content_bulk_publish' para propósitos de auditoría
- Las entidades media son soportadas para operaciones de publicación y despublicación, no solo nodos
Technical Details
Admin Pages 1
/admin/config/content/moderated-content-bulk-publish
Configurar ajustes para el módulo Moderated Content Bulk Publish incluyendo diálogos de confirmación y opciones del selector de idioma en la barra de herramientas.
Permisos 5
Hooks 2
hook_moderated_content_bulk_publish_verify_publish
Permite a los módulos verificar y validar contenido antes de la publicación masiva. Puede usarse para prevenir la publicación si no se cumplen ciertas condiciones.
hook_moderated_content_bulk_publish_verify_archived
Permite a los módulos verificar y validar contenido antes del archivado masivo. Puede usarse para prevenir el archivado si no se cumplen ciertas condiciones.
Troubleshooting 6
Asegúrese de haber agregado el campo 'Node operations bulk' a su vista de contenido en /admin/structure/views/view/content y seleccionado las operaciones deseadas desde la configuración del campo.
Verifique que los usuarios tengan los permisos apropiados: 'moderated content bulk publish', 'moderated content bulk unpublish', 'moderated content bulk pin content', 'moderated content bulk unpin content' o 'moderated content bulk archive'.
Verifique que su tipo de contenido esté configurado para usar el flujo de trabajo editorial con Content Moderation. Compruebe que su flujo de trabajo tenga los estados requeridos (published, draft, archived) y que las transiciones estén configuradas correctamente.
El módulo incluye un manejador para esto. Si sigue ocurriendo, asegúrese de que el suscriptor de eventos HandlerFor403AccessDenied esté registrado correctamente. Limpie los cachés después de la instalación.
Verifique que los diálogos estén habilitados en la configuración del módulo en /admin/config/content/moderated-content-bulk-publish. También asegúrese de que JavaScript se esté cargando correctamente verificando errores en la consola.
Asegúrese de que el módulo Pathauto esté instalado y configurado correctamente. El módulo llama al servicio generador de Pathauto durante la función de apagado para actualizar los alias para todas las traducciones.
Security Notes 3
- Todas las operaciones masivas requieren permisos específicos y verifican el acceso del usuario antes de ejecutarse
- El módulo respeta los controles de acceso de Content Moderation al verificar si los usuarios pueden editar estados de moderación
- La entrada de implementaciones de hooks se sanitiza usando mb_convert_encoding antes de mostrarse en mensajes