Task als gelesen markieren

  • Hallo zusammen,

    habe vor einiger Zeit begonnen als Hobbyprojekt eine an meine Bedürfnisse angepasste Task Management Plattform zu basteln. Man kann dort Tasks anlegen, Tasks an Personen delegieren die dann per Mail über den Task informiert werden und so weiter.

    Was ich nun implementieren möchte ist eine Funktion, wo bei jedem Task angezeigt wird, ob es eine Veränderung seit dem letzten Besuch gab. Also ob wer einen Kommentar zu dem Task hinzugefügt hat, ob der Status des Tasks geändert wurde usw. Es soll sich im Grunde ähnlich wie die Posts hier im Forum verhalten, wo man sieht ob es einen neuen Post seit dem letzten Besuch gegeben hat.

    Eine Möglichkeit wäre natürlich in der Datenbank für jeden Task und jeden Benutzer der Zugriff auf den Task hat den letzten Zugriff auf den Task abzuspeichern. Das würde aber auch bedeuten, dass ich bei jedem View auch ein Update in der Datenbank machen muss -> mache mir Sorgen, dass dieser Ansatz eventuell nicht skaliert. Wie würdet ihr das Umsetzen? Habt ihr andere Ideen?

    Falls sich wer das ganze anschauen mag, hab das Projekt unter http://www.deleg8.net gehostet. Wie gesagt, ist halt nur ein Hobby und auch noch recht alpha. Freu mich aber über jedes Feedback :)

    Danke für eure Kommentare!

  • Zitat


    Eine Möglichkeit wäre natürlich in der Datenbank für jeden Task und jeden Benutzer der Zugriff auf den Task hat den letzten Zugriff auf den Task abzuspeichern. Das würde aber auch bedeuten, dass ich bei jedem View auch ein Update in der Datenbank machen muss -> mache mir Sorgen, dass dieser Ansatz eventuell nicht skaliert. Wie würdet ihr das Umsetzen? Habt ihr andere Ideen?

    Nachdem du den Task sowieso laden musst um ihn anzuzeigen, musst du doch auch nur dann updaten, wenn der task zuvor ungesehen war, oder?

    lg

    To avoid horrible confusion, please pronounce the G in the word GNU when it is the name of this project.

  • Hi!

    Danke für die Antwort! Es wird eine Übersicht mit allen Tasks auf einmal geladen incl. der Details zu den Tasks. Damit sind dann alle nötigen Daten beim User und das eigentliche Anzeigen von den Task Details erfolgt dann nur mehr lokal durch JavaScripts. Nur wenn es Änderungen bei einem Task gibt wird das per Ajax nachgeladen. Dadurch hat man eine recht schnell reagierende Oberfläche und ich erspare mir gleichzeitig eine Reihe von Datenbankabfragen... Natürlich kann ich einfach beim öffnen der Details noch einen Ajax request los schicken um die Info in der Datenbank zu speichern.

    Was ich mich nun frage ist, wie wird dieser gesehen/nicht gesehen Status in Foren wie diesem gespeichert? Weil wenn ich zB 1000 Threads und 1000 User in dem Forum habe, hätte ich auch hier schon 1.000.000 Einträge mit gesehen/nicht gesehen. Kann mir nur schwer vorstellen, dass das wirklich so gemacht wird, oder doch?

    lg

  • as ich mich nun frage ist, wie wird dieser gesehen/nicht gesehen Status in Foren wie diesem gespeichert? Weil wenn ich zB 1000 Threads und 1000 User in dem Forum habe, hätte ich auch hier schon 1.000.000 Einträge mit gesehen/nicht gesehen. Kann mir nur schwer vorstellen, dass das wirklich so gemacht wird, oder doch?

    Die Möglichkeit gibt es bei vBulletin, ist aber in diesem Forum nicht aktiviert. Hier wird einfach der Zeitpunkt des letzten Besuchs gespeichert; ungelesen sind dann jene Threads, die nach diesem Zeitpunkt aktiv waren.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!