Como criar notificações de usuário no estilo do Facebook?

14

Usando o Heartbeat, consegui efetivamente transmitir fluxos de atividades do usuário por meio de gatilhos de Regras. No entanto, eu gostaria de poder notificar os usuários sobre novas atividades e manter uma contagem do número de novas atividades, como no facebook, ou mesmo similares às novas contagens de email na maioria dos sistemas de email.

No Drupal 6, havia alguns módulos que poderiam conseguir isso bem, no entanto, como isso pode ser feito no Drupal 7?

Eu tenho feito bastante extensa pesquisa sobre isso, mas sou incapaz de encontrar o módulo certo neste ponto: Há as notificações do usuário e Notifier módulos, o que seria a solução perfeita, exceto só existem versões D6. Há Notificações que não podem ser integradas a nenhum módulo de registro de atividades, pois não possui suporte adequado às Regras. Duas implementações interessantes são a Appbar e a Barra de Tarefas, que fornecem bandejas suspensas com listas de atividades, mas não contam o número de novas atividades e não se integram mais às Regras. Finalmente DLikeé excelente como um contador dinâmico, mesmo que no momento conte apenas sinalizadores e forneça um link para uma lista dos usuários sinalizadores. Talvez com alguns ajustes, ele possa ser usado por meio da integração de regras de bandeiras para rastrear atividades recentes (sinalizadas) e vincular a uma lista dessas atividades recentes.

É possível obter funcionalidades semelhantes às do Drupal 7? Facebook

David Gurran 82
fonte
1
Isso não é uma resposta, eu tinha o mesmo tipo de requisito e nenhum dos módulos era adequado para funcionalidade. Então, eu consegui isso com o bloco personalizado exibindo o número de notificações com o menu suspenso e os detalhes. Para notificação em tempo real, estou usando o módulo nodejs para anexar uma nova notificação. O evento para nodejs será chamado de regras com código php.
j2r
Eu tenho algo parecido com isto: drupal.stackexchange.com/questions/158932/…
drupaluser

Respostas:

4

Abordagem 1: Distintivos de menu

Use o módulo Distintivos de menu para adicionar essas notificações a qualquer item e / ou guia de menu de sua escolha. Aqui estão alguns detalhes sobre ele (na página do projeto):

Fornece um método para adicionar emblemas no estilo iOS aos itens de menu. (veja a captura de tela)

insira a descrição da imagem aqui

Adicionando selos aos menus

Depois de ativado, vá para Administration > Structure > Menuse clique em "listar links" ao lado do menu que contém o item de destino. Clique em "editar" ao lado do item e selecione o emblema a ser exibido na caixa de seleção Crachá do menu Exibir.

Adicionando emblemas às guias

Para adicionar crachás às guias do menu, existe uma guia Administration > Structure > Menuschamada "Crachás do menu da guia". Pesquise o caminho do roteador do menu da guia que deseja alterar e selecione um emblema na caixa de seleção correspondente.

Tipos de emblema

O módulo inclui cinco exemplos de crachás e novos crachás podem ser criados facilmente com o Views . Os módulos também podem fornecer seus próprios emblemas com uma implementação de gancho. Consulte o arquivo README.txt para obter detalhes.

Por causa de como se integra com o módulo Views , você basicamente reduz a solução para qualquer tipo de notificação para algo como "Basta criar uma visão apropriada dela".

Tutoriais em vídeo:

Abordagem 2: Pilha de mensagens

Use a pilha de mensagens , que consiste nesses módulos (as cotações são da página de projeto do módulo):

  • Mensagem :

    O módulo de mensagem é o núcleo da pilha de mensagens. Ele permite registrar e exibir eventos do sistema em vários casos de uso diferentes. Eventos gravados ao longo do tempo às vezes são chamados de fluxos de atividades. É possível criar subtipos de mensagens exportáveis ​​para diferentes casos de uso com campos personalizados e modos de exibição (exibição).

  • Mensagem Notificar .

    Este módulo fornece um método para enviar uma mensagem através de um plugin de notificador. O Message Notify vem com plug-ins para email e SMS e pode ser estendido a outros mecanismos de transporte, conforme necessário.

  • Mensagem Inscrever-se .

    Com este módulo, os usuários que se inscreverem no conteúdo serão notificados quando ocorrerem eventos que envolvem esse conteúdo. O módulo utiliza o módulo Flag, que fornece uma funcionalidade de assinatura aos usuários.

Estes são os componentes e dependências básicos da pilha de mensagens:

insira a descrição da imagem aqui

Algumas distribuições populares do Drupal já adotadas para esta pilha de mensagens, como Commerce Kickstart , Drupal Commons , ERPAL e Open Atrium .

Se você quiser dar uma olhada mais de perto na pilha de mensagens em seu próprio ambiente, experimente um pouco com o módulo Answers (divulgação: sou co-mantenedor), junto com o submódulo de Notificação de respostas , que permite o login usuários para se inscreverem nas perguntas selecionadas, para que recebam notificações (usando a Pilha de mensagens ) quando as Perguntas receberem respostas.

E a Pilha de Mensagens também o deixará bem posicionado para o Drupal 8 (devido à arquitetura orientada a objetos dos módulos). Embora ainda não exista o 8.x-dev, o repositório de códigos de mensagens já contém algo (ainda não para os outros dois módulos). Suponho que a wipparte do nome do ramo represente 'Work In Progress'.

Pierre.Vriens
fonte
will make you well positioned for Drupal 8 also.você quer dizer no futuro? Vejo que nenhum dos módulos de mensagem possui uma versão do Drupal 8 ainda, nem mesmo um desenvolvedor.
Não Sssweat
1
Hey @NoSssweat ... Eu estendi um pouco (e depois finalizei) minha resposta para esclarecer a parte D8.
Pierre.Vriens
Muito obrigado pela sua gentileza, responda @ Pierre.Vriens, vou verificar todos os documentos relacionados na esperança de ter uma idéia clara sobre a pilha de mensagens ...
Charbel El Azzi 29/15
1
Quero dizer que estou familiarizado com a forma de fazer com que o sistema de notificação funcione entre os usuários do meu site e agora aprendi mais sobre a pilha de mensagens. Estou satisfeito, mas ainda estou confuso sobre como posso criar esse menu suspenso de notificação. .
Charbel El Azzi
1
Outro exemplo para entender mais o meu problema: dê uma olhada no menu suspenso quando você passar o mouse sobre o carrinho de compras no site do comércio kickstart 2 (se você estiver familiarizado com a distribuição do kickstart) ... esse sistema suspenso que eu estou procurando minha pergunta ... obrigado novamente por seu tempo e esforço, querido @ Pierre.Vriens, Deus te abençoe.
Charbel El Azzi
3

Há um par de módulos relativamente novo que eu acho que seria ótimo usar para isso: Message e Message-notify .

A mensagem é basicamente uma estrutura para criar "mensagens", que no seu caso seriam itens de notificação. Uma coisa interessante é que, na verdade, todas elas são criadas como entidades; portanto, seria fácil mostrar, em um bloco suspenso, ter uma página Todas as notificações, além de ter um campo ou sinalizador personalizado que indique se eles foram visto (ou é novo). Em seguida, você pode conectar isso a notificações por email com o módulo Notificação por mensagem .

Observe, porém, que integrar isso ao seu site seria uma tarefa de desenvolvimento mais do que uma tarefa de criação de sites. O módulo possui uma boa API que pode ser usada em ganchos apropriados, etc, para criar mensagens quando desejado, mas não tenho certeza de como está a integração das Regras.

goron
fonte
3

Para integração em tempo real, você pode usar o módulo nodejs.

Este módulo integra o Node.js ao Drupal.

Ele fornece uma API que outros módulos podem usar para adicionar recursos em tempo real ao Drupal, permitindo especificamente enviar atualizações para abrir clientes conectados.

RajneeshB
fonte