Entity Registration
Un módulo flexible para el seguimiento de inscripciones de usuarios en eventos, cursos o cualquier registro basado en entidades, con soporte de flujos de trabajo, gestión de capacidad e integración con Commerce.
registration
Install
composer require 'drupal/registration:^3.4'
Overview
Entity Registration es un módulo completo de Drupal que permite la gestión de inscripciones de usuarios para eventos o cualquier tipo de contenido donde se necesiten registros. El módulo proporciona soporte completo de flujos de trabajo a través del módulo Workflows de Drupal, permitiendo estados personalizados como Pendiente, Completado, Retenido y Cancelado con transiciones configurables.
Las capacidades clave incluyen límites de capacidad por evento, fechas de apertura/cierre automáticas, soporte para múltiples inscripciones, registros de usuarios anónimos y autenticados, y correos electrónicos de recordatorio automatizados. El módulo se integra con Drupal Commerce a través del módulo Commerce Registration separado para habilitar inscripciones de pago y venta de entradas.
La inscripción se habilita en cualquier entidad con campos añadiendo un campo Registration, lo que lo hace altamente flexible para usar con nodes, productos de commerce o entidades personalizadas. El módulo proporciona amplia integración con Views para listados administrativos e incluye soporte multilingüe completo donde la configuración de inscripción puede sincronizarse entre variantes de idioma.
Features
- Añadir capacidad de inscripción a cualquier entidad con campos (nodes, productos de commerce, etc.) mediante el tipo de campo Registration
- Estados de inscripción basados en flujos de trabajo (Pendiente, Completado, Retenido, Cancelado) con transiciones configurables
- Gestión de capacidad con límites configurables por evento y reservas de espacios por inscripción
- Apertura/cierre automático de inscripciones basado en fechas configurables
- Sistema de expiración de inscripciones retenidas con transiciones de estado automáticas vía cron
- Correos electrónicos de recordatorio automatizados enviados en fechas programadas con soporte de tokens
- Sistema de correo masivo para enviar mensajes a todos los inscritos
- Soporte para auto-inscripción, inscripción de otros usuarios e inscripciones anónimas
- Opción de múltiples inscripciones por persona para cada evento
- Bloque de estado de inscripción mostrando disponibilidad y espacios restantes
- Integración completa con Views con filtros y campos de entidad anfitriona
- Soporte multilingüe completo con sincronización de configuración entre idiomas
- Soporte de migración desde el módulo Registration de Drupal 7
- Integración con Drush sql:sanitize para anonimización de base de datos
- Soporte de tokens para inscripción, configuración y datos de entidad anfitriona
- Sistema de validación extensible con restricciones personalizadas
Use Cases
Sistema de Registro de Eventos
Cree un tipo de contenido de evento con un campo Registration para permitir que los usuarios se inscriban en eventos. Configure límites de capacidad, fechas de apertura/cierre y envíe correos electrónicos de recordatorio antes del evento. Use la pestaña Manage Registrations para ver los asistentes, enviar correos masivos y exportar la lista de registros.
Inscripción a Cursos
Agregue registro a los tipos de contenido de cursos o clases para gestionar la inscripción de estudiantes. Use la función de espacios para permitir registros grupales (por ejemplo, miembros de familia). Habilite las listas de espera para poner en cola automáticamente los registros excedentes cuando los cursos alcancen su capacidad.
Venta de Entradas de Pago
Combine con el módulo Commerce Registration para vender entradas. Cree productos de Commerce con campos de registro, y los registros se crean cuando se completan los pedidos. Use estados de retención para reservar lugares durante el proceso de pago y liberarlos automáticamente si el pago falla.
Inscripción a Sesiones de Conferencia
Para conferencias con múltiples sesiones, agregue campos de registro a los tipos de contenido de sesión. Configure límites de capacidad por sesión y use el submódulo Registration Scheduled Action para enviar recordatorios antes de cada sesión. Use estados de flujo de trabajo para rastrear asistentes confirmados versus tentativos.
Coordinación de Voluntarios
Cree contenido de oportunidades de voluntariado con campos de registro. Permita múltiples registros por usuario para diferentes turnos de voluntariado. Use la función de correo masivo para comunicarse con todos los voluntarios y enviar correos de recordatorio antes de los turnos.
Sistema de Eventos Multilingüe
Para sitios multilingües, los registros capturan el idioma utilizado durante la inscripción. Use la función de sincronización de configuración para mantener la capacidad y las fechas consistentes entre las traducciones mientras permite plantillas de recordatorio específicas por idioma.
Tips
- Use el Block Registration status para mostrar mensajes dinámicos de disponibilidad en las páginas de la Entity anfitriona con texto personalizable para cada estado
- Configure los ajustes de visualización del campo Registration para mostrar un formulario de registro en línea o un enlace a la página de registro
- Habilite el submódulo Registration Confirmation para enviar automáticamente correos de confirmación cuando se completen los registros
- Use el submódulo Registration Scheduled Action para configurar correos automatizados activados por fechas de apertura/cierre
- Para flujos de trabajo de registro complejos, cree Entities de flujo de trabajo personalizadas y configure las transiciones de estado para que coincidan con sus procesos de negocio
- El soporte de tokens está disponible en todo el módulo - use [registration:*], [registration_settings:*] y tokens de la Entity anfitriona en todas las plantillas de correo
- El módulo incluye soporte de migración desde el módulo Registration de Drupal 7 - use comandos drush migrate para migrar datos existentes
- Use operaciones masivas de Views con las acciones proporcionadas para gestionar registros en masa (enviar correos, cambiar estados)
Technical Details
Admin Pages 9
/admin/structure/registration-settings
Configura los ajustes globales del módulo de registro, incluyendo el manejo de correos electrónicos, políticas de registros existentes, sincronización multilingüe y umbrales de filtro.
/admin/structure/registration-types
Administra los bundles de tipos de registro, que definen los flujos de trabajo y estados predeterminados para los registros. Configura campos, visualización de formularios y visualización para cada tipo.
/admin/structure/registration-types/{registration_type}/edit
Configura los ajustes del tipo de registro, incluyendo el flujo de trabajo, el estado predeterminado y la expiración de registros retenidos.
/admin/people/registrations
Listado administrativo de todos los registros en el sistema con filtrado y operaciones masivas.
/user/{user}/registrations
Ver todos los registros asociados con una cuenta de usuario específica.
/{entity_type}/{entity}/registrations
Ver y administrar todos los registros para una entidad anfitriona específica (node, producto, etc.).
/{entity_type}/{entity}/registrations/settings
Configura los ajustes de registro para una entidad anfitriona específica, incluyendo habilitar/deshabilitar, capacidad, fechas y notificaciones.
/{entity_type}/{entity}/registrations/broadcast
Enviar correo electrónico masivo a todos los registrantes de una entidad anfitriona específica.
/{entity_type}/{entity}/register
Formulario de registro para que los usuarios se inscriban en un evento o entidad.
Permissions 9
Hooks 1
hook_registration_host__access
Controla el acceso a operaciones de la entidad host para operaciones específicas de registration
Drush Commands 1
drush sql:sanitize
El módulo extiende el comando sql:sanitize de Drush para anonimizar datos de registro incluyendo correos electrónicos y campos de texto
Troubleshooting 5
Asegúrese de que el campo Registration esté agregado al tipo de contenido y que el formateador del campo esté configurado como 'Registration form' en la configuración de visualización. También verifique que el registro esté habilitado en la configuración de registro de la Entity.
Verifique que los usuarios tengan los permisos apropiados (create [type] registration, register self). Verifique que la fecha de apertura del registro haya pasado y la fecha de cierre no se haya alcanzado. Compruebe que la capacidad no haya sido excedida.
Asegúrese de que 'Send reminder' esté marcado en la configuración de registro y que se haya establecido una fecha de recordatorio. Verifique que cron se esté ejecutando correctamente. Compruebe que los registrantes tengan direcciones de correo electrónico válidas y estén en estados activos.
La expiración de registros retenidos requiere que cron se ejecute. Verifique la configuración de horas de expiración de retención del tipo de registro. Asegúrese de que el estado de expiración esté configurado correctamente.
Instale el módulo contribuido Entity API para habilitar la relación inversa desde las Entities de User a sus registros debido a una limitación del núcleo.
Security Notes 4
- Los permisos 'administer registration types' y 'administer registration' son permisos restringidos - otórguelos solo a administradores de confianza
- El módulo valida todas las operaciones de registro a través de controladores de control de acceso y restricciones de validación
- Las direcciones de correo electrónico recopiladas a través del registro se almacenan en la base de datos - asegúrese de tener las medidas adecuadas de protección de datos implementadas
- La integración con Drush sql:sanitize ayuda a anonimizar los datos de registro para entornos de staging