it-swarm.com.de

Wie erstelle ich Benutzerbenachrichtigungen im Facebook-Stil?

Mit Heartbeat konnte ich durch Regelauslöser effektiv Streams von Benutzeraktivitäten erstellen. Ich möchte jedoch in der Lage sein, Benutzer über neue Aktivitäten zu informieren und die Anzahl der neuen Aktivitäten wie bei Facebook oder sogar ähnlich wie bei neuen E-Mails in den meisten E-Mail-Systemen zu zählen.

In Drupal 6) gab es einige Module, die dies gut erreichen konnten. Wie kann dies jedoch in Drupal 7?

Ich habe diesbezüglich ziemlich umfangreiche Nachforschungen angestellt, kann jedoch derzeit nicht das richtige Modul finden: Es gibt die Module Benutzerbenachrichtigungen und Notifier , bei denen es sich um die Module handelt perfekte Lösungen, außer dass nur D6-Versionen existieren. Es gibt Benachrichtigungen , die nicht in ein Aktivitätsprotokollierungsmodul integriert werden können, da es keine ordnungsgemäße Unterstützung für Regeln gibt. Zwei interessante Implementierungen sind Appbar und Taskbar , die Dropdown-Fächer mit Listen von Aktivitäten bereitstellen, aber die Anzahl der neuen Aktivitäten nicht zählen und nicht mehr in Regeln integriert werden . Schließlich ist DLike ein großartiger dynamischer Zähler, obwohl er im Moment nur Flags zählt und einen Link zu einer Liste der markierten Benutzer bereitstellt. Möglicherweise könnte es mit einigen Optimierungen über die Integration von Flags Rules verwendet werden, um die letzten (gekennzeichneten) Aktivitäten zu verfolgen und auf eine Liste dieser letzten Aktivitäten zu verlinken.

Ist es möglich, eine ähnliche Funktionalität in Drupal 7) zu erreichen? facebook

14
David Gurran 82

Ansatz 1: Menüabzeichen

Verwenden Sie das Modul Menüabzeichen , um solche Benachrichtigungen zu einem beliebigen Menüpunkt und/oder hinzuzufügen. Menüregisterkarte Ihrer Wahl. Hier sind einige Details dazu (von der Projektseite):

Bietet eine Methode zum Hinzufügen von Abzeichen im iOS-Stil zu Menüelementen. (siehe Screenshot)

(enter image description here

Hinzufügen von Abzeichen zu Menüs

Nach der Aktivierung gehen Sie zu Administration > Structure > Menus Und klicken Sie neben dem Menü mit dem Zielelement auf "Listenlinks". Klicken Sie neben dem Element auf "Bearbeiten" und wählen Sie das anzuzeigende Abzeichen im Auswahlfeld "Menüabzeichen anzeigen" aus.

Hinzufügen von Abzeichen zu Registerkarten

Zum Hinzufügen von Badges zu Menüregistern gibt es unter Administration > Structure > Menus Eine Registerkarte mit dem Namen "Tab Menu Badges". Suchen Sie nach dem Menü-Router-Pfad der Registerkarte, die Sie ändern möchten, und wählen Sie dann ein Abzeichen aus dem entsprechenden Auswahlfeld aus.

Abzeichentypen

Das Modul enthält fünf Beispielabzeichen, und neue Abzeichen können einfach mit Views erstellt werden. Module können auch ihre eigenen Abzeichen mit einer Hook-Implementierung bereitstellen. Weitere Informationen finden Sie in der Datei README.txt .

Aufgrund der Integration in das Modul Ansichten reduzieren Sie die Lösung für jede Art von Benachrichtigung grundsätzlich auf "Erstellen Sie einfach eine geeignete Ansicht davon".

Videoanleitungen:

Ansatz 2: Nachrichtenstapel

Verwenden Sie den Message Stack , der aus diesen Modulen besteht (Anführungszeichen stammen von der Projektseite des Moduls):

  • Nachricht :

    Das Nachrichtenmodul ist der Kern des Nachrichtenstapels. Es ermöglicht die Protokollierung und Anzeige von Systemereignissen in verschiedenen Anwendungsfällen. Ereignisse, die im Laufe der Zeit aufgezeichnet werden, sind manchmal Anrufaktivitätsströme. Subtypen für exportierbare Nachrichten können für verschiedene Anwendungsfälle mit benutzerdefinierten Feldern und Anzeigemodi (Ansichtsmodi) erstellt werden.

  • Nachricht benachrichtigen .

    Dieses Modul bietet eine Methode zum Senden einer Nachricht über ein Notifier-Plugin. Message Notify enthält Plugins für E-Mail und SMS) und kann bei Bedarf auf andere Transportmechanismen erweitert werden.

  • Nachricht abonnieren .

    Mit diesem Modul werden Benutzer, die Inhalte abonnieren, benachrichtigt, wenn Ereignisse auftreten, die diese Inhalte betreffen. Das Modul nutzt das Flag-Modul, das Benutzern eine Abonnementfunktion bietet.

Dies sind die grundlegenden Komponenten und Abhängigkeiten des Nachrichtenstapels:

(enter image description here

Nicht wenige beliebte Drupal -Distributionen, die bereits in diesen Message Stack übernommen wurden, wie z. B. Commerce Kickstart , Drupal Commons , ERPAL und Open Atrium .

Wenn Sie sich den Message Stack in Ihrer eigenen Umgebung genauer ansehen möchten, experimentieren Sie ein wenig mit dem Modul Answers (Offenlegung: Ich bin ein Co-Betreuer) zusammen mit dem Modul Antworten Benachrichtigung Untermodul, mit dem angemeldete Benutzer ausgewählte Fragen abonnieren können, sodass sie Benachrichtigungen erhalten (mithilfe des Nachrichtenstapels ), wenn Fragen Antworten erhalten.

Und der Message Stack macht Sie auch gut positioniert für Drupal 8) (aufgrund der objektorientierten Architektur der Module). Auch wenn es so etwas wie 8.x-dev noch nicht gibt, ist das Nachricht Code-Repository enthält bereits etwas bereits (noch nicht für die 2 anderen Module). Ich gehe davon aus, dass der Teil wip des Zweigstellennamens für 'steht. In Arbeit'.

4
Pierre.Vriens

Es gibt ein relativ neues Modulpaar, von dem ich denke, dass es sich hervorragend dazu eignet: Nachricht und Nachrichtenbenachrichtigung .

Nachricht ist im Grunde ein Framework zum Erstellen von "Nachrichten", die in Ihrem Fall Benachrichtigungselemente wären. Eine coole Sache ist, dass diese tatsächlich alle als Entitäten erstellt werden, so dass es einfach wäre, sie in einem Dropdown-Block anzuzeigen, eine Seite mit allen Benachrichtigungen sowie ein benutzerdefiniertes Feld oder Flag zu haben, das angibt, ob sie vorhanden sind gesehen (oder sind neu). Sie können dies dann mit E-Mail-Benachrichtigungen mit dem Modul Message-notify verbinden.

Beachten Sie jedoch, dass die Integration in Ihre Site eher eine Entwicklungsaufgabe als eine Site-Erstellungsaufgabe ist. Das Modul verfügt über eine gute API, die bei Bedarf in geeigneten Hooks usw. zum Erstellen von Nachrichten verwendet werden kann. Ich bin mir jedoch nicht sicher, wie die Regelintegration verläuft.

3
goron

Für die Echtzeitintegration können Sie das Modul nodejs verwenden.

Dieses Modul integriert Node.js in Drupal.

Es bietet eine API, mit der andere Module Drupal Echtzeitfunktionen hinzufügen können, um Push-Updates zum Öffnen verbundener Clients zu ermöglichen.

3
RajneeshB