Beiträge als gelesen markieren.

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Beiträge als gelesen markieren.

    Hallo,

    ich bin gerade dabei ein kleines System zu entwickeln wo es wichtig ist ob Beiträge gelesen wurden oder nicht. Nun stehe ich vor dem Problem wie ich es umsetze.

    Meine Ansätze:
    Für jeden User eine neue Tabellenzeile in einer seperaten Tabelle. In dieser steht zu jedem Thema ob er es gelesen hat, oder eben nicht.
    Hier gibt es aber wohl ein Performanceproblem. So hab ich das zumindest aus themenverwandten Beiträgen entnommen.

    Ein anderer wäre mit einem Timestamp abzugleichen ob der User das Thema schon hätte lesen können. Also ob das Thema zeitlich nach oder vor seinem letzten Login erstellt wurde. Da stehe ich vor dem Problem, wo ich die Information speichere, welches Thema der User nun schon angesehen hat oder nicht. In einer seperaten Tabelle würde es ja auch dort wieder zu Performanceproblemen kommen.

    Habt Ihr eine Idee?
    The Human Mirror - Mein Blog!
    www.sonicsense.de - The future of music!

  • #2
    Re: Beiträge als gelesen markieren.

    Original geschrieben von Hazzardous
    Für jeden User eine neue Tabellenzeile in einer seperaten Tabelle. In dieser steht zu jedem Thema ob er es gelesen hat, oder eben nicht.
    ich würde nicht beide fälle abspeichern wollen, sondern nur einen.
    ist zu diesem kein datensatz vorhanden - dann ist der andere zustand als gegeben anzusehen.

    bsp: für user 4711 existiert zu nachricht 0815 kein eintrag in der gelesen-tabelle - logischer schluss: er hat die nachricht noch nicht gelesen.

    ob du eine "gelesen"- oder eine "nicht gelesen"-tabelle machen willst, würde ich vom erwarteten umfang abhängig machen:
    die wahrscheinlichkeit, dass der user die nachricht liest, dürfte sehr groß sein. also reicht es ggf. aus, beim versenden der nachricht diese als nicht gelesen einzutragen - und wenn sie dann gelesen wird, wird der betreffende DS gelöscht.

    dieses simple modell funktioniert natürlich nicht, wenn du bspw. auch den zeitpunkt des lesens auswerten willst. dann musst du schon eine gelesen-markierung abspeichern.

    Hier gibt es aber wohl ein Performanceproblem. So hab ich das zumindest aus themenverwandten Beiträgen entnommen.
    nö, eigentlich nicht.
    so eine DB schafft schon eine ziemliche menge an datensätzen ...


    solltest nur für integrität sorgen, d.h. beispielsweise wenn eine nachricht gelöscht wird, dann auch alle "gelesen"-sätze aus der entsprechenden tabelle entfernen, weil die dann ja auch nicht mehr gebraucht werden.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Irgendwie habe ich noch ein paar Bedenken. Angenommen es sind 1200 Benutzer die diese Nachticht lesen können. Also müssten quasi für 2 Einträge 2400 Zeilen generiert werden, die zwar nach und nach wieder gelöscht werden, aber bei der Frequenz an neu erstellten Beiträgen kommen ja recht fix Massen an Zeilen zusammen.

      Ich benutze bei einem anderen Projekt das WBB 2.0 und habe mir dort einmal die "Als gelesen markieren" Funktion angeschaut. Aber mir erschliesst sich nicht wo die Information gespeichert wird um welchen Thread es sich handelt...
      The Human Mirror - Mein Blog!
      www.sonicsense.de - The future of music!

      Kommentar


      • #4
        du musst jeden Gelesen in die Datenbank eintragen + timestamp.
        wenn der timestamp 24 stunden alt ist, wird er gelöscht, jeder beitrag der älter als 24 stunden ist, ist nicht neu, und somit braucht er als nicht gelesen nicht markiert werden
        Sunshine CMS
        BannerAdManagement
        Borlabs - because we make IT easier
        Formulargenerator [color=red]Neu![/color]
        Herkunftsstatistik [color=red]Neu![/color]

        Kommentar


        • #5
          Original geschrieben von Benny-one
          du musst jeden Gelesen in die Datenbank eintragen + timestamp.
          wenn der timestamp 24 stunden alt ist, wird er gelöscht, jeder beitrag der älter als 24 stunden ist, ist nicht neu, und somit braucht er als nicht gelesen nicht markiert werden
          Leider geht das nicht, da später noch nachvollzogen werden muss ob der Beitrag nun wirklich von dem User gelesen wurde.
          The Human Mirror - Mein Blog!
          www.sonicsense.de - The future of music!

          Kommentar


          • #6
            wieso? das macht doch keinen sinn.
            willst du etwa vermerken, das ein user der sich neuanmeldet dann 123945 beiträge als nicht gelesen markiert bekommt?
            Sunshine CMS
            BannerAdManagement
            Borlabs - because we make IT easier
            Formulargenerator [color=red]Neu![/color]
            Herkunftsstatistik [color=red]Neu![/color]

            Kommentar


            • #7
              Die User werden von einem Admin nen angemeldet. Wenn nachträglich ein neuer User hinzugefügt wird werden bei Ihm eben alle Beiträge als neu angezeigt. Sind sie ja für ihn auch. Er kann sich dann ja die relevanten, aktuellen Themen ansehen und dann einen Knopf drücken um die Beiträge als gelesen zu makieren.
              The Human Mirror - Mein Blog!
              www.sonicsense.de - The future of music!

              Kommentar


              • #8
                überleg mal: dein Script ist seit 2 Jahren im Einsatz und hat 1200 Beiträge. Jetzt meldet der Admin einen neuen User an. Der soll sich dann durch 1200 Beiträge lesen?
                Sunshine CMS
                BannerAdManagement
                Borlabs - because we make IT easier
                Formulargenerator [color=red]Neu![/color]
                Herkunftsstatistik [color=red]Neu![/color]

                Kommentar


                • #9
                  Original geschrieben von Benny-one
                  überleg mal: dein Script ist seit 2 Jahren im Einsatz und hat 1200 Beiträge. Jetzt meldet der Admin einen neuen User an. Der soll sich dann durch 1200 Beiträge lesen?
                  Nein, er kann sich dann ja die letzten 10 Ansehen und dann mit einem Button den rest als gelesen makieren.
                  Angenommen ein User ist 2 Wochen im Urlaub... was dann?
                  The Human Mirror - Mein Blog!
                  www.sonicsense.de - The future of music!

                  Kommentar


                  • #10
                    dann mach ihm doch ne Suche, wo er die letzten Beiträge von 2 Wochen angezeigt bekommt.
                    Sunshine CMS
                    BannerAdManagement
                    Borlabs - because we make IT easier
                    Formulargenerator [color=red]Neu![/color]
                    Herkunftsstatistik [color=red]Neu![/color]

                    Kommentar


                    • #11
                      irgendwie seid ihr jetzt keinen schritt weitergekommen


                      An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

                      Kommentar


                      • #12
                        Original geschrieben von MaxP0W3R
                        irgendwie seid ihr jetzt keinen schritt weitergekommen
                        wie auch, er zeigt keine Einsicht.

                        Das ist wie: Ich will 20 MB große Bilder auf 1ne Diskette packen.
                        Entweder er nimmt mehrere oder er hat pech...
                        Sunshine CMS
                        BannerAdManagement
                        Borlabs - because we make IT easier
                        Formulargenerator [color=red]Neu![/color]
                        Herkunftsstatistik [color=red]Neu![/color]

                        Kommentar


                        • #13
                          Original geschrieben von Benny-one
                          wie auch, er zeigt keine Einsicht.

                          Das ist wie: Ich will 20 MB große Bilder auf 1ne Diskette packen.
                          Entweder er nimmt mehrere oder er hat pech...
                          Was hat das mit Einsicht zu tun? Es ist nunmal eine Kundenvorgabe. Ende.
                          The Human Mirror - Mein Blog!
                          www.sonicsense.de - The future of music!

                          Kommentar


                          • #14
                            Original geschrieben von Hazzardous
                            Angenommen ein User ist 2 Wochen im Urlaub... was dann?
                            dann mach's über die timestamp-methode - letzten aktions-zeitpunkt des users speichern, alle beiträge die danach neu hinzukamen werden als neu angezeigt.
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              Original geschrieben von wahsaga
                              dann mach's über die timestamp-methode - letzten aktions-zeitpunkt des users speichern, alle beiträge die danach neu hinzukamen werden als neu angezeigt.
                              So werde ich es wohl machen. Was schätzt du wieviele Einträge die DB mühelos verkraftet?
                              The Human Mirror - Mein Blog!
                              www.sonicsense.de - The future of music!

                              Kommentar

                              Lädt...
                              X