Church Tools - Auto Updater
-
Bei uns funktioniert der Auto Updater auch nicht mehr.
Es kommt die Meldung: "No valid ChurchTools 3 download found in HTML!"
Beim Analysieren ist mir aufgefallen, dass im Htmlcode der abgerufenen Seafile-Seite kein href-Eintrag mit dem Download-Link vorhanden ist. Er wir vermutlich jetzt nach dem Laden der Seite per Java-Script gesetzt. -
Wir haben den AutoUpdater gefixt, er ist wieder voll funktionsfähig.
-
@dennis-eisen sieht sehr gut aus - herzlichen Dank!
-
@dennis-eisen ebenso. TOP!
Vielen Dank, scheint zu funktionieren -
@dennis-eisen Ich habe erst jetzt Zeit gehabt, mich dieser Baustelle zu widmen - bei uns lief er auch schon ein paar Monate nicht mehr. Habe gerade die neuste Version geladen (3 Tage alt) und bekomme nun die Meldung: "No valid ChurchTools 3 download found in JSON!".
Habe ich etwas falsch gemacht? -
@fujifan ist schon ne Weile her. Ich habe es eben auch neu aufgesetzt und hatte zunächst denselben Fehler.
Früher musste man wohl nach der persönlichen Seafile-ID noch einen Slash in der config.php angeben. Falls du das bei der Aktualisierung übernommen hattest, könnte das der Fehler sein. Gehe exakt so vor wie im GitHub beschrieben. Dann sollte es eigentlich gehen. -
Aktuell hat der AutoUpdater wohl ein Problem damit, dass sich bei der CT Version 3.89.0 die Länge der Dateinamen im Verzeichnis system/runtime geändert hat. Beim Auspacken des tar-Files werden die Dateinamen nach 99 Zeichen einfach abgeschnitten. Das liegt wohl an der verwendeten PHP Funktion zum Auspacken des Archivs.
Aktuell habe ich daher leider den AutoUpdater für unsere selbstgehostete CT Installation deaktivieren müssen. Issue bei GitHub ist eröffnet.
-
@sirdud
Ja, war bei uns auch so. Auswirkung ist, dass die Login-Seite nicht mehr lädt. Die Installation selbst funktioniert jedoch anscheinend weiter. Es wurden zumindest Status-Mails verschickt und der API Zugriff (App) ging auch.
Ich habe dann das Update manuell durchgeführt und so das Problem der nicht korrekt entpackten Dateien gefixt.
Aber, sinnvolle Idee, den AutoUpdater erst mal zu deaktivieren. -
Ein wenig Recherche ergab, dass tar eigentlich nur eine Dateinamenslänge von 100 Zeichen unterstützt. Durch eine Erweiterung kann tar auch längere Dateinamen verarbeiten, ist dann aber nicht mehr mit dem POSIX Standard kompatibel. Die vom AutoInstaller verwendete PHP Funktion zum Entpacken hält sich aber an den Standard und verwendet daher nur die ersten 100 Zeichen des Dateinamens.
Die einfachste Variante wäre, dass ChurchTools sich an die Standards hält, und die Dateinamen zukünftig kleiner als 100 Zeichen lässt. Dann würde auch der AutoUpdater wieder funktionieren. Ich habe das so dem CT Support vorgeschlagen. Mal schauen, wie die Entscheidung des Entwickungsteams ausfällt.
-
@sirdud für die nächste Version wird es wieder kurze Namen geben.
-
Es gibt mittlerweile eine neue Version des AutoUpdater (4.0). In dieser Version kann konfiguriert werden, dass zum Entpacken nicht die PHP Funktion verwendet wird, sondern das betriebssysteminterne tar Kommando. Dadurch sollte es bei der Verwendung langer Dateinamen nicht mehr zum Fehler der abgeschnittenen Namen kommen. Damit das funktioniert, ist ein entsprechender Eintrag in der config.php des AutoUpdaters notwendig.