¿Cómo crear notificaciones de usuario al estilo de Facebook?


14

Usando Heartbeat, he podido hacer una secuencia efectiva de actividades de los usuarios a través de disparadores de Reglas. Sin embargo, me gustaría poder notificar a los usuarios sobre nuevas actividades y llevar un recuento de la cantidad de actividades nuevas, como en Facebook, o incluso similar a los nuevos recuentos de correo electrónico en la mayoría de los sistemas de correo electrónico.

En Drupal 6 había algunos módulos que podían lograr esto bien, sin embargo, ¿cómo se puede hacer esto en Drupal 7?

He realizado una investigación bastante extensa sobre esto, pero no puedo encontrar el módulo correcto en este punto: están los módulos Notificaciones de usuario y Notificador , que serían las soluciones perfectas, excepto que solo existen versiones D6. Hay notificaciones que no pueden integrarse con ningún módulo de registro de actividad, ya que carece del soporte adecuado de Reglas. Dos implementaciones interesantes son Appbar y Taskbar que proporcionan bandejas desplegables con listas de actividades, pero no cuentan el número de actividades nuevas y ya no se integran con las Reglas. Finalmente DLikees excelente como contador dinámico, aunque en este momento solo cuenta Banderas y proporciona un enlace a una lista de los usuarios que marcan. Quizás con algunos ajustes podría usarse a través de la integración de Reglas de banderas para rastrear actividades recientes (marcadas) y vincularlas a una lista de estas actividades recientes.

¿Es posible lograr una funcionalidad similar a esta en Drupal 7? Facebook


1
Esto no es una respuesta, tenía el mismo tipo de requisito y ninguno de los módulos era apto para la funcionalidad. Así que lo he logrado con un bloque personalizado que muestra el número de notificaciones con menú desplegable y detalles. Para la notificación en tiempo real, estoy usando el módulo nodejs para agregar una nueva notificación. El evento para nodejs se llamará desde las reglas con código php.
j2r


Respuestas:


4

Enfoque 1: insignias del menú

Use el módulo de Insignias de menú para agregar tales notificaciones a cualquier elemento de menú y / o pestaña de menú que elija. Aquí hay algunos detalles al respecto (de su página de proyecto):

Proporciona un método para agregar insignias de estilo iOS a los elementos del menú. (ver captura de pantalla)

ingrese la descripción de la imagen aquí

Agregar insignias a los menús

Una vez habilitado, vaya Administration > Structure > Menusy haga clic en "listar enlaces" al lado del menú que contiene el elemento de destino. Haga clic en "editar" al lado del elemento y seleccione la insignia para mostrar con el cuadro de selección Insignia del menú Mostrar.

Agregar insignias a las pestañas

Para agregar insignias a las pestañas del menú, hay una pestaña debajo Administration > Structure > Menusllamada "Insignias del menú de pestañas". Busque la ruta del enrutador de menú de la pestaña que desea modificar, luego seleccione una insignia en el cuadro de selección correspondiente.

Tipos de insignia

El módulo incluye cinco insignias de ejemplo, y las nuevas insignias se pueden crear fácilmente con Vistas . Los módulos también pueden suministrar sus propias insignias con una implementación de enlace. Vea el archivo README.txt para más detalles.

Debido a cómo se integra con el módulo Vistas , básicamente reduce la solución para cualquier tipo de notificación a algo así como "Simplemente cree una vista adecuada".

Tutoriales en vídeo:

Enfoque 2: pila de mensajes

Use la pila de mensajes , que consta de estos módulos (las citas son de la página del proyecto del módulo):

  • Mensaje :

    El módulo de mensajes es el núcleo de la pila de mensajes. Permite el registro y la visualización de eventos del sistema en varios casos de uso diferentes. Los eventos que se registran con el tiempo a veces son flujos de actividad de llamadas. Se pueden crear subtipos de mensajes exportables para diferentes casos de uso con campos personalizados y modos de visualización (vista).

  • Mensaje de notificación .

    Este módulo proporciona un método para enviar un mensaje a través de un complemento de notificación. Message Notify viene con complementos para correo electrónico y SMS y puede extenderse a otros mecanismos de transporte según sea necesario.

  • Mensaje Suscribirse .

    Con este módulo, los usuarios que se suscriban al contenido serán notificados cuando ocurran eventos que involucren ese contenido. El módulo aprovecha el módulo Flag, que proporciona una funcionalidad de suscripción a los usuarios.

Estos son los componentes básicos y las dependencias de la pila de mensajes:

ingrese la descripción de la imagen aquí

Algunas distribuciones populares de Drupal ya adoptadas para esta pila de mensajes, como Commerce Kickstart , Drupal Commons , ERPAL y Open Atrium .

Si desea ver más de cerca la pila de mensajes en su propio entorno, experimente un poco con el módulo de respuestas (divulgación: soy co-mantenedor), junto con el submódulo de notificación de respuestas , que permite iniciar sesión los usuarios se suscriban a las preguntas seleccionadas, para que reciban notificaciones (usando la Pila de mensajes ) cuando las Preguntas reciben respuestas.

Y la pila de mensajes también lo posicionará bien para Drupal 8 (debido a la arquitectura orientada a objetos de los módulos). Aunque todavía no existe el 8.x-dev, el repositorio de código de mensaje ya contiene algo (aunque todavía no está disponible para los otros 2 módulos). Supongo que la wipparte del nombre de la rama significa 'Trabajo en progreso'.


will make you well positioned for Drupal 8 also.quieres decir en el futuro? Veo que ninguno de los módulos de mensajes tiene una versión de Drupal 8 todavía, ni siquiera un desarrollador.
No Sssweat

1
Hola @NoSssweat ... Extendí ligeramente (luego finalicé) mi respuesta para aclarar la parte D8.
Pierre.Vriens

Muchas gracias por su amable respuesta @ Pierre.Vriens, revisaré todos los documentos relacionados con la esperanza de tener una idea clara sobre la pila de mensajes ...
Charbel El Azzi

1
Quiero decir que estoy familiarizado sobre cómo hacer que el sistema de notificación funcione entre los usuarios de mi sitio web y ahora aprendí más sobre la pila de mensajes, lo cual me alegra, pero todavía estoy confundido sobre cómo puedo diseñar dicho menú desplegable de notificaciones. .
Charbel El Azzi

1
Otro ejemplo para comprender más mi problema: eche un vistazo al menú desplegable cuando pase el cursor sobre el carrito de compras en el sitio web de comercio kickstart 2 (si está familiarizado con la distribución kickstart) ... tal sistema desplegable que estoy buscando en mi pregunta ... gracias de nuevo por su tiempo y esfuerzo querido @ Pierre.Vriens, que Dios lo bendiga.
Charbel El Azzi

3

Hay un par relativamente nuevo de módulos que creo que sería genial usar para esto: Mensaje y Notificación de mensaje .

El mensaje es básicamente un marco para crear "mensajes", que en su caso serían elementos de notificación. Una cosa interesante es que en realidad todos estos se crean como entidades, por lo que sería fácil mostrarlos en un bloque desplegable, tener una página de Todas las notificaciones, así como tener un campo personalizado o una marca en ellos que indique si han sido visto (o son nuevos). Luego puede conectar esto a las notificaciones por correo electrónico con el módulo de notificación de mensajes .

Sin embargo, tenga en cuenta que integrar esto en su sitio sería una tarea de desarrollo más que una tarea de construcción del sitio. El módulo tiene una buena API que se puede usar en enlaces apropiados, etc. para crear mensajes cuando se desee, pero no estoy seguro de cómo va la integración de las reglas.


3

Para la integración en tiempo real, puede usar el módulo nodejs.

Este módulo integra Node.js con Drupal.

Proporciona una API que otros módulos pueden usar para agregar capacidades en tiempo real a Drupal, lo que permite específicamente impulsar actualizaciones para abrir clientes conectados.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.