antibike\;p=\"73091 schrieb:mal ne frage zu der leichen bereinigung. ist es nicht sinnvoller nur user zu löschen die sich seit einem jahr nicht mehr angemeldet haben? nicht jeder ist ein großer schreiber und manchmal ist so ein jahr verdammt schnell vorbei ... sicherlich ist ein user der ein ganzes jahr nix schreibt nicht unbedingt produktiv für das forum, aber wenn er sich von zeit zu zeit einloggt würde ich das dennoch als aktiven benutzer zählen. ... so nun hab ich wieder ein jahr
So, sollte das sein.
Hier ist mal ein Auszug aus der Forumsverwaltung:
Zitat:Du kannst auf dieser Seite Benutzer löschen. Du kannst einen der drei Links auswählen: Lösche alte Benutzer, die niemals gepostet haben, lösche alte Benutzer, die niemals eingeloggt waren, lösche Benutzer, die niemals den Account aktiviert haben.
Achtung: Diese Aktion kann nicht rückgängig gemacht werden.
Was man unter "alt" versteht kann man selber auswählen (die Zeit eintragen).
Warum das nun schief gegangen ist weiß ich nicht, aber in Zukunft werden wir uns die Liste genauer ansehen, welcher Benutzer da rein fällt und wenn da was nicht stimmt können wir auf Fehlersuche gehen.
Allerdings klappt das mit dem "seit einem Jahr" nicht mehr eingeloggt nicht (leider), denn wir haben folgende Möglichkeiten:
Zitat:Lösche Null-Poster
die keinen Beitrag geschrieben haben, ausser neue Benutzer der letzten xxx Tage
Lösche inaktive Benutzer
die nie eingeloggt waren, ausser neue Benutzer der letzten xxx Tage
Lösche Nicht aktivierte Benutzer
die nie aktiviert waren, ausser neue Benutzer der letzten xxx Tage
Lösche Lange-Zeit-her Benutzer
die seit 60 Tagen nicht im Forum waren, ausser neue Benutzer der letzten xxx Tage
Der letzte Punkt wäre der interessante, wenn man sich nach dem "einloggen" richtet, aber leider sind die 60 Tage fest, also bringt uns diese Funktion nichts
Wir können zwar die "xxx" einstellen, aber "alte" Benutzer, die länger als 60 Tage nicht eingeloggt waren würden dann betroffen sein.
Die 60 Tage müssten variabel sein, dann könnte man sagen "Lösche alle Benutzer die seit 365 Tagen nicht mehr eingeloggt waren".
Eine weitere Funktion wäre auch hilfreich, und zwar sowas in der Art:
"Schick eine Mail an alle User, die seit xxx Tagen nicht mehr eingeloggt waren und lösche diese nach xxx Tagen wenn sie bis dahin immer noch nicht eingeloggt waren".
Und in der Mail müsste dann sowas stehen wie "Achtung, du warst zuletzt am xx.xx.xxxx bei <!-- w --><a class="postlink" href="http://www.gpz.info">www.gpz.info</a><!-- w --> eingeloggt. In xxx Tagen wird dein Account automatisch gelöscht. Um dieses zu verhindern logg dich vor dem Ablaufdatum einmal ein."
Leider gibt es diese Funktion nicht, und das ist auch nicht mal eben so programmiert. Da das Forum sehr Komplex ist (mit vielen Querverknüpfungen) muss man schon sehr viel Ahnung haben von PHP-Programmierung (und dementsprechend viel Zeit). Außerdem dürfen sich durch diese Erweiterung keine Sicherheitslücken aufmachen.
Da die Foren immer komplexer werden ergeben sich für Hacker immer mehr Angriffspunkte, also muss man man immer mehr Sicherheitsüberprüfungen einbauen, damit das Forum relativ sicher bleibt. Durch diese Maßnahmen wird das Forum leider auch immer langsamer.
Wenn dann noch viele Leichen im Forum rumgeistern macht es das noch langsamer, deswegen ist es leider unbedingt nötig diese Leichen zwischendurch zu löschen.
Beispiel:
Die Funktion, welche es ermöglicht nach dem aus- und einloggen ungelesene Beiträge noch als ungelesen zu sehen braucht für jeden Beitrag zusätzlich die Information welcher User diesen Beitrag noch nicht gesesen hat.
Es wird also zusätzlich zum Beitrag die User-ID jedes Users hinterlegt, der diesen Beitrag noch nicht gelesen hat.
Sobald der User diesen Beitrag liest wird die ID daraus gelöscht und somit die Datenbank entlastet.
Eine Forumsleiche liest aber keinen Beitrag also ist die ID dieses Users in jedem Beitrag gespeichert, und zwar solange bis der Beitrag von diesem User angesehen wurde, oder bis die max. Frist abgelaufen ist (welche wir im Forum einstellen können).
Haben wir nun also 200 Leichen, und eine Frist von z.B. einem Monat (in welchem mal eben schlappe 3000 Beiträge geschrieben wurden), dann werden 200 IDs 3000 mal gespeichert. Das sind dann schlappe 600.000 unnötige Datenbankeinträge, welche jedes mal mitgeladen werden und somit das Forum verlangsamen.
Und das war bloß EINER von VIELEN Punkten, denn Geburtstage, Wohnorte, letzes Login, usw., usw., usw., werden ebenfalls gespeichert.
Ich hoffe nun versteht jeder, warum es unbedingt nötig ist Forumsleichen zu entfernen.
Gruß, Holle
Gruß, Holle.