Entity Legal
Crea formularios legales versionables y rastreables para los usuarios del sitio, como Términos y Condiciones y Políticas de Privacidad.
entity_legal
Overview
El módulo Entity Legal proporciona un método sólido, versionable, exportable y flexible para almacenar documentos legales como Términos y Condiciones y Políticas de Privacidad. Crea tipos de entidad personalizados para documentos legales, sus versiones y las aceptaciones de los usuarios.
Los usuarios pueden ser obligados o sugeridos suavemente a releer y volver a aceptar documentos legales cuando cambian, con un registro de auditoría completo de qué usuario ha aceptado qué versión y cuándo. El módulo admite múltiples documentos legales simultáneamente, cada uno con configuraciones personalizadas sobre cómo los usuarios los aceptan durante el registro o como usuarios existentes.
El módulo viene con múltiples métodos de notificación para solicitar a los usuarios que acepten documentos: diálogos emergentes, mensajes de estado de Drupal y redirección a página completa. Los administradores del sitio también pueden crear métodos de entrega personalizados utilizando la API de plugins del módulo.
Features
- Soporte para múltiples documentos legales en un solo sitio (por ejemplo, Términos de Uso, Política de Privacidad, Términos y Condiciones)
- Historial completo de versiones para cada documento legal con capacidad de crear y cambiar entre versiones
- Rastrea qué usuarios aceptaron qué versión y cuándo (registro de auditoría completo)
- Requiere que los nuevos usuarios acepten documentos legales durante el registro con casilla de verificación en el formulario de registro
- Requiere que los usuarios existentes acepten nuevas versiones mediante ventana emergente, mensaje de advertencia o redirección de página
- Etiquetas de aceptación personalizables con soporte de Token para contenido dinámico
- Soporte de alias de URL para páginas de documentos legales
- Soporte multilingüe con versiones de documentos traducibles
- Integración opcional con Views mostrando todas las aceptaciones de documentos por usuario
- Sistema de plugins extensible para crear métodos de entrega de aceptación personalizados
- Soporte de migración desde el módulo Entity Legal de Drupal 7
- Integración con Token para contenido dinámico en etiquetas de aceptación y títulos
- Limpieza automática de aceptaciones cuando se eliminan usuarios
Use Cases
Cumplimiento del GDPR
Crea un documento de Política de Privacidad que los nuevos usuarios deben aceptar durante el registro. Cuando cambian los requisitos del GDPR, crea una nueva versión y configura a los usuarios existentes para que vuelvan a aceptar mediante ventana emergente. El registro de auditoría demuestra cuándo cada usuario aceptó, útil para auditorías de cumplimiento.
Actualizaciones de Términos de Servicio
Mantén los Términos de Servicio con historial de versiones. Cuando los términos cambian significativamente, publica una nueva versión y usa el método de redirección para obligar a todos los usuarios a leer y aceptar los nuevos términos antes de usar el sitio. Las aceptaciones anteriores se conservan para registros históricos.
Múltiples acuerdos legales
Crea documentos separados para Términos de Servicio, Política de Privacidad y Política de Cookies. Cada uno puede tener configuraciones independientes: los Términos de Servicio podrían requerir re-aceptación mediante redirección mientras que la Política de Cookies usa una ventana emergente. Los nuevos usuarios ven todos los documentos requeridos en el formulario de registro.
Notificación suave de cambios de política
Actualiza una Política de Privacidad y usa el método de mensaje para mostrar una advertencia pidiendo a los usuarios que revisen los cambios. Se recuerda a los usuarios pero no se les obliga a aceptar inmediatamente, adecuado para actualizaciones menores de política.
Auditoría de acuerdos de usuario
Usa la vista de Aceptaciones para auditar qué usuarios han aceptado qué versiones de documentos legales. Filtra por usuario para ver su historial completo de aceptaciones en todos los documentos, útil para investigaciones legales o de cumplimiento.
Requisitos basados en roles
Configura diferentes requisitos para diferentes roles de usuario usando los permisos de 'Volver a aceptar'. Por ejemplo, requiere que los miembros del personal acepten un Código de Conducta del Empleado mientras que los usuarios regulares solo necesitan aceptar los Términos de Servicio estándar.
Tips
- Usa tokens en las etiquetas de aceptación para crear enlaces dinámicos: 'Acepto los <a href="[entity_legal_document:url]">Términos de Servicio</a>'
- Al actualizar un documento, crea una nueva versión en lugar de editar la publicada. Esto conserva el historial de aceptaciones para la versión anterior.
- Revertir a una versión previamente publicada no solicitará a los usuarios que ya aceptaron esa versión que la vuelvan a aceptar.
- Usa el módulo Path para crear URLs amigables como /terminos-de-servicio en lugar de /legal/document/terms
- El módulo se integra con Manage Display para versiones de documentos, permitiéndote personalizar cómo se renderiza el contenido del documento en la página de aceptación.
- Se pueden crear métodos de aceptación personalizados implementando plugins en el espacio de nombres Plugin/EntityLegal con la anotación @EntityLegal.
Technical Details
Admin Pages 6
/admin/structure/legal
Página principal de administración para gestionar todos los documentos legales. Lista todos los documentos legales existentes con enlaces para ver, editar y eliminarlos. Proporciona una acción 'Añadir' para crear nuevos documentos legales.
/admin/structure/legal/add
Formulario para crear una nueva entidad de documento legal. Después de guardar, serás redirigido para crear la primera versión del documento.
/admin/structure/legal/manage/{entity_legal_document}
Edita la configuración de un documento legal existente y gestiona sus versiones. Muestra una tabla de todas las versiones con opciones para establecer la versión publicada, editar, eliminar o traducir cada versión.
/admin/structure/legal/manage/{entity_legal_document}/add
Crea una nueva versión de un documento legal. Las nuevas versiones copian automáticamente el contenido de la versión publicada actual como punto de partida.
/admin/structure/legal/manage/{entity_legal_document}/acceptances
Ver todas las aceptaciones de usuarios para un documento legal específico. Muestra la versión del documento, nombre de usuario y fecha de aceptación. Incluye filtrado por nombre de usuario. Requiere el módulo Views.
/legal/document/{entity_legal_document}
Página pública que muestra la versión publicada actual de un documento legal. Para usuarios autenticados que deben aceptar el documento, se muestra un formulario de aceptación con una casilla de verificación y botón de envío debajo del contenido del documento.
Permisos 4
Hooks 1
hook_entity_legal_document_method_alter
Altera los métodos de notificación de usuario disponibles para la aceptación de documentos legales. Permite a los módulos añadir métodos de entrega de aceptación personalizados.
Troubleshooting 4
Verifica que: 1) Existe una versión publicada para el documento, 2) La casilla 'Requerir que los usuarios existentes acepten' está habilitada, 3) Los usuarios tienen el permiso 'legal re-accept [documento]', 4) Los usuarios no tienen los permisos 'administer entity legal' o 'bypass entity legal acceptance'.
Asegúrate de que la biblioteca jQuery UI Dialog esté disponible en tu tema. El método de ventana emergente depende de la biblioteca core/drupal.dialog. Limpia las cachés después de habilitar el módulo.
El módulo excluye automáticamente los flujos de restablecimiento de contraseña del requisito de redirección. Si los problemas persisten, verifica que el parámetro pass-reset-token se pasa correctamente en la URL.
La vista de aceptaciones se proporciona como configuración opcional. Asegúrate de que el módulo Views esté habilitado, luego reimporta la configuración desde config/optional/views.view.legal_document_acceptances.yml o recrea la vista manualmente.
Security Notes 4
- Los usuarios con permisos 'administer entity legal' o 'bypass entity legal acceptance' nunca son solicitados para aceptar documentos
- Los registros de aceptación incluyen un volcado de datos del usuario para propósitos de verificación
- Cuando se eliminan usuarios, sus registros de aceptación se eliminan automáticamente
- El método de redirección maneja correctamente los flujos de restablecimiento de contraseña para evitar que los usuarios queden bloqueados