Ungelesene oder doch neue Beiträge?

Artikel, Anleitungen, Minikurse und Leitfaden für alle möglichen PC-Themen und PHP/phpBB.
Antworten
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Ungelesene oder doch neue Beiträge?

Beitrag von oxpus »

In einem phpBB wird zunächst ohne weitere MODs ein Link angeboten, der "Beiträge seit dem letzten Besuch anzeigen".
Was steht nun genau dahinter?

Kurzum:
Genau das, was dort als Link-Text beschrieben wurde, nämlich alle Beiträge, die seit dem letzten angemeldeten Besuch des Forums erstellt wurden.

Beispiel:
Wenn sich ein Benutzer heute um 12:00 Uhr am Forum angemeldet hat und zunächst keine weiteren Beiträge verfasst wurden, hat er mit diesem Link keine Ergebnisse, da ja kein Beitrag erstellt wurde.
Gehen wir also daher mal von einem "neuen" Forum aus.
Der Benutzer meldet sich nun ab (oder schliesst den Browser) und andere Benutzer verfassen nun in der Zwischenzeit 3 Beiträge.

Jetzt meldet sich der erste Benutzer nach einer Weile wieder an und siehe da:
Der Link bringt 3 Ergebnisse!
Und zwar genau die 3 Beiträge, die die anderen Benutzer verfasst haben.
Alle Beiträge sind dabei auch gleichzeitig als "neu" markiert, also das Mini-Icon ist gelb.
Soweit so gut.

Gehen wir aber jetzt erst einmal einen Schritt in dieser Richtung weiter, bevor wir zur kniffligeren Frage kommen.

Der Benutzer meldet sich nun wieder ab, sagen wir um 12:30 Uhr und um 13 Uhr wieder an.
Es wurden in dieser kurzen Zeit keine weiteren Beiträge erstellt, der Link erzeugt daher auch folglich kein Ergebnis, da ja was?

Richtig:
Es wurden seit dem letzten Login keine weiteren Beiträge erzeugt.

Soweit klar?

Gut, dann weiter zu der nun wirklich interessanten Thematik.

Springen wir dazu erst einmal wieder zur 2. Anmeldung unseres Benutzers zurück, bei der 3 Beiträge angezeigt wurden.
Einen dieser Beiträge hat unser Benutzer nun auch gelesen, dieser wird daher mit einem weissen Mini-Icon versehen.
Die beiden anderen Beiträge sind weiterhin gelb markiert, also ungelesen.

Bis hierher noch mitgekommen?

Okay, dann weiter.

Der Benutzer hat sich ja um 13 Uhr wieder angemeldet und bekommt mit dem o. g. Link kein Ergebnis, was ja auch bereits klar ist.
Aber da er nicht mehr weiß, in welchem Forum die beiden ungelesenen Beiträge waren, will er auf dem Index nachschauen, wo die ungelesenen Beiträge sind.

Und siehe da:
Alles gelesen!

Öhm, warum das nun wieder?

Kurzum:
Das Forum speichert die Stati der gelesenen/ungelesenen Beiträge im Board-Cookie ab. Hier werden nun alle während der aktuellen Sitzung (und auch nur dann!) geöffneten Beiträge als gelesen markiert, sie erscheinen also mit einem weissen Mini-Icon.
Da aber die Cookie-Grösse es nicht zulässt, alle Stati aller Beiträge auf dieser Weise zu speichern, werden mit der nächsten Anmeldung am Forum auch alle anderen Beiträge, die vor der letzten Anmeldung erstellt wurden, automatisch als gelesen behandelt.

Verwirrt?

Kann man verstehen, aber es geht noch eine Stufe komplizierter!

Mit dem Link "Beiträge seit dem letzten Besuch anzeigen" werden dem Benutzer zwar alle Beiträge seit dem letzten Login angezeigt, aber auch weiterhin alle gelesenen Beiträge.
Das ist doch wohl falsch, oder?

Nein, genau das ist es nicht, denn wie wir ja nun gelernt haben, zeigt der Link doch genau alle Beiträge seit der letzten Anmeldung am Board an.
Und das komplett unabhängig davon, ob diese bereits geöffnet und damit "gelesen" oder noch ungeöffnet, bzw. ungelesen sind!

Langsam, bevor es einen Knoten gibt, sollten wir zunächst nochmal durchatmen und rekapitulieren:

Der Link "Beiträge seit dem letzten Besuch anzeigen" zeigt eine Liste, aller seit der letzten Anmeldung neu erstellten Beiträge an.
Diese sind mit einem gelben Mini-Icon versehen, wenn sie (nur in der aktuellen Sesson!) noch nicht geöffnet wurden.
Ein weisses Mini-Icon zeigt dagegen, daß das Thema bereits geöffnet wurde (ob "wirklich" gelesen oder nicht, ist jetzt mal zweitrangig) oder vor der letzten Anmeldung erstellt wurde.

Beide Beitragszustände (die gelesenen und ungelesenen) werden also solange mit dem Link angezeigt, bis man sich abmeldet.
Mit der erneuten Anmeldung am Forum werden daher nur noch die Beiträge betrachtet, die eben nach der letzten Anmeldung erstellt wurden.
Dabei werden ebenfalls nicht die seit der letzten Anmeldung geänderten Beiträge berücksichtigt. Diese bleiben stur gelesen. Ebenfalls unfein...

Somit halten wir fest:
Solange man am Forum angemeldet sind, können wir alle noch nicht selber gelesenen Beiträge finden und zielsicher öffnen.
Mit der erneuten Anmeldung sind dann alle bis dahin ungelesenen Beiträge automatisch gelesen, da diese vor der letzten Anmeldezeit am Forum erstellt wurden und somit nicht mehr berücksichtigt werden.
Das ist dann besonders ärgerlich, wenn einem der Browser oder gar das System abstürzt oder man z. B. nicht die Zeit hat, alle "interessanten" Beiträge lesen zu können.

Wie kann man dann sonst genau dieses Thema verbessern?
Also die ungelesenen Beiträge als solche solange behalten, bis man diese wirklich gelesen hat?
Auch nach der nächsten Anmeldung am Forum?

Dazu gibt es mind. 2 MODs, die den "echten" Status "gelesen/ungelesen" für jeden Beitrag und Benutzer in der Datenbank ablegen.
Das wären der Unread Post Information 2 Database (kann deutlich mehr, wurde bereits für diverse premodded Forum erstellt und auch auf OXPUS.de installiert) und der Keep Unread Flags (ist 100% kompatibel und teilweise integriert im CH MOD 2.1.x und in dieser Form auch im phpBB3 enthalten).

Diese beiden MODs dienen eben dazu, den nur "scheinbaren" Status der ungelesenen Beiträge länger zu halten, als eine Anmeldesesson lang, um wirklich jeden neuen Beitrag in Ruhe anschauen zu können. Dabei kann zumindest der UPI2DB auch bearbeitete Beiträge als "neu" anzeigen, um keine Änderung an Beiträge zu verpassen und viele nützliche Dinge mehr.
Davon kann das phpBB selber gar nichts und wer einmal einen solchen MOD verwendet hat, wird ihn in kurzer Zeit kaum noch vermissen wollen, was dann wohl auch der Grund war, diese Funktion im phpBB3 mit aufzunehmen...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten