[request] gelesen/ungelesen (über DB-only) Hack

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt um einen neuen Mod zu entwicklen, geht's in phpBB 2.0: Mods in Entwicklung weiter.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Quichotte

[request] gelesen/ungelesen (über DB-only) Hack

Beitrag von Quichotte »

Servus,

wir beabsichtigen auf phpBB2 umzustellen, vermissen jedoch ein Feature, welches unser modifiziertes UBB bietet: eine korrekte gelesen/ungelesen Anzeige.

Die ungelesenen Beiträge werden bei uns serverseitig gespeichert, so dass man sich am Arbeitsplatz ein paar Threads für zu Hause aufheben kann und dort sofort sieht, welche man schon gelesen hat und welche nicht usw. - dürfte klar sein, was gemeint ist.

Was soll der Hack bieten:
- Da die User größtenteils von verschiedenen Rechnern (Arbeit, Freundin, home) aus auf das Forum zugreifen, scheidet eine clientseitige Speicherung der ungelesenen Beiträge per cookie o.ä. aus.
- Damit die DB nicht gesprengt wird, sollten Beiträge, die älter als x Tage sind von einer Aufnahme in die DB ausgeschlossen sein bzw. dort gelöscht werden. (z.B. alles was älter ist als eine Woche wird durch diesen Hack nicht mehr erfasst).

Ich denke, dass dieser Hack für zahlreiche kleinere Boards sehr interessant sein dürfte.

PS: Ist es richtig, dass ich mich hier nicht registrieren kann?
Benutzeravatar
Sekey
Ehemaliges Teammitglied
Beiträge: 928
Registriert: 06.04.2002 23:51

Beitrag von Sekey »

Hier kannst Du dich registrieren.
Zuletzt geändert von Sekey am 29.07.2002 13:39, insgesamt 1-mal geändert.
Die Such(t)funktion dein Freund und Helfer :D
-[Siegertyp]-
Benutzeravatar
Quichotte
Mitglied
Beiträge: 27
Registriert: 29.07.2002 10:00
Wohnort: Münster
Kontaktdaten:

Beitrag von Quichotte »

Ja, danke! Jetzt war auch oben der Registrierungsbutton vorhanden :-?
*DiesenThreadsoforterstmalmitBenachrichtunganmichversehen*
Benutzeravatar
Quichotte
Mitglied
Beiträge: 27
Registriert: 29.07.2002 10:00
Wohnort: Münster
Kontaktdaten:

Beitrag von Quichotte »

Was mir grad noch eingefallen ist..

Vielleicht wäre es möglich, die gelesen/ungelesen Anzeige defaultmäßig so zu lassen wie sie ist und nur wenn ein User das im Profil explizit anwählt, eine Verwaltung der ungelesenen Beiträge über die DB durchzuführen.. Dadurch würde die DB ebenfalls kleiner gehalten, weil ja nicht jeder User automatisch dieses Feature nutzen möchte. Allerdings wäre dies Luxus, den wir mit unseren 160 Usern nicht benötigen ;)
Gast

Beitrag von Gast »

Ich bin da auch sehr dran interessiert! Mich stört an der aktuellen Lösung auch das oft beiträge sich selber als gelesen markieren weil man länger als 5 Min mal nix getippt hat!

Imho ist der Aufwand auch überschaubar... BISHER werden - so hab ich das verstanden - die Zwischenstände (und zwar für Foren und Toppics einzeln) in einem Cookie gespeichert. Wenn man sich ausloggt oder zu lange inaktiv ist wird beim erneuten Besuch eine neue session generiert und alles vor diesem Zeitpunkt gilt als 'gelesen'...

Auf jeden Fall gibt es Probleme wenn man an mehreren rechner sitzt...

Eine Lösung könnte so aussehen:

In der DB muss stehen:

1. Letzter Zeitpunkt an dem ALLE Nachrichten als 'gelesen' markiert waren (LAR). Alles was neue ist ist könnte ungelesen sein.
2. für jedes Topic mit Nachrichten neuer als LAR in dem gelesen wurde muss die Zeit gespeichert werden wo das letzte mal drauf zugegriffen wurde. (LTR)

Man braucht also eine Funktion die beim Aufruf der index.php, oder viewforum.php prüft ob für jedes topic eine LTR existiert... dann muss die
LAR neu gesetzt werden und alle älteren LTR's werden gelöscht.

In der Viewtopic muss nur dir LTR gesetzt werden wenn der letzte Post entweder neuer als der LAR ist, oder neuer als ein existierender LTR...

Den LAR würde ich einfach als Uhrzeit speichern.... bei den LTR's weis ich nicht ob man nicht durch relative Zeitangaben ein paar Bytes sparen kann...

Diese LAR und LTR könnte man mit der Dunktion erzeugen die zur Zeit in das cookie schreibt... das ist ein string der immer eine Zeit und eine Topic-ID enthält... oder eben eine Forum-ID ...

Ganze Foren als gelesen zu markieren ist aber ein extra-Aufwand und ich weis nicht ob man dadurch speicher in der DB oder zeit spart...

Die Datenbank würde dann natürlich größer...

Entweder man erzeugt für jeden User einen großen String in dem man das speichert. (ist aber bei umfangreichen Boards ein Problem weil da dann evtl. nicht alles reinpasst)

oder besser man macht eine Tabelle im Stil von _topics_watch...

Also alle Infos für alle user in EINE tabelle.... jeder Eintrag nach dem Muster

UserID,TopicID,Time wobei eine TopicID von "0" den LAR-Eintrag darstellt...

Dabei wäre der Vorteil das man nur exakt den Platz belegt den man braucht....

Wenn man mal annimmt das jeder user im Durchschnitt 50 Themen noch nicht gelesen hat wenn er das Board verlässt hat man pro User dann 800 Byte zusätzlichen Platzbedarf in der DB... also bei 150 Usern... 120kb.... Das ist nicht so furchtbar...

Abgesehen davon das ich von meinen usern weis das sie entweder eh ALLES lesen (süchtige halt) oder wenigstens ab und zu auch mal den "markiere alles als gelesen markieren"-Knopf drücken... Das würde jeweils für diesen User die Menge an Daten auf ca. 20 Byte reduzieren.





WER MACHT MIT? Alleine ist mir das vermutlich zu viel Arbeit...

und wech
Jensemann
Ehemaliges Teammitglied
Beiträge: 2549
Registriert: 25.02.2002 01:00

Beitrag von Jensemann »

Hi

Wenn du noch etwas warten kannst, bin ich dabei, ich benötige sowas auch dringend, weil ich mein board auf HTTP Baisc login umstellen will (keine Cookies mehr zum login notwendig) und dann muß natürlich auch sowas passen.

Mfg jensemann
Gast

Beitrag von Gast »

Jo, klar... ich hab normal eh' immer keine Langeweile und soooo brennend ist es ja nicht ;) Ich werde mal sehen ob ich mir ein paar Gedanken mache.... :) Den Teil der die LAR und LTR einträgt ist ja nicht soooo schwer zu machen... damit werde ich mal anfangen...

Nur eine Frage noch:

Wenn du auf Cookies verzichtest.... wie willst du da dann einen Autologin hinbekommen? Die einzige Idee die ich dabei hätte wäre es das als POSTVARS mit im ersten Aufruf mit übergeben... so wie

index.php?user=bitboy&pass=010029838726434

Klar das man das passwort md5- verschlüsselt schickt, aber wenn das jemand zu sehen bekommt ist es auch wieder nix mit Sicherheit weil man den Link so ja von jedem Browser ausführen könnte...

und wech
Zuletzt geändert von Gast am 29.07.2002 13:34, insgesamt 1-mal geändert.
Jensemann
Ehemaliges Teammitglied
Beiträge: 2549
Registriert: 25.02.2002 01:00

Beitrag von Jensemann »

Hi

Ist gut, ich muß nämlich vorher noch nen ubb-1.6.1 -> phpBB-2.0.1 konverter für die Kollegen von prolinux.de schreiben (ja, die wollen endlich umsteigen :-) )

Mfg jensemann
Benutzeravatar
Quichotte
Mitglied
Beiträge: 27
Registriert: 29.07.2002 10:00
Wohnort: Münster
Kontaktdaten:

Beitrag von Quichotte »

Abgesehen von der Frage, über welchen zeitlichen Rahmen wir hier reden, würde mich sehr interessieren, ob dieser Hack eher zur einfachen oder mehr zur komplizierten Sorte Hacks gehört. Würde man sich dadurch evtl. ein Sicherheitsloch schaffen können?
Jensemann
Ehemaliges Teammitglied
Beiträge: 2549
Registriert: 25.02.2002 01:00

Beitrag von Jensemann »

bitboy0 hat geschrieben:Nur eine Frage noch:

Wenn du auf Cookies verzichtest.... wie willst du da dann einen Autologin hinbekommen? Die einzige Idee die ich dabei hätte wäre es das als POSTVARS mit im ersten Aufruf mit übergeben... so wie

index.php?user=bitboy&pass=010029838726434

Klar das man das passwort md5- verschlüsselt schickt, aber wenn das jemand zu sehen bekommt ist es auch wieder nix mit Sicherheit weil man den Link so ja von jedem Browser ausführen könnte...

und wech
Hi

Na ja, aufs auto login werde ich dann wohl verzichten. Da das ganze dann bei mir über HTTP AUTH geht, ist das kein probleme weil einige Browser da ja schon selbst das passende mitbringen.

Mfg jensemann
Antworten

Zurück zu „phpBB 2.0: Mod Suche/Anfragen“