dbravoan / dbcms-module-content-audit
Flujo editorial de calidad, inferencia de capacidad de publicación por roles, cola de aprobación previa, notificaciones automáticas y control exhaustivo de cambios con comparador visual (Diff) de versiones.
Package info
github.com/dbravoan/dbcms-module-content-audit
Type:dbcms-module
pkg:composer/dbravoan/dbcms-module-content-audit
Requires
- dbravoan/dbcms-core: ^1.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Qué hace
dbravoan/dbcms-module-content-audit implementa el flujo editorial compartido.
content_audit debe estar instalado/activo y su ajuste de flujo habilitado para
aplicar revisión. Guardar crea una versión privada; enviar a revisión no sustituye
lo publicado. El revisor necesita permisos de aprobación y acceso a la entidad.
Un ID de revisión no concede acceso. Abre la revisión para obtener un token
vigente: cambios del borrador o contenido publicado invalidan la aprobación.
Los snapshots conservan atributos canónicos, traducciones completas, secciones, mercados y relaciones propias. Restaurar es transaccional. Desactivar conserva historial sin inventar derechos ni restaurar contenido borrado. Aprobar una acción MCP/AI es independiente de la aprobación editorial.
El módulo implementa DbCms\Core\Content\Contracts\EditorialWorkflowInterface.
Los escritores terminan su mutación compartida antes de finalizar el snapshot,
en la misma transacción. Los listados de cambios cargan metadatos; snapshots/diffs solo en el detalle solicitado.
Requisitos y dependencias
dbravoan/dbcms-core^1.0- Identificador CMS:
content_audit
Instalación y activación
Instala el paquete con Composer e instálalo/actívalo en el CMS (content_audit).
Configuración
Ajustes del módulo (claves por nombre):
is_enabledaudited_rolesapprover_rolesaudited_entitiesauto_publish_on_approvaltrack_all_modificationsrequire_rejection_reasonenforce_editorial_qualitymin_anti_ai_scorenotify_in_appnotify_email
Rutas
Rutas de revisiones/historial en el panel (código Http/ / Routes/).
Comandos Artisan
content-audit:privacy— firma:content-audit:privacy {action : export, erase or prune} {kind=revisions : revisions or histories} {--id=* : Explicit owned record IDs} {--verified : Identity, scope and third-party rights were checked} {--retention-released : Documented retention review permits release}
Permisos
audit:approvemanage:modulesaccess:admin
Privacidad y datos
Antes de registrar revisiones configura legal.processing revisado para
content_audit: finalidad editorial real, base jurídica, destinatarios,
transferencias y conservación. Al instalar o activar el módulo, un aviso enlaza
con la pantalla de privacidad del panel si el tratamiento está incompleto. El
responsable debe revisar y guardar los datos allí; hasta entonces se impide guardar
contenido auditado. También puede configurarse mediante privacy:configure como
se describe en el contrato de extensiones. El historial incluye snapshots/diffs completos,
identificadores/nombres de actor, títulos, notas y motivos de rechazo. Las nuevas
revisiones no guardan IP ni user-agent.
Ejecuta mediante Sail; las solicitudes de derechos requieren IDs explícitos y revisión de identidad/alcance. Los exports pueden contener contenido de terceros; revísalos antes de entregar y elimínalos tras atender la solicitud.
./vendor/bin/sail artisan content-audit:privacy export histories --id=AUDIT_ID --verified
./vendor/bin/sail artisan content-audit:privacy erase revisions --id=REVISION_ID --verified
./vendor/bin/sail artisan content-audit:privacy prune
retention_days finito permite retirar revisiones sustituidas vencidas. Una
revisión pendiente conserva toda su cadena; si no hay pendientes se conservan las
dos últimas revisiones y la versión actual de restauración. No se reescriben
snapshots/diffs retenidos: borrar una fila antigua no elimina copias protegidas.
Solo se borra un historial completo cuando su entidad ya fue eliminada, tiene
estado deleted, no quedan revisiones pendientes y venció su conservación. Usa
erase histories --id=AUDIT_ID --verified --retention-released tras revisión
documentada. La retención manual requiere ese flag y conserva la ventana editorial
de treinta minutos. No libera una cadena activa de restauración. Los comandos
siguen disponibles instalado/inactivo; programa limpieza con el scheduler de la
aplicación. Consulta el
contrato de extensiones.
La revisión y el historial ofrecen una comparación visual de las versiones, con idioma y mercado compartidos, desplazamiento independiente y pantalla completa. El tema, menús y contenido relacionado utilizan el contexto actual; los detalles técnicos permanecen disponibles bajo el comparador. Los formularios y acciones de las vistas no se pueden enviar desde la previsualización.