[BETA] [3.1][3.2] LF who was here (2.x)

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
canonknipser
Supporter
Supporter
Beiträge: 1998
Registriert: 10.09.2011 11:14
Kontaktdaten:

Re: [BETA] [3.1][3.2] LF who was here (2.x)

Beitragvon canonknipser » 21.05.2019 17:07

Ich habe mir mal interessehalber kurz deinen Code auf Github angeschaut. Da ich in einer Ext. von mir auch mit Zeitzonenrechnung arbeite, ist mir damals aufgefallen, dass bei einem frisch installierten Bord keine Bord-Timezone gesetzt ist. Dafür müsstest du einen Fallback einbauen ;) -> https://github.com/canonknipser/viewexi ... #L126-L139
Grüße, canonknipser
"there are only 10 types of people: those, who understand binary and those, who don't"
just arrived ;) - Bilder
Kein Support via PN, nur im Board und (manchmal) im IRC

Benutzeravatar
LukeWCS
Mitglied
Beiträge: 381
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [BETA] [3.1][3.2] LF who was here (2.x)

Beitragvon LukeWCS » 21.05.2019 17:23

canonknipser hat geschrieben:Ich habe mir mal interessehalber kurz deinen Code auf Github angeschaut. Da ich in einer Ext. von mir auch mit Zeitzonenrechnung arbeite, ist mir damals aufgefallen, dass bei einem frisch installierten Bord keine Bord-Timezone gesetzt ist. Dafür müsstest du einen Fallback einbauen ;) -> https://github.com/canonknipser/viewexi ... #L126-L139


Merci! :)

Das wusste ich nicht. Jupp, dann baue ich in meinen Zeitzonen-Fix auch gleich den Fallback mit ein. Solche Hinweise sind immer willkommen, denn dadurch kann man die Robustheit verstärken.

edit: Ich habe eben mal nachgeschaut, was bei den Standards definiert ist. Demnach ist aber board_timezone immer gesetzt. Und du beziehst dich bei deinem Fallback auch auf user_timezone, was bei LFWWH nicht benötigt wird.

In der Datei install\schemas\schema_data.sql finde ich den folgenden Standard:

INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_timezone', 'UTC');

Und zwar von aktuell 3.2.7 bis zurück zu 3.1.11. Ältere Versionen sind dann irrelevant, weil das ohnehin die technische Mindestversion für LFWWH ist.
Möge das Backup mit dir sein. Immer.

Meine Erweiterungen: Monospace font for Posting Editor
Meine Erweiterungs-Forks: LF who was here, ModBreak eXtended

Benutzeravatar
canonknipser
Supporter
Supporter
Beiträge: 1998
Registriert: 10.09.2011 11:14
Kontaktdaten:

Re: [BETA] [3.1][3.2] LF who was here (2.x)

Beitragvon canonknipser » 21.05.2019 18:55

LukeWCS hat geschrieben:Demnach ist aber board_timezone immer gesetzt
Hmm, ich hatte den Fall, dass die Config-Variable zwar da, aber bei einer frischen Installation leer war. Weiß jetzt nicht mehr die genaue Version, unter der das aufgetreten war. Da bin ich mit dem Gast-Account drüber gestolpert, weil der seine Timezone aus der Config holt und nicht aus dem User-Segment
Grüße, canonknipser
"there are only 10 types of people: those, who understand binary and those, who don't"
just arrived ;) - Bilder
Kein Support via PN, nur im Board und (manchmal) im IRC

Benutzeravatar
LukeWCS
Mitglied
Beiträge: 381
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [BETA] [3.1][3.2] LF who was here (2.x)

Beitragvon LukeWCS » 22.05.2019 14:26

canonknipser hat geschrieben:Hmm, ich hatte den Fall, dass die Config-Variable zwar da, aber bei einer frischen Installation leer war. Weiß jetzt nicht mehr die genaue Version, unter der das aufgetreten war. Da bin ich mit dem Gast-Account drüber gestolpert, weil der seine Timezone aus der Config holt und nicht aus dem User-Segment


Dann war das aber eine zufällige Anomalie, denn es ist mit Standardmethoden nicht möglich, diese Variable als leer zu speichern, wie ich überprüft habe. Laut Source ist diese Variable immer definiert, bzw. "sollte" immer definiert sein. Wenn diese Variable also leer ist, dann muss "irgendwo" und durch "irgendwas" eine Fehlfunktion dafür verantwortlich sein. Der Punkt ist, bisher hat sowas bei NVWWH und LFWWH keiner gemeldet.

Und laut den Erweiterungen in meinem Archiv hat auch keiner ein Fallback für config['board_timezone'] definiert. Werde ich ebenfalls nicht machen, denn wenn diese Variable leer sein sollte, dann darf ruhig eine Fehlermeldung kommen, denn dann fällt dem verantwortlichen Admin wenigstens mal auf, das bei ihm in der DB/Konfig offensichtlich etwas nicht stimmt. :wink:

Wegen dem Zeitumstellungs-Bug: Ich habe bei einer weiteren Simulation festgestellt, das es selbst dann einen Fehler geben würde, wenn PHP und phpBB identische Zeitzonen hätten. Und zwar bei der Umstellung auf Winterzeit. Da würde er am 27.10 schon um 23:00 eine Bereinigung durchführen und eine Stunde später gleich nochmal. Das scheint bisher auch noch niemand aufgefallen zu sein. ^^

[ externes Bild ]
Möge das Backup mit dir sein. Immer.

Meine Erweiterungen: Monospace font for Posting Editor
Meine Erweiterungs-Forks: LF who was here, ModBreak eXtended

Benutzeravatar
LukeWCS
Mitglied
Beiträge: 381
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [BETA] [3.1][3.2] LF who was here (2.x)

Beitragvon LukeWCS » 26.05.2019 15:26

Hallo

Wolkenbruch hat geschrieben:Bis zum 31.12.2019 ist ja noch Zeit, bis dahin hast du das ganze bestimmt im Griff. :wink:


Die kommende Beta 3 wird den Bugfix für die Probleme mit der Zeitumstellung und den unterschiedlichen Zeitzonen bereits enthalten.

Das Problem war nicht ganz trivial und machte eine Überarbeitung der Simulation nötig, da ich in diesem Zusammenhang noch weitere Probleme festgestellt habe, wenn PHP und phpBB unterschiedliche Zeitzonen verwenden. Ich war letzte Woche an den Abenden primär damit beschäftigt, meine Simulation (die mittlerweile auch über 6 KB Code hat) zu verbessern und komplett umzubauen. Statt einer Liste mit festen Prüfpunkten kann ich jetzt einen beliebigen Zeitraum definieren, der dann jede einzelne Sekunde dieses Zeitraums testet. Somit umfasst die Simulation der Sommerzeit-Umstellung nicht mehr nur 6 Zeitpunkte (Prüfpunkte), sondern 3 volle Tage und das sind in Sekunden - und damit in Prüfpunkten - insgesamt 255603. Es wird also lückenlos und vollautomatisch getestet. Das Ergebnis ist dann ein Protokoll, das ausnahmslos alle Fehler (in der Zusammenfassung) zählt, aber nur die relevanten Ereignisse anzeigt.

Hier das Protokoll der Sommerzeit-Umstellung bei den entsprechenden Bedingungen, also unterschiedliche Zeitzonen und Einstellung auf "Heute":

[ externes Bild ]

Für den Bugfix ist unterm Strich der mit Abstand grösste Teil der Zeit und Programmierung in die Simulation geflossen. Die Lösung selber macht nur einen ganz kleinen Teil aus, was Aufwand und Zeit angeht. Aber auch diese Lösung musste ich mehrfach überarbeiten, da ich zweimal einen Denkfehler hatte.

Und so sähe das Protokoll für die Sommerzeit-Umstellung aus, nachdem der Bugfix eingebaut wurde:

[ externes Bild ]
Möge das Backup mit dir sein. Immer.

Meine Erweiterungen: Monospace font for Posting Editor
Meine Erweiterungs-Forks: LF who was here, ModBreak eXtended

Benutzeravatar
LukeWCS
Mitglied
Beiträge: 381
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [BETA] [3.1][3.2] LF who was here (2.x)

Beitragvon LukeWCS » 02.06.2019 17:19

beta3 online.
Möge das Backup mit dir sein. Immer.

Meine Erweiterungen: Monospace font for Posting Editor
Meine Erweiterungs-Forks: LF who was here, ModBreak eXtended


Zurück zu „Extensions in Entwicklung“