10.11.2008, 14:01
Naja, die bisherige Logik ist:
- Gehe das Forum samt aller Unterforen durch, um den allerneusten Post zu finden
(Dieser allerneuste Post wird dann auch in der rechten Spalte angezeigt).
- Markiere Forum als ungelesen, wenn das Datum des allerneusten Post neuer als Datum des Forum zuletzt gelesen Timestamps
Und da Foren und Unterforen getrennte "zuletzt gelesen" Timestamps haben, kann es eben passieren, dass das Parent-Forum schon länger nicht mehr gelesen wurde, das Unterforum aber schon. Der allerneuste Post im Unterforum ist dann schon gelesen, aber da der Timestamp des allerneusten Post neuer ist, als der "zuletzt gelesen" Timestamp des Parent-Forums, wird es als ungelesen markiert. Und das ist einfach falsch.
Die Logik die ich versucht habe zu implementieren ist:
Markiere das Forum als ungelesen, wenn
- das neueste Posting in diesem Forum (nicht in den Unterforen) neuer ist als der zuletzt gelesen Timestamp
(bis hierher ist das Verhalten identisch zur alten Logik - es klappt nur bei Foren ohne Unterforen)
- oder wenn eines der Unterforen als ungelesen markiert ist
Und das scheint bei mir zu funktionieren. Wo ist mein Denkfehler und welche Schwierigkeiten gibt es da noch?
(Abgesehen von den Bugs die dadurch zutage getreten sind, etwa dass "Forum als gelesen markieren" nicht alle Unterforen als gelesen markiert).
Ich würde das Problem halt gerne nachvollziehen. Der Dev im englischen Forum sagt es würde zuviel CPU kosten, hat aber keine Erklärung dafür was daran jetzt mehr CPU kosten soll als vorher (die Foren werden bereits in der jetzigen Version rekursiv durchlaufen - um das allerneuste Post zu finden). Du sagst du könntest mir einige Schwiergkeiten aufzählen, ohne konkret zu werden.
Kann das irgendjemand ausführen oder gibts evtl. einen Diskussionsthread dazu irgendwo wo ich mich über die Problematik schlauer machen kann?
- Gehe das Forum samt aller Unterforen durch, um den allerneusten Post zu finden
(Dieser allerneuste Post wird dann auch in der rechten Spalte angezeigt).
- Markiere Forum als ungelesen, wenn das Datum des allerneusten Post neuer als Datum des Forum zuletzt gelesen Timestamps
Und da Foren und Unterforen getrennte "zuletzt gelesen" Timestamps haben, kann es eben passieren, dass das Parent-Forum schon länger nicht mehr gelesen wurde, das Unterforum aber schon. Der allerneuste Post im Unterforum ist dann schon gelesen, aber da der Timestamp des allerneusten Post neuer ist, als der "zuletzt gelesen" Timestamp des Parent-Forums, wird es als ungelesen markiert. Und das ist einfach falsch.
Die Logik die ich versucht habe zu implementieren ist:
Markiere das Forum als ungelesen, wenn
- das neueste Posting in diesem Forum (nicht in den Unterforen) neuer ist als der zuletzt gelesen Timestamp
(bis hierher ist das Verhalten identisch zur alten Logik - es klappt nur bei Foren ohne Unterforen)
- oder wenn eines der Unterforen als ungelesen markiert ist
Und das scheint bei mir zu funktionieren. Wo ist mein Denkfehler und welche Schwierigkeiten gibt es da noch?
(Abgesehen von den Bugs die dadurch zutage getreten sind, etwa dass "Forum als gelesen markieren" nicht alle Unterforen als gelesen markiert).
Ich würde das Problem halt gerne nachvollziehen. Der Dev im englischen Forum sagt es würde zuviel CPU kosten, hat aber keine Erklärung dafür was daran jetzt mehr CPU kosten soll als vorher (die Foren werden bereits in der jetzigen Version rekursiv durchlaufen - um das allerneuste Post zu finden). Du sagst du könntest mir einige Schwiergkeiten aufzählen, ohne konkret zu werden.
Kann das irgendjemand ausführen oder gibts evtl. einen Diskussionsthread dazu irgendwo wo ich mich über die Problematik schlauer machen kann?