[3.3] [CDB] Delete Inactive Members

In diesem Forum können Extension-Autoren ihre Extensions vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1302
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: [3.3] [CDB] Delete Inactive Members

Beitrag von Mike-on-Tour »

Die Version 1.0.1 wurde heute auf phpbb.com zur Validierung eingereicht, sie enthält folgende Änderung:
Die SQL Abfragen im Cron-Job und im Test-Controller wurden abgeändert, um das Löschen von Mitgliedern mit auf Genehmigung wartenden Beitrag zu verhindern.

Diese Version kann vorab hier heruntergeladen werden.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 3024
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [3.3] [CDB] Delete Inactive Members

Beitrag von LukeWCS »

IMC hat geschrieben: 21.08.2024 19:37 Bin ich darin aber nicht so gut, wie ich es gern sein würde.
So gehts mir auch.

@Mike

DIM 1.0.1 ging bei mir am 22.8 in Echtbetrieb und hat bereits 2 Accounts gelöscht, eben genau die, die ich schon in der Vorschau gesehen hatte. Allerdings klappt das mit dem Log noch nicht so ganz:

Code: Alles auswählen

Anonymous	xxx.xxx.xxx.xxx	Fr 23. Aug 2024, 18:57	mot/dim hat folgende Benutzer gelöscht
							»
Die Acconut-Namen werden nicht protokolliert.

Im Zusammenhang mit dem Bug hätte ich auch einen kleinen Verbesserungsvorschlag: zusammen mit den Account-Namen auch den Grund für die Löschung protokollieren, falls nicht zuviel Aufwand.
Mike-on-Tour hat geschrieben: 21.08.2024 19:07 Ich musste einfach eine funktionierende Ergänzung für das Query finden, sonst hätte ich Probleme mit der Paginierung bekommen. :D
Ahja, eine Pagination hatte ich jetzt gar nicht auf dem Schirm.
Möge das Backup mit dir sein. Immer.
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen bezüglich Vorgaben und Kompatibilität
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1302
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: [3.3] [CDB] Delete Inactive Members

Beitrag von Mike-on-Tour »

LukeWCS hat geschrieben: 24.08.2024 13:10 Die Acconut-Namen werden nicht protokolliert.
Habe mir das gerade mal angesehen. Das kann auch nicht funktionieren, weil ich die Reihenfolge der Funktionsaufrufe für das Ermitteln der zu den user_id gehörenden Usernamen und das Löschen der User in der falschen Reihenfolge habe. :roll: :oops:
Erst Löschen und dann Namen ermitteln funktioniert irgendwie nicht. (Lustigerweise ist das bei der Validierung auch keinem aufgefallen)
Wird dann wohl eine Version 1.0.2 geben.
LukeWCS hat geschrieben: 24.08.2024 13:10 Im Zusammenhang mit dem Bug hätte ich auch einen kleinen Verbesserungsvorschlag: zusammen mit den Account-Namen auch den Grund für die Löschung protokollieren, falls nicht zuviel Aufwand.
Da alle zu löschenden Accounts mit einem SQL-Query ermittelt werden, ist es danach nicht mehr möglich festzustellen, welche user_id aus welchem Grund ermittelt wurde.
Das wäre zwar grundsätzlich lösbar, würde aber drei verschiedene SQL-Queries erfordern und das erscheint mir ein bisschen viel Aufwand.


EDIT (25.08.2024, 10:50 Uhr):
Die Version 1.0.2 wurde heute auf phpbb.com zur Validierung eingereicht, sie enthält folgende Änderung:
Eine vertauschte Reihenfolge der Funktionsaufrufe zum Löschen von Mitgliedern und anschließendem Abrufen der Benutzernamen resultierte in einem leeren Array von Benutzernamen zum Loggen der gelöschten Mitglieder.

Diese Version kann vorab hier heruntergeladen werden.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 3024
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [3.3] [CDB] Delete Inactive Members

Beitrag von LukeWCS »

nAbend Mike
Mike-on-Tour hat geschrieben: 25.08.2024 09:37 Erst Löschen und dann Namen ermitteln funktioniert irgendwie nicht.
Dass phpBB aber auch einfach nicht das machen will was wir denken sondern das was wir programmieren... den Jammer kenne ich auch. :D
(Lustigerweise ist das bei der Validierung auch keinem aufgefallen)
Kochen auch nur mit Wasser und die JrValidatoren können speziell das nicht gezielt testen, weil das über nen phpBB Cron Job läuft.
Da alle zu löschenden Accounts mit einem SQL-Query ermittelt werden, ist es danach nicht mehr möglich festzustellen, welche user_id aus welchem Grund ermittelt wurde.
Die Basis meiner Überlegung war die Vorschau, da hier die Infos verfügbar sind.
Das wäre zwar grundsätzlich lösbar, würde aber drei verschiedene SQL-Queries erfordern und das erscheint mir ein bisschen viel Aufwand.
Mein Ansatz wäre gewesen die beiden separaten Querys in einer zentralen Funktion zusammenzufassen. Damit arbeite ich bei WWH und EMP, weil ich da Funktionen habe, die ich in mehreren Bereichen brauche. Das hätte auch den Vorteil das man bei der Vorschau WYSIWYG hätte, wodurch die Vorschau echte Aussagekraft hätte und man so auch nicht Gefahr läuft, bei einer Änderung eine der beiden Querys zu vergessen.

Aber wenn da 3 Query nötig sind, ist das die Sache nicht wert.
Die Version 1.0.2 wurde heute auf phpbb.com zur Validierung eingereicht, sie enthält folgende Änderung:
Merci Mike, habs übernommen.
Möge das Backup mit dir sein. Immer.
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen bezüglich Vorgaben und Kompatibilität
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1302
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: [3.3] [CDB] Delete Inactive Members

Beitrag von Mike-on-Tour »

LukeWCS hat geschrieben: 26.08.2024 21:45 Mein Ansatz wäre gewesen die beiden separaten Querys in einer zentralen Funktion zusammenzufassen.
Darüber hatte ich auch nachgedacht, diesen Ansatz dann aber verworfen, weil ich für das Löschen ja nur die user_ids brauchte und nicht die zusätzlichen Informationen der Vorschau, die durch ein LEFT JOIN mit (mittlerweile) zwei anderen Tabellen ermittelt werden. Damit wollte ich die Last auf die Datenbank für den Cron-Job reduzieren, um die im Hintergrund nötigen Ressourcen zugunsten der Frontend-Ressourcen zu schonen.

Werde mir das nochmal ansehen, vielleicht finde ich einen Weg.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 3024
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [3.3] [CDB] Delete Inactive Members

Beitrag von LukeWCS »

Mike-on-Tour hat geschrieben: 27.08.2024 10:30 Damit wollte ich die Last auf die Datenbank für den Cron-Job reduzieren, um die im Hintergrund nötigen Ressourcen zugunsten der Frontend-Ressourcen zu schonen.
Verständlich und nachvollziehbar. Das gleiche galt für LMR und vor allem FAR, da diese hier im Einsatz sind und somit bestimmte Eigenschaften erfüllen müssen, primär Zuverlässigkeit und Resourcen-Schonung.
Werde mir das nochmal ansehen, vielleicht finde ich einen Weg.
Wäre top, aber wirklich in dem Fall nur nice-to-have. So Infos sind halt generell interessant um Infos über Spam-Bots zu sammeln, um z.B. auf geändertes Verhalten aufmerksam zu werden, damit man ggf. gegensteuern kann.
Möge das Backup mit dir sein. Immer.
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen bezüglich Vorgaben und Kompatibilität
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 3024
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [3.3] [CDB] Delete Inactive Members

Beitrag von LukeWCS »

Servus Mike

Wie besprochen, Rückmeldung zu 1.1.0:

Ich habe wieder mit meinen 3 speziell präparierten DIM Accounts im TB getestet: viewtopic.php?p=1428372#p1428372

Da es aber einige Fummelei ist solche Accounts zu präparieren, habe ich DIM zwar scharfgestellt, aber user_delete() im Cron Job deaktiviert. Alles andere blieb original. Das der Löschvorgang funktioniert, wurde ja auch schon im LB im Echtbetrieb festgestellt, weshalb man das hier aussen vor lassen und den Fokus auf das Log setzen kann.

Hier das Ergebnis:

Code: Alles auswählen

Anonymous	::1	Do 5. Sep 2024, 19:32	mot/dim hat 1 Nullposter gelöscht
						» dim_nopost	
Anonymous	::1	Do 5. Sep 2024, 19:32	mot/dim hat 1 Schläfer gelöscht
						» dim_nologin	
Anonymous	::1	Do 5. Sep 2024, 19:32	mot/dim hat 1 nie aktivierten Benutzer gelöscht
						» dim_noact
Perfekt! :grin:

Merci Mike, das ist durchaus dabei hilfreich, die bösen Bots im Auge behalten zu können.
Möge das Backup mit dir sein. Immer.
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen bezüglich Vorgaben und Kompatibilität
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1302
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: [3.3] [CDB] Delete Inactive Members

Beitrag von Mike-on-Tour »

Dann kann ich das ja morgen einreichen.

Danke fürs Testen :grin:
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1302
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: [3.3] [CDB] Delete Inactive Members

Beitrag von Mike-on-Tour »

Die Version 1.1.0 wurde heute auf phpbb.com zur Validierung eingereicht, sie enthält folgende Änderungen:
  • Die Einträge im Admin-Log wurden dahingehend geändert, dass diese nunmehr nach der Art der gelöschten Mitglieder unterscheiden (Vorschlag von LukeWCS)
  • In cron/task/mot_dim_cron.php wurde zur SQL-Abfrage ORDER BY u.user_id ASC hinzugefügt, um die Mitglieder in der Reihenfolge der Registrierung zu löschen

Diese Version kann vorab hier heruntergeladen werden.
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1302
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: [3.3] [CDB] Delete Inactive Members

Beitrag von Mike-on-Tour »

Version 1.1.0 wurde am 20.11.2024 validiert und steht somit offiziell in der CDB zum Download bereit.
Antworten

Zurück zu „Extensions in Entwicklung“