Gelesen/Ungelesen Status realisieren?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
BeaTBoxX
Mitglied
Beiträge: 2
Registriert: 13.02.2007 12:07

Gelesen/Ungelesen Status realisieren?

Beitrag von BeaTBoxX »

Moin zusammen,

kann mir wer auf die Sprünge helfen, wie man effizient so ein Gelesen/Ungelesen Feature z.B. in einem Forum einbaut?
Weiss jemand im Detail wie es im phpBB funktioniert?
Datenbankgestützt.. pro User und Thread oderso die Infos halten ist natuerlich VIEL zu langsam.

Wie ich hier bisher rausgelesen habe, funktionierts im phpBB mit Cookies.
Kann mich da jemand schlau machen?

Danke

Gruß
Frank
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5395
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Die Frage ist so eigentlich falsch gestellt, denn es ist kein "gelesen/ungelesen" Status vorhanden, sondern zunächst nur ein "neu/nicht neu".
Der Unterschied ist eben bei der Verwendung der Cookies begründet, in dem das phpBB die letzte Anmeldezeit festhält und dann alle Beiträge als "neu" kennzeichnet, die nach dem letzten Anmeldezeitpunkt erstellt und nicht geöffnet wurden.
Wenn Du einen Status wie "ungelesen/gelesen" haben willst, also die "echte" Verwendung dieser Funktionalität, geht das nur mit MODs wie dem UPI2DB MOD (Unread Post Information 2 Database) oder dem zum CH MOD 2.1 kompatibleren Keep Unread MOD (dessen Funktionalität vergleichbar mit der selbigen Funktion im phpBB 3 ist).
Nur mit einem solchen MOD ist dieser "Zustand" zwischen "gelesen" und "ungelesen" überhaupt darstellbar.
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
BeaTBoxX
Mitglied
Beiträge: 2
Registriert: 13.02.2007 12:07

Beitrag von BeaTBoxX »

oxpus hat geschrieben: Der Unterschied ist eben bei der Verwendung der Cookies begründet, in dem das phpBB die letzte Anmeldezeit festhält und dann alle Beiträge als "neu" kennzeichnet, die nach dem letzten Anmeldezeitpunkt erstellt und nicht geöffnet wurden.
Danke erstmal..
aber ich hab das Gefühl du vermischt auch beides grade?
Natuerlich ist es eine sache einfach zu prüfen, was seit dem letzten login des users gepostet wurde. Das ist ja auch kein Thema :)

Du sagst weiter "und nicht geöffnet wurde"

wo /wie wird diese info festgehalten?

Wenn ich nur anhand des letzten Logins prüfe, und eins von 5 neuen Themen lese, dann sind die 4 anderen nach dem naechsten Login auch "gelesen" weil nicht erstellt seit letztem Login. Oder?
Ist das so im phpbb ? ich dachte damals als ich ein phpbb hatte ist schon der Gelesen/Ungelesen status festgehalten worden?
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5395
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wenn ich nur anhand des letzten Logins prüfe, und eins von 5 neuen Themen lese, dann sind die 4 anderen nach dem naechsten Login auch "gelesen" weil nicht erstellt seit letztem Login. Oder?
Ja, weil dann die letzte Anmeldezeit "nach" den Erstellungszeiten der Posts liegt ;)
Ich vermische daher nichts.
Ist das so im phpbb ? ich dachte damals als ich ein phpbb hatte ist schon der Gelesen/Ungelesen status festgehalten worden?
Ja eben nicht. Nur "neu und ungeöffnet" und nicht gelesen/ungelesen.
Zur aktuellen Sitzung (und nur da!) werden die neuen Beiträge als gelesen markiert, wenn diese geöffnet wurden. Der Status wird aber beim nächsten Login am Forum (auch Autologin, wenn der Browser zwischenzeitig geschlossen wurde) für alle Beiträge "gültig", da eben dann wieder zunächst die letzte Anmeldezeit herangezogen wird.

Und wenn man es 100%ig genau neben will, kann das phpBB von Hause aus nur anzeigen, welche Beiträge nach dem letzten Login erstellt wurden, also quasi "neu" sind, und NUR in der aktiven Sitzung davon bereits gelesen wurden. Eben nie über mehrere Sitzungen hinweg. Jeder "neue" Beitrag (ob gelesen oder nicht) ist daher bei der nächsten Anmeldung automatisch als "alt und gelesen" markiert. Und diese Stati wären dann rein logisch ja falsch ;)

Ein echtes gelesen/ungelesen gibt es daher bei einem phpBB ohne einen der bereits genannten MODs nicht.
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
Benutzeravatar
mark2
Mitglied
Beiträge: 454
Registriert: 22.02.2006 23:05
Wohnort: Kempten

Beitrag von mark2 »

Wie muß ich mir die beiden mods vorstellen und welcher ist der besser oder kommt für mich in Frage?

Ich suche einen mod der mir in der viewtopic bei jedem Beitrag in einem Thema durch ein Icon oder sonstige farbliche Hervorhebung signalisiert ob der einzelne Beitrag bereits gelesen wurde oder noch ungelesen ist.
Zunächst habe ich den today/yesturday eingebaut um besser den Punkt in einem Thema zu finden wo ich aufgehört habe mitzulesen. Bringt natürlich nichts wenn man mehrmals am Tag online ist.
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5395
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Das können beide MODs.
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
Walter65
Mitglied
Beiträge: 27
Registriert: 20.03.2007 14:17

Beitrag von Walter65 »

oxpus hat geschrieben:Der Unterschied ist eben bei der Verwendung der Cookies begründet, in dem das phpBB die letzte Anmeldezeit festhält und dann alle Beiträge als "neu" kennzeichnet, die nach dem letzten Anmeldezeitpunkt erstellt und nicht geöffnet wurden.
Hallo oxpus,

irgendwie verstehe ich deine Argumentation nicht. Wenn ich dich richtig verstehe, "weiß" phpBB, welche Beiträge bereits gelesen wurden und welche nicht; denn wie du selbst sagst, werden nur diese (sofern sie nach dem letzten Login erstellt wurden) als "Neu" markiert.

Um nun anstatt der "neu/nicht neu"-Funktion die "gelesen/nicht gelesen"-Funktion zu erhalten, müsste doch lediglich der Vergleich mit der letzten Login-Zeit wegfallen. Die ist nämlich dann nicht mehr interessant.

Bitte korrigiere mich, wenn ich da was falsch verstehe.

Liebe Grüße
Walter
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Also:
  • Wenn man sich neu einloggt weiß das Forum zunächst mal nicht, welche Themen schon gelesen sind. Es geht davon aus, dass sämtliche Themen, die vor dem letzten Login waren schon gelesen sind.
  • Alle anderen Themen, die nach dem letzten Login waren müssen ungelesesn sein, da man ja seit dem letzten Login das Forum nicht mehr besucht hat.
  • Wenn man während des Besuchs Foren liest, dann wird das im Cookie gespeichert, so dass diese Foren dann als gelesen angezeigt werden können.
  • Loggt man sich aus und wieder ein gibt's einen neuen Cookie und alle Themen sind als gelesen markiert, weil die gelesenen Themen im Cookie abgelegt waren.
Das ganze Basiert also ein wenig auf Kausalität. Das Forum weiß nur während des Besuchs im Forum welche Themen gelesen wurden (oder besser: Welche nicht gelesen wurden), beim ersten einloggen seit längerem weiß es im Prinzip nichts sondern geht davon aus, dass man beim letzten Mal alles gelesen hat und zeigt nur die Beiträge die danach hinzu kamen an und hinterlegt diese auch im Cookie. Das Forum kennt im Prinzip nur den letzten Loginzeitpunkt.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Walter65
Mitglied
Beiträge: 27
Registriert: 20.03.2007 14:17

Beitrag von Walter65 »

Verstanden! Danke für die ausführliche und verständliche Erklärung. :-)

Dumme Frage eines Unwissenden bzw. Gedankenspiel:
Nehmen wir mal an, das Forum ginge entgegen der derzeitigen Arbeitsweise davon aus, dass alle Beiträge NICHT gelesen wurden.
Gleichzeitig würde das Forum beim Login kein neues Cookie anlegen, sondern stattdessen das Cookie, das die gelesenen Themen speichert erweitern.
Dann würden doch nur die Themen als gelesen angezeigt werden, die tatsächlich gelesen wurden, also im Cookie abgelegt sind. Korrekt?

Was spricht -- unabhängig davon, dass das evtl. tief in die Funktionsweise des Forums eingreift und deshalb hoher Änderungsaufwand wäre - gegen diese Idee?
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Walter65 hat geschrieben:Was spricht -- unabhängig davon, dass das evtl. tief in die Funktionsweise des Forums eingreift und deshalb hoher Änderungsaufwand wäre - gegen diese Idee?
Daß Cookies nur eine begrenzte Länge haben dürfen.
KB:knigge
Antworten

Zurück zu „Coding & Technik“