Michael Schröpl: Verweilzeit der Beiträge in der Hauptdatei

Beitrag lesen

Hallo Stefan,

Ist es möglich, die Parameter etwas zu verändern oder zumindest die
Sache so einzustellen, dass ein Thread nach dem Herausfallen weiter-
hin ca. 1 Woche am alten Platz erreichbar ist, allerdings ohne Ant-
wortmöglichkeit?
Damit würde auch verhindert, dass es tote Links gibt, wenn ich hier
in meinem Posting auf einen Thread weiter unten verweise.

das läßt sich allein durch Änderung der Parameter nicht verhindern.

Das dynamische Archivierungsverfahren bewirkt, daß Du vorher keine
Information darüber bekommen kannst, welches Postings vor oder nach
welchem anderen aus dem Forum-Cache entfernt wird. 'oben' und 'unten'
sind also irrelevant.

Zwei Fälle fallen mir spontan ein:

a) Posting X linkt auf Y, Y wird zuerst archiviert.
   Dann kann der Archivierer im Mmoment dieser Archivierung den Verweis
   innerhalb von X auf den URL des Threads im Archiv anpassen - denn er
   weiß, daß Y nach Y' archiviert und nicht etwa gelöscht wurde.
   (Würde Y nicht archiviert, sondern gelöscht, dann könnte der Verweis
    auf 'inaktiv' mit einem entsprechenden Vermerkt gesetzt werden.)
   Aber wer sagt dem Archivierer, daß X einen Verweis auf Y enthält?

Dazu sollten schon beim Entstehen von X (also beim Posten!) alle
   Verweise zwischen Postings zusätzlich separat gespeichert werden
   (also eine Relation mit dem Eintrag (Y, X) mit der Bedeutung: "Wenn
   Y vom Archivierer bearbeitet wird, dann passe den Inhalt von X an").
   Der Archivierer tut dann genau dies - und löscht den Eintrag aus
   dieser Tabelle wieder.

b) Posting X linkt auf Y, X wird zuerst archiviert.
   Egal, ob Y später gelöscht oder archiviert wird, zum Zeitpunkt der
   Archivierung von X nach X' steht das noch nicht fest.
   Der URL von Y ändert sich aber durch seine spätere Archivierung;
   die nun anzupassende Stelle befindet sich jedoch bereits im Archiv!

Die in a) beschriebene Relation könnte der Archivierer dafür nutzen
   und im Moment der Archivierung von X den Wert (Y, X) auf (Y, X')
   umschreiben.
   Während der Archivierung von Y ist dann feststellbar, daß in X' ein
   anzupassender Link existiert; wird schließlich Y archiviert (oder ge-
   löscht - das ist egal), dann wird X' im Archiv nachträglich geändert.

Es gäbe also drei Zugriffe auf diese Tabelle:

  • beim Posten von X      (INSERT "Y,X"),
  • beim Archivieren von X (UPDATE "Y,X" -> "Y,X'"),
  • beim Archivieren von Y (DELETE "*,Y").
    Plus die entsprechenden Änderungen in X bzw. X'.

Da Links zwischen Postings ein seltener Fall sind, dürfte ein "full table
scan" auf diese Relation (mit wenigen Einträgen) performancemäßig völlig
ausreichen.

Viele Grüße
      Michael

P.S.: Was habe ich noch alles übersehen?

(dieser Beitrag wurde nach SourceForge übernommen)