Mensajes Privados
Habilita la mensajería privada entre usuarios con conversaciones en hilos, bloqueo de usuarios, etiquetado y notificaciones por correo electrónico.
privatemsg
Overview
Private Messages es un módulo completo de mensajería privada para Drupal que permite a los usuarios intercambiar mensajes directamente entre sí. El módulo implementa un sistema de conversaciones en hilos donde los mensajes se agrupan, soportando tanto conversaciones individuales como chats grupales con múltiples participantes.
El módulo proporciona una experiencia de mensajería completa que incluye composición de mensajes con formato de texto enriquecido, seguimiento de estado leído/no leído, etiquetado de hilos para organización, capacidades de bloqueo de usuarios y notificaciones por correo electrónico configurables. Los usuarios pueden gestionar sus conversaciones a través de una interfaz de bandeja de entrada dedicada con filtrado y operaciones masivas potenciadas por Views Bulk Operations.
Para desarrolladores, el módulo ofrece un servicio API robusto para crear mensajes e hilos programáticamente, junto con hooks para extender la funcionalidad de bloqueo/desbloqueo. El módulo también incluye rutas de migración desde los módulos Private Message de Drupal 6 y Drupal 7.
Features
- Sistema de mensajería privada en hilos con soporte para conversaciones individuales y grupales
- Composición de mensajes con texto enriquecido y formatos de texto configurables
- Seguimiento de estado leído/no leído con indicadores visuales para mensajes nuevos
- Sistema de bloqueo de usuarios para prevenir mensajes no deseados, con roles no bloqueables configurables
- Etiquetado de hilos usando términos de taxonomía para organizar conversaciones
- Notificaciones por correo electrónico para mensajes nuevos (configurable por usuario)
- Soporte de operaciones masivas vía Views Bulk Operations (marcar leído/no leído, eliminar, cambiar etiquetas)
- Visualización de avatares de usuario en hilos de mensajes con imágenes predeterminadas de respaldo
- Funcionalidad para abandonar chat en conversaciones grupales
- Permisos de mensajería basados en roles para controlar quién puede enviar mensajes
- Configuración de rol de moderador para manejar quejas
- Eliminación automática de mensajes eliminados después de días configurables
- Integración con perfil de usuario permitiendo a los usuarios habilitar/deshabilitar mensajería
- Enlace para enviar mensaje privado en páginas de perfil de usuario
- Contador de mensajes no leídos en el menú de cuenta con carga diferida
- API programática para crear mensajes e hilos
- Soporte de migración desde Drupal 6 y Drupal 7
Use Cases
Mensajería Privada de Foro Comunitario
Habilita la comunicación privada entre miembros del foro. Los usuarios pueden enviarse mensajes directos entre sí, discutir temas privadamente y bloquear contactos no deseados. Los moderadores pueden recibir quejas sobre mensajes inapropiados.
Comunicación de Soporte al Cliente
Permite a los clientes comunicarse privadamente con el personal de soporte. Configure los roles de soporte como no bloqueables para que siempre puedan contactar a los clientes. Use etiquetas para organizar hilos de soporte por tema o estado.
Colaboración de Equipo
Habilita la mensajería grupal para equipos de proyecto. Múltiples usuarios pueden participar en un solo hilo, compartir actualizaciones y recibir notificaciones por correo para mensajes nuevos.
Mensajería Comprador-Vendedor de Comercio Electrónico
Permite a compradores y vendedores comunicarse sobre productos o pedidos. Los usuarios pueden bloquear spammers mientras mantienen comunicación abierta con contactos legítimos.
Notificaciones Programáticas
Use el servicio API para enviar mensajes privados automatizados desde módulos personalizados. Por ejemplo, enviar mensajes de bienvenida a nuevos usuarios o mensajes de notificación sobre actualizaciones de contenido.
Tips
- Use la función de etiquetado de taxonomía para organizar hilos por proyecto, prioridad o categoría para una gestión más fácil.
- Configure las notificaciones por correo a nivel de sitio y permita que los usuarios opten por participar o no en sus perfiles para preferencias de notificación flexibles.
- Configure un rol de moderador y configúrelo en los ajustes para permitir a los usuarios reportar mensajes inapropiados.
- Para sitios de alto tráfico, considere ajustar la configuración de días de 'Eliminar mensajes borrados' para equilibrar el uso de almacenamiento con los requisitos de auditoría.
- Use los plugins de Devel Generate para probar con grandes volúmenes de mensajes antes de poner en producción.
- La API programática (servicio privatemsg.common) permite la integración con módulos personalizados para mensajería automatizada.
- Coloque el bloque de Mensajes Privados en una barra lateral para acceso rápido a la bandeja de entrada sin navegar a la página completa.
Technical Details
Admin Pages 7
/admin/config/content/privatemsg-settings
Configura los ajustes globales para el módulo Private Messages incluyendo retención de mensajes, roles permitidos para mensajería, asignación de moderador y qué roles no pueden ser bloqueados.
/admin/structure/privatemsg-message
Página de configuración de entidad para el tipo de entidad Mensaje Privado. Permite la configuración de ajustes de visualización de campos para mensajes.
/admin/structure/privatemsg-thread
Página de configuración de entidad para el tipo de entidad Hilo de Mensaje Privado. Permite la configuración de ajustes de visualización de campos para hilos.
/messages
Página de bandeja de entrada para el usuario que muestra todos los hilos de mensajes privados. Incluye filtros expuestos para buscar por asunto, miembros y etiquetas. Soporta operaciones masivas vía Views Bulk Operations incluyendo marcar como leído/no leído, eliminar y cambiar etiquetas. Muestra asunto del hilo, participantes, hora de última actualización, cantidad de mensajes y etiquetas.
/messages/new
Formulario para componer y enviar un nuevo mensaje privado. Los usuarios pueden especificar uno o más destinatarios, un asunto opcional y el cuerpo del mensaje.
/messages/blocked
Gestiona los usuarios que están bloqueados para enviarle mensajes privados. Vea los usuarios actualmente bloqueados y bloquee usuarios adicionales.
/messages/view/{thread_id}
Muestra un hilo de mensaje completo con todos los mensajes, información de participantes, etiquetas y un formulario de respuesta. Muestra avatares de usuario, marcas de tiempo, indicadores de leído/no leído y proporciona acciones para bloquear usuarios y eliminar mensajes.
Permisos 7
Hooks 2
hook_privatemsg_block_user
Se invoca cuando un usuario bloquea a otro usuario. Permite a los módulos reaccionar al bloqueo de usuarios.
hook_privatemsg_unblock_user
Se invoca cuando un usuario desbloquea a otro usuario. Permite a los módulos reaccionar al desbloqueo de usuarios.
Drush Commands 1
drush privatemsg:1to2
Migra datos de mensajes privados de la versión 1.x del módulo a la estructura basada en entidades 2.x. Lee de las tablas heredadas pm_message_old y pm_index_old y crea nuevas entidades de mensajes e hilos.
Troubleshooting 5
Verifique que ambos usuarios tengan roles habilitados en la configuración 'Permitir enviar mensajes privados para estos roles', ambos usuarios tengan la mensajería habilitada en su perfil (Editar perfil > Mensajes Privados > Habilitar mensajes privados), y ningún usuario haya bloqueado al otro.
Verifique que el destinatario tenga 'Recibir notificación por correo para mensajes privados entrantes' habilitado en la configuración de su perfil y que el sistema de correo de Drupal esté correctamente configurado.
Asegúrese de que cron se ejecute regularmente. Los mensajes eliminados son permanentemente removidos por el trabajo de cron después del número configurado de días en la configuración 'Eliminar mensajes borrados de la BD después de (días)'.
El usuario puede tener un rol configurado en 'Los usuarios no pueden bloquear a otros usuarios con estos roles'. Los administradores típicamente configuran roles importantes como el personal de soporte como no bloqueables.
El conteo usa construcción diferida sin caché. Si los problemas persisten, limpie todas las cachés y verifique que las tablas de base de datos pm_thread_history y pm_index estén correctamente pobladas.
Security Notes 5
- El permiso 'administer privatemsg' otorga acceso completo a todos los mensajes y configuraciones - asigne solo a administradores de confianza.
- El bloqueo de usuarios solo previene el envío de mensajes; no oculta los mensajes existentes de ninguna de las partes.
- Las notificaciones por correo incluyen un enlace al hilo del mensaje - asegúrese de que su sitio use HTTPS para proteger estos enlaces.
- El permiso 'Ver mensajes eliminados' permite ver el contenido de mensajes incluso después de la eliminación - considere cuidadosamente quién recibe este permiso.
- Los mensajes usan el sistema de formatos de texto de Drupal - asegúrese de que los formatos apropiados estén disponibles para prevenir ataques XSS.