Dienstag, 12. Mai 2020
+1 Std. Zeitversatz
Im Zusammenhang mit dem Archiv sind wir eher zufällig auf ein Problem gestossen, welches sich wie folgt äussert: Zwischen dem Original-Blog und dem heute aktuellen Blog gibt es unterschiedliche Zeitangaben für Blogbeiträge. Die Datenbanktabelle mit allen Einträgen wurde am 20. Januar 2020 aus dem Original-Blog exportiert und in den aktuellen Blog importiert. Damals wurde nicht berücksichtigt, dass die beiden Server mit unterschiedlichen Uhrzeiten operierten. Während es auf bbbeat.ch zum Beispiel 15:00 Uhr war, zeigte der Server von beatsblog.ch bereits 16:00 Uhr an.
Als Beispiel: Der allererste Blogeintrag wurde am 16.12.2005, um 23:55 Uhr, abgespeichtert. Auf dem neuen Server (+1 Std.) wird der gleiche Beitrag nun mit Datum 17.12.2005, 00:55 Uhr, dargestellt. Er ist also in den Folgetag gerutscht.
Für Blogbeiträge, welche zwischen 00:00 Uhr und 22:59 Uhr geschrieben wurden ist das grundsätzlich kein Problem. Doch alle Beiträge, die zwischen 23:00 und 23:59 Uhr geschrieben wurden, werden nun am (falschen) Folgetag dargestellt.
Ich kann nicht beurteilen, um wieviele Beiträge es sich dabei handelt, doch es sind sehr, sehr viele. Denn wenn ich z.B. am Sonntag einen Blogeintrag für den Samstag geschrieben habe, so änderte ich vor dem speichern das Datum und stellte die Uhrzeit auf 23:59 Uhr. Bei den gesamthaft > 2'500 Beiträgen sind das bestimmt mehrere hundert...
Ich überlegte mir deshalb, ob ich den ganzen Import nocheinmal durchführen soll. Es sollte möglich sein, vor dem Datenex- und -import die Serverzeiten anzugleichen (auf GMT stellen), so dass die Uhrzeit danach links wie rechts identisch ist. Dabei stellt sich jedoch das Hauptproblem, dass seit dem 20.01.2020 bereits 97 neue Beiträge hinzugekommen sind, die ich natürlich nicht verlieren will. Das würde ich vermutlich noch hinkriegen, doch ein tieferer Blick in beide Systeme zeigt, dass der Zeitversatz von +1 Std. überhaupt nicht durchgängig ist. ?
Nachfolgend Screenshots. Links von bbbeat.ch und rechts von beatsblog.ch. Rot gekennzeichnet die Zeitunterschiede.
Man sieht, die meisten Zeiten verschoben sich +1 Std. Doch es gibt immer wieder Beiträge, bei denen das nicht der Fall ist. Ich kann also nicht automatisiert vorgehen und quasi alle importieren Beiträge eine Stunde zurückstellen (wovon ich auch keine Ahnung hätte, wie ich das bewerkstelligen sollte).
? ? ?
Ich weiss noch nicht, wie ich vorgehen werde. Vielleicht korrigiere ich nur den allerersten Beitrag, sowie die Beiträge, die nun in einen neuen Monat fallen. Das wäre vermutlich der einfachste und realistischte Weg.
Es bleibt das unschöne Gefühl, dass man später in einem Sonntagsbeitrag u.U. liest: "Heute Samstag..."
Dieser Link ist nicht aktiv. Er enthält eine kopierbare Trackback-URI, um manuell ein Ping- und Trackback zu diesem Eintrag für ältere Blogsysteme zu generieren; zB (immer noch valide) über das zur Verfügung gestellte Eintragsfeld des serendipity_event_trackback Plugins. Serendipity und andere Blogsysteme erkennen die Trackback-URL heutzutage aber automatisch anhand der Artikel-URL. Die Trackback-URI für ihren Link des Sender-Eintrages lautet daher wie folgt: »https://www.blog.dokumenzi.ch/2643-+1-Std.-Zeitversatz.html«
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt
Ian Styx am :
Ich hoffe du hast meine ganzen Nachdenk Nachträge noch lesen können. Siehe
https://www.blog.dokumenzi.ch/2635-kuerzlich-aufgefallen.html#c6941
Export/Import ist nicht die Lösung. denn der Kasus Knacktus ist der differente Offset. Beim Import bleibt dasjenige erhalten was der Export als dump hervorbrachte. Man könnte höchstens den Datenbank Export dump so einstellen, dass alle gewünschten timestamps (und zwar nur die) um 3600 Sekunden - also 1 Stunde ins Minus gerechnet werden. Eher schwierig... aber ein Datenbank Houdini wäre dazu sicher flugs in der Lage - auch treffsicher genau nur für jene Einträge, die in diesem Mitternachtszeitraum liegen.
Das müsste man aber herauszufinden suchen, ob das wirklich so ist und wenn, dann Warum.
Ich persönlich würde jetzt nur die Nahtstellen bearbeiten. Da du ja sowieso mit der history arbeitest, hast du ja dann in der Folge jeweils eine kleinen Happen zum nacharbeiten und zwar immer nur da, wo Inhalt und Zeitstempel nicht mehr wirklich passen. Alles andere ist vernachlässigbar.
Beat Post author am :
Dieser Kommentar bezieht sich auf diesen hier: https://www.blog.dokumenzi.ch/2579-Styx-Stand-01.05.2020,-1058.html#c6951
Die SQL-Abfrage lieferte 653 Ergebnisse.
Die ersten 10 habe ich direkt im Blog geändert. Ich habe dabei 2 Std. abgezogen. Wenn also unten bei Beitrag #12 Uhrzeit 00:54 steht, so habe ich sie neu einen Tag früher auf 22:54 Uhr gespeichert. Hier die Liste:
Nun bleiben also noch 643 ? ich sagte ja: Hunderte...
Ian Styx am :
Kopie von Kommentar: https://www.blog.dokumenzi.ch/2579-Styx-Stand-01.05.2020,-1058.html#c6952
OK mache dir vorher mal ein Backup der entries Tabelle, sicherheitshalber.
Alles in einem Rutsch!
Dann:
661 Datensätze betroffen.
Überprüfe mit
müsste jetzt leer sein.
Beat Post author am :
o.k. DB-Backup gemacht.
Ich kanns nicht begründen, doch ich möchte mehr als genau 1 Std. (3600 sec) zurückrechnen. Deshalb habe ich oben die 10 genannten Beiträge gleich um 2 Std. zurückgesetzt.
Ich hole mir jetzt einen ☕ und
nochmal nach... erst dann mach ich mich an die DB...
Ian Styx am :
Stoppp!
Lies besonders die letzten 2 Kommentare.
Warum um 2 Stunden (und wo)?
ACHTUNG: In der Datenbank - als timestamp sind sie 1 Stunde zurück, weil der damalige Offset +1 war. Da er jetzt +2 ist, muss der timestamp nur noch eine weitere Stunde zurückgerechnet werden. Was du im Backend entryform als Eintragsdatum angezeigt bekommst, ist bereits das um das Offset korrigierte Datum aus den Datenbank timestamps, in dem Fall +2 Stunden.
Beat Post author am :
Einträge bearbeiten -> Eintrags-Metadaten -> z.B. #12 von: 2005-12-22T00:54 auf neu: 2005-12-21T22:54 geändert.
Wieso mehr als genau 1 Std.? Bauchgefühl... um mich vor einem erneuten, gleichen Vorfall zu schützen? Ich könnte statt -3600 statt einer weiteren Stunde (-7200) nur eine zusätzliche Minute abziehen (also -3660). Ist das eine doofe Idee?
Ian Styx am :
Du hast nicht verstanden! ? Mehr Kaffee. Los! ☺
2005-12-22T00:54 ist bereits aus dem Datenbank timestamp berechnet + 2 Stunden also 7200. Du willst ja, so wie es auf dem Originalblog war, auf die Uhrzeit 2005-12-21T23:54 kommen, also musst du den Datenbank timestamp nur noch um eine weitere Stunde zurücksetzen. Entryform Anzeige und Datenbank Anzeige differieren um den zur letzten Speicherung (die auch das Datum+Zeit betraf) gesetzten Offset.
Beat Post author am :
Ich denke schon, dass ich das verstanden habe... ?
Trotzdem....... EGAL.... ich mach's jetzt, wie von Dir vorgeschlagen... kommt schon gut!
Beat Post author am :
Da fällt mir eine riesiger Stein vom ?. Danke für die SQL-Befehle. Ohne die hätte ich ewig gebastelt... ?
Ian Styx am :
Und wo ist jetzt das Problem?
War der WHERE timestamp der richtige, wie in https://www.blog.dokumenzi.ch/2579-Styx-Stand-01.05.2020,-1058.html#c6951 beschrieben?
Klasse wenn gefällt! Und ich bin wieder um ein zwei Erfahrungen reicher. Muss nur zusehen, dass ich sie nicht vergesse! ?
Ian Styx am :
Das einzige was du im Kopf behalten solltest, ist, dass dies ein workaround ist, um die neuralgischen Einträge, die hinüberrutschen, zu korrigieren. Als eine Folge könnte jetzt entstehen, dass ehemalige 22 Uhr Einträge (die ja heute 23:xx wären) mit deinen neuen 23 Uhr Einträgen ähem "kollidieren" - entweder in der zeitlichen Abfolge oder im inhaltlichen Bezug. Um alles in den alten Zustand bei neuem Offset zu versetzen, müssten halt wirklich alle (alten) Einträge korrigiert werden. Aber da hattest du ja gesagt, es gäbe welche, bei denen der Versatz nicht zuträfe (was eigentlich nicht sein kann, außer du warst es selbst).
Beat Post author am :
Rein sachlich und technisch gebe ich Dir völlig recht. Zeitkollisionen könnten sein.... aber: ? lassen wir es gut sein... ? ich bin Praktiker und nicht Perfektionist. ? mit dem Erreichten bin ich wirklich sehr ZUFRIEDEN. Das reicht. ?
(so richtig clever wären wir gewesen, wenn wir die DB zuerst abgefragt hätten, ob es z.B. Einträge mit Zeitstempel zwischen 03:00 und 04:00 Uhr gibt (mit grösster Wahrscheinlichkeit nicht) und danach ALLE Beiträge zwischen 04:00 und 23:59 Uhr um eine Stunde zurückgestellt hätten).
Beat Post author am :
Nein, war er nicht. Der letzte Kommentar Deiner Abrfage war #2520. Der letzte Beitrag vor der Migration war jedoch #2580. Ich habe die Differenz dieser 60 Beiträge visuell überprüft. Es gibt da noch ein paar Beiträge zu ändern, doch das erledige ich manuell am Schnellsten.
Nochmals ein virtuelles auf die Schulter klopfen und Hände schütteln. VIELEN DANK! Sieht gut aus und FÜHLT sich sehr gut an! ✔
Ian Styx am :
Aber id 2580 ist am 16. Januar 2020, war das nicht eher im Herbst irgendwann? Oder lag das an den wiederholten Versuchen mit mb4?Schon kapiert, du hast Recht, wir haben ja noch auf styx.dokumenzi (vorher) verhandelt... ?
Bin ja mal gespannt was das für eine Einfluss auf das History Problem, oder vielleicht sogar entrypaging hat oder nimmt.
Beat Post author am :
Der DB-Import bei www.beatsblog.ch erfolgte zwischen dem 22. und 28. Januar 2020. Auf den Tag genau weiss ich das nicht mehr. Ich weiss aber, dass #2580 (vom 16.01.2020) der letzte exportierte Beitrag war. Weil auf www.bbeat.ch wurde später nur noch der "Dieses Weblog ist umgezogen!"-Beitrag geschrieben. Und von dort stammen die Daten.
Übrigens: Ich habe nur die DB von www.beatsblog.ch verändert. Hier (www.blog.dokumenzi.ch) lasse ich es so wie es ist.
Ian Styx am :
Gibt es dafür einen wesentlichen Grund?
Beat Post author am :
Wofür? Dass ich die DB hier nicht ändere? -> Ist mir zuwenig wichtig.
Falls Du denkst, dass es für weitere Tests hier von Belang ist, dann kann ich das schon noch durchführen. Es ist halt einfach so, dass ich auf www.beatsblog.ch auch sonst noch Beitragsänderungen durchgeführt habe, die sich hier nicht widerspiegeln.