HTML Archivator
Verfasst: 05.05.2006 02:15
Was machen, wenn man x-tausende (oder gar hundertausende) Beiträge in seinen Foren hat und auch die ältesten Schinken beim Aufruf die Datenbank unnötig belasten. Jeder Besucher, egal ob er über eine Suchmaschine auf die Seite kommt, wenn ein User nach alten Informationen stöbert oder wenn eine Suchmaschine Deine Seite crawlt. Jeder Beitrag muss mühevoll aus der Datenbank ausgelesen werden.
An diesem Punkt möchte ich nun ansetzen.
Die Idee:
- Themen, auf die länger als x Tage nicht mehr geantwortet wurde als feste HTML Datei in einem Cache speichern und bei Bedarf ohne jegliche Datenbankabfragen ausgegeben.
- Bei Antwort auf ein archiviertes Thema wird der Cache gelöscht und das Thema wieder erst nach x Tagen zur Archivierung freigegeben.
Dieses Thema habe ich testweise archiviert:
http://www.phpbb-de.com/viewtopic.php?t=1
Grundsätzlich merkt man keinen Unterschied. Die Seite scheint gerade "frisch" aus der Datenbank ausgelesen worden zu sein. Tatsächlich wurde sie aber vorher archiviert und ausgegeben wird nur eine reine HTML-Seite.
Jetzt erkenne ich aber bereits ein paar Probleme:
- eingeloggte User denken, sie wären ausgeloggt, denn das Archiv speichert nur eine Kopie der Seite, die ein Gast sieht. Also zeigt das Menü "Login", obwohl der vermeintliche User vielleicht eingeloggt ist.
- niemand erkennt, dass es sich um eine Kopie handelt. Ein Hinweis denke ich sollte zumindest als kleiner Text oder Icon darauf hinweisen.
- es wird keine Session generiert und and die Urls angehangen (Problem?!)
- wechselnde Informationen, wie Beitragszähler eines Users oder die Angabe seiner Emailadresse etc. könnten veraltet sein.
- diverse Mods könnten "undynamisch" werden. Soll heißen, dass wenn man z.B. zufällige oder wechselnde Informationen auf einer Themenseite hat, dann wird nur der zuletzt gemachte "Schnappschuss" der Seite angezeigt und die dargestellte Information könnte veraltet sein (im genannten Link wäre das z.B. das Datum und die Uhrzeit
)
Verschiedene Wege der Ausgabe:
1. Insgesamt wirkt das nun auf mich so, dass man den Mod am besten nur dann greifen lassen sollte, wenn ausgeloggte User sich im Forum bewegen (wie Gäste, Suchmaschinenroboter, etc.)
2. Ein weiterer Lösungsweg wäre nur bestimmte Bereiche der Seite zu archivieren. z.B. nur die Beiträge unabhängig von Kopf und Fuß der Seite, wo wechselnde Informationen möglich sind. Aber damit erreicht man kaum das maximal mögliche Potential eines solchen Mods.
3. Oder man ersetzt die archivierte Seite mit einem subSilver "Light" Template, welches nur abgespeckte Details darstellt, wie Username, Text, wann gepostet wurde, etc.) Also wirklich nur diese Details die nicht wechselnd sind. Derzeit gibt es ein solches Template z.B. hier sehen: (das Template hat aber einen anderen Hintergrund)
http://ptifo.clanmckeen.com/viewtopic.php?t=2656
Wobei da sich dann das Problem ergibt, dass die Seite für Gäste sehr leer und "billig" wirkt.
Entwicklung:
Ich teste erstmal ein wenig umher und frage mich wie interessant so ein Mod für die phpBB-Welt sein könnte oder wer noch anregende Ideen für die Umsetzung haben könnte.
An diesem Punkt möchte ich nun ansetzen.
Die Idee:
- Themen, auf die länger als x Tage nicht mehr geantwortet wurde als feste HTML Datei in einem Cache speichern und bei Bedarf ohne jegliche Datenbankabfragen ausgegeben.
- Bei Antwort auf ein archiviertes Thema wird der Cache gelöscht und das Thema wieder erst nach x Tagen zur Archivierung freigegeben.
Dieses Thema habe ich testweise archiviert:
http://www.phpbb-de.com/viewtopic.php?t=1
Grundsätzlich merkt man keinen Unterschied. Die Seite scheint gerade "frisch" aus der Datenbank ausgelesen worden zu sein. Tatsächlich wurde sie aber vorher archiviert und ausgegeben wird nur eine reine HTML-Seite.
Jetzt erkenne ich aber bereits ein paar Probleme:
- eingeloggte User denken, sie wären ausgeloggt, denn das Archiv speichert nur eine Kopie der Seite, die ein Gast sieht. Also zeigt das Menü "Login", obwohl der vermeintliche User vielleicht eingeloggt ist.
- niemand erkennt, dass es sich um eine Kopie handelt. Ein Hinweis denke ich sollte zumindest als kleiner Text oder Icon darauf hinweisen.
- es wird keine Session generiert und and die Urls angehangen (Problem?!)
- wechselnde Informationen, wie Beitragszähler eines Users oder die Angabe seiner Emailadresse etc. könnten veraltet sein.
- diverse Mods könnten "undynamisch" werden. Soll heißen, dass wenn man z.B. zufällige oder wechselnde Informationen auf einer Themenseite hat, dann wird nur der zuletzt gemachte "Schnappschuss" der Seite angezeigt und die dargestellte Information könnte veraltet sein (im genannten Link wäre das z.B. das Datum und die Uhrzeit

Verschiedene Wege der Ausgabe:
1. Insgesamt wirkt das nun auf mich so, dass man den Mod am besten nur dann greifen lassen sollte, wenn ausgeloggte User sich im Forum bewegen (wie Gäste, Suchmaschinenroboter, etc.)
2. Ein weiterer Lösungsweg wäre nur bestimmte Bereiche der Seite zu archivieren. z.B. nur die Beiträge unabhängig von Kopf und Fuß der Seite, wo wechselnde Informationen möglich sind. Aber damit erreicht man kaum das maximal mögliche Potential eines solchen Mods.
3. Oder man ersetzt die archivierte Seite mit einem subSilver "Light" Template, welches nur abgespeckte Details darstellt, wie Username, Text, wann gepostet wurde, etc.) Also wirklich nur diese Details die nicht wechselnd sind. Derzeit gibt es ein solches Template z.B. hier sehen: (das Template hat aber einen anderen Hintergrund)
http://ptifo.clanmckeen.com/viewtopic.php?t=2656
Wobei da sich dann das Problem ergibt, dass die Seite für Gäste sehr leer und "billig" wirkt.
Entwicklung:
Ich teste erstmal ein wenig umher und frage mich wie interessant so ein Mod für die phpBB-Welt sein könnte oder wer noch anregende Ideen für die Umsetzung haben könnte.