Wie würdet ihr ein Facebook Notification System realisieren?

Vayasho

Grünschnabel
Hallo,

ich möchte gerne, wie bei FB, das Benachrichtigungssystem realisieren. Dies jedoch nicht für ein soziales Netzwerk, sondern für eine Gildenseite, wenn neue Kommentare gepostet werden, was 'geliked' wird, Bilder geuploaded, etc. Im Grunde ist es aber das selbe wie bei Facebook.

Jedenfalls versuche ich schon länger das zu realisieren, jedoch komme einfach beim Brainstorming nicht auf die 'richtige' bzw. effizienteste/optimalste Lösung, gerade weil es sich hier ja um eine riesige Ansammlung von Daten handeln kann bzw. unnötige Einträge vermieden werden sollten.

Ich würde gerne einfach fragen, wie ihr so ein System realisieren würdet, wie viel SQL-Tabellen ihr verwenden würdet bzw. bräuchtet, etc.
Erst danach würde ich gerne meinen Realisierungsversuch hier posten, damit ich keine Beiträge hätte, die sich vielleicht von meinen beschriebenen Angehungsversuchen beeinflusst haben.

Freue mich über Antworten.

PS: Es geht um PHP/MySQL.
 

jannicars

Erfahrenes Mitglied
Hey, habe das auch gerade für mein Projekt realisiert.

So sieht meine Tabelle aus:
id art to_id text sent time
id => dürfte wohl klar sein
art => Ich habe für jede Art von Benachrichtigungen eine Art angelegt.
Beispiel: 1 => Kommentar, 2 => Nachricht
Habe es deswegen so gemacht, damit wenn man online ist nicht 232323 von der gleichen Art kommt sondern immer nur eines.
to_id => An den User, an den es soll
text => Dürfte auch klar sein
sent => Nur wenn Sent 0 ist die Benachrichtigung ausgeben.
time => einfach time()

Hoffe, es ist einigermaßen sinnvoll rübergekommen.
Ob es das Beste in Richtung Performance ist..kA.
 

ComFreek

Mod | @comfreek
Moderator
Ich habe zwar selber sowas noch nie so realisiert, aber was ist wenn man den Text der Benachrichtung nachträglich ändern möchte?
Man müsste sich im Prinzip von Anfang an auf einen Text festlegen. Vor allem würden dann die Texte auch redundant gespeichert werden - sofern sie sich nur von beinhaltenden Nutzernamen unterscheiden.

Hier ist ein Schema, welches schon näher an solch ein komplexes Nachrichtensystem herankommt: http://stackoverflow.com/a/1892311/603003
 

jannicars

Erfahrenes Mitglied
Den Text parse ich sowieso im Language System in die entsprechende Sprache.
In dem Textfeld speichere ich nur Infos wie z.B. die ID von wem man die neue Nachricht bekommen hat.