Gelesene Foren werden weiter als ungelesen angezeigt.
-
Ich hab seit ewigkeiten folgendes Problem: Wenn in einem Forum neue Beiträge (d.h. Threads mit neuen beiträgen) vorhanden sind, wird das Icon des Forums orange angezeigt. Soweit so gut. Wenn danach alle Beiträge gelesen worden sind (oder mit "alle Beiträge als gelesen markieren"), sollte das Icon eigentlich wieder normal werden - dem ist aber nicht so. Es bleibt ewig orange, auch wenn Cookies gelöscht werden, der Browser geschlossen wird usw. irgendwann werden die Icons wieder normal, nur wann das genau passiert hab ich noch nicht herausfinden können.
-
Das ist in den meisten PhpBB-Versionen ab einer gewissen Forengröße leider eine unheimliche Forenbremse, daher musste die Funktion hier deaktiviert werden.
-
Also bei stimmen die Farben in der Übersicht, wenn ich den Browser (neu) öffne. Nur solange der Browser geöffnet bleibt ändert sich der Status nicht. Ich verwende Firefox, IE 6 und IE8.
-
Das habe ich schon vor sehr langer Zeit bemängelt.
Aber ich kann eigentlich damit leben...http://www.c-plusplus.net/forum/viewtopic-var-t-is-213973.html Punkt 3
Ich glaube, die Icons werden wieder normal, wenn man sich erneut einloggt oder eine Zeit abwesend war (also bei einer neuen Session).
-
Joe, Nexus: Ich verwende Cookies um eingeloggt zu bleiben. Ihr dann vermutlich nicht?
-
pumuckl schrieb:
Joe, Nexus: Ich verwende Cookies um eingeloggt zu bleiben. Ihr dann vermutlich nicht?
Cookies sind soweit ich weiß nur für den Login. Alles andere wie die besuchten Foren wird trotzdem in der Session gespeichert. Die Session wird normalerweise ungültig wenn man den Browser komplett beendet (nicht nur das Fenster mit dem Forum schließen). Bei mir klappt das ohne Probleme.
-
Tobiking2 schrieb:
pumuckl schrieb:
Joe, Nexus: Ich verwende Cookies um eingeloggt zu bleiben. Ihr dann vermutlich nicht?
Cookies sind soweit ich weiß nur für den Login. Alles andere wie die besuchten Foren wird trotzdem in der Session gespeichert. Die Session wird normalerweise ungültig wenn man den Browser komplett beendet (nicht nur das Fenster mit dem Forum schließen). Bei mir klappt das ohne Probleme.
Habs nochmal ausprobiert: Eingeloggt (mit Cookies), Firefox ganz zu, Firefox wieder auf - gleiches Bild.
-
Ich müßte in den Quellcode schauen um zu sagen, nach welchem Prinzip ich die Einfärbung abgeändert habe. Im Original-phpBB-Code ist das schon ziemlich brachial gelöst, der prüft für jede Rubrik dieses Flag bezogen auf den eingeloggten User und ALLE vorhandenen Threads der Rubrik, weswegen die Startseite bei uns dann irgendwann 10 Sekunden Ladezeit brauchte... jetzt ist da nur noch eine minimale if-Abfrage (ungefähr wie "wenn Postdate > letzter Besuch => einfärben", aber genau bekomme ich es auch nicht mehr hin.
-
Marc++us schrieb:
der prüft für jede Rubrik dieses Flag bezogen auf den eingeloggten User und ALLE vorhandenen Threads der Rubrik
aua...
ist diese Bremse in den neueren Versionen auch noch oder ist man da endlich klüger geworden? Dann könnte man daraus evtl einen Patch basteln.
Wirklich stören tuts aber nicht. Irgendwann lernt man, die Anzeige zu ignorieren
-
zwutz schrieb:
ist diese Bremse in den neueren Versionen auch noch oder ist man da endlich klüger geworden? Dann könnte man daraus evtl einen Patch basteln.
Von phpBB 3 weiß ich das nicht, beim 2er ist es genauso mies geblieben. Und beim 3er hat sich sonst soviel geändert, dass ich es für sehr unwahrscheinlich halte, dass sich das bequem rückportieren lässt.
-
Die Funktion ist auch gar nicht so trivial implementierbar, wenn man sie korrekt ausführen will.
Besonders "asymmetrische" Foren (also Rubriken mit vielen aktuellen Beiträgen und dann Rubriken mit überwiegend älteren Threads) stellen da eine Herausforderung dar.
Es soll ja für jeden Nutzer immer dann das Icon aufleuchten, wenn in einer Rubrik seit seines letzten Besuchs ein neuer Beitrag erschienen ist. Das mit dynamischer Anzahl an Rubriken + 1.5 Mio Beiträge + 25000 User ist schon langsam unschön.
-
Ist eben ein generelles Problem mit dem Datenmodell. Ganz so leicht lässt sich das nicht sauber fixen.
Marc++us schrieb:
Es soll ja für jeden Nutzer immer dann das Icon aufleuchten, wenn in einer Rubrik seit seines letzten Besuchs ein neuer Beitrag erschienen ist. Das mit dynamischer Anzahl an Rubriken + 1.5 Mio Beiträge + 25000 User ist schon langsam unschön.
Ach, nur die Rubriken wäre ja leicht. Einfach ein DATETIME pro Rubrik, wo die letzte Änderungszeit drinsteht und jeder User hat ohnehin schon ein DATETIME mit dem letzten Besuchsdatum oder so. Das ist dann sehr bequem.
Genaugenommen könnte man das mit dem phpBB-DB-Schema auch pro Topic machen. Die SELECTs der Edit-Zeiten gehen dann eben nur über die letzten n Threads des Forums (wobei n=Anzahl v. Threads pro Seite + ein bisschen was) und die Topics muss phpBB sowieso beim Posten mit der ID des letzten Posts updaten, da könnte man dann noch das Datum mitreinpacken.
Mit MVCC bzw. row-level-locking und ein bisschen Caching sollte das eigentlich kein bisschen wehtun dürfen.
Ich übersehe da gerade irgendwas großes fettes, was mir am Anfang des Posts noch klar war, oder?
-
Marc++us schrieb:
der prüft für jede Rubrik dieses Flag bezogen auf den eingeloggten User und ALLE vorhandenen Threads der Rubrik, weswegen die Startseite bei uns dann irgendwann 10 Sekunden Ladezeit brauchte...
Waren das Problem damals nicht die Joins? Ich bilde mir ein, dass nämlich nicht nur das Datum aller letzten Posts aller Topics gecheckt wurde, sondern vielmehr die Daten _aller_ zugehörigen Posts der letzten n (oder auch aller) Topics; könnte ja irgendjemand was editiert haben.
Sowas bricht der Performance natürlich das Genick. Bin aber auch nicht mehr hinreichend sicher, wie das damals implementiert war.
-
Ja, irgendeine Abhängigkeit vom last_post war da noch vorhanden.