Church Tools - Auto Updater
-
Sieht super aus, unter welche Lizenz stellt Ihr das, dürften wir das direkt in CT einbauen?
-
@daniel_h sagte in Church Tools - Auto Updater:
> sehr schick. @dennis-eisen wir sind auch bei all-INKL. Ich habe aber den "system"-ordner als PHP-User laufen. Würde der Updater trotzdem funktionieren oder muss ich vorher wieder auf FTP-User umstellen? Wenn ich das "system" im FTP User belasse, bekomme ich immer Fehlermeldungen ohne EndeDa unser Skript rein PHP-basiert ist, müssen die Zugriffsrechte alle auf dem PHP-Nutzer liegen.
Das ist eine Grundvoraussetzung, damit das Skript funktioniert!
Allerdings gibt es auch eine Möglichkeit, dieses Problem mit den unterschiedlichen Usern komplett aus der Welt zu schaffen. Bei uns machen wir das seit jeher so, deswegen die verwundete Reaktion von Dennis, der dieses Problem aus der "Steinzeit" gar nicht mehr kennt.
Wenn du statt Apache-Modul FPM verwendest, um die PHP-Skripte aufrufen zu lassen, läuft ALLES über den "FTP-User". Das kann man inzwischen sogar direkt im KAS einstellen, unter (Sub)Domain > Bearbeiten (Schaltfläche rechts in der Zeile der betreffenden (Sub)Domain) > PHP Version > auswählen "X.Y (CGI/FPM)".
Dann einfach alle Rechte rekursiv auf den "FTP-User" übertragen, und nie wieder Kopfschmerzen mit Rechten. -
@jmrauen
Wir planen, das Skript unter MIT-Lizenz zu stellen, also sehr permissiv, sodass ihr es auch vermarkten könnt.AAABER: Wie genau würdest du dieses Skript denn einbauen wollen?
Der gruselige von Besuchern getriggerte Pseudo-Cronjob ist dafür i.m.h.o absolut nicht geeignet... -
Und er sollte auch auf manuell gestellt werden können, da wir viel über die API machen und beim Update auf 3.1 z.B. sich ein paar Sachen geändert hatten, die dann Teile unserer HP nicht mehr richtig funktionieren haben lassen.
-
@MichaelG Bin ich offen gesagt dagegen, weil es gibt einfach Leute, die das einspielen von (v.a. sicherheitskritischen) Updates gerne bis zum Sankt-Nimmerleins-Tag verschleppen.
Vielleicht wäre es ein guter Mittelweg, dem Admin im Falle eines Updates eine Mail zu schicken, und nach einer Übergangszeit von z.B. einer Woche ohne Rückmeldung das Update automatisch einzuspielen.Ich finde es auch generell sehr unsauber, dass ohne Rückwärtskompatibilität innerhalb einer Major-Version die API-Semantik geändert wird, sowas sollte nicht passieren! @jmrauen, damit meine ich euch.
-
Habe nochmal darüber nachgedacht: Die Kontrolle sollte beim Kunden bleiben, wir würden nicht bei denen automatisch ohne dass sie es wünschen Updates einspielen.
Da Ihr es so gut gelöst habt, würde ich dann von festen Integration in ChurchTools absehen. Wer es haben möchte, kann sich das dann ja einfach selbst einrichten. -
@jmrauen Also mit einer Funktion das selbst zu Triggern fände ich das schon gut. Wie z.B. bei Wordpress. Da klick ich einmal auf und muss nicht mit FTP Client und Drag and Drop arbeiten
-
Wir haben eine neue Version unseres Auto Updaters veröffentlicht:
https://github.com/dennis-eisen/CT_AutoUpdaterDiese erkennt jetzt auch inkonsequente Versionnummern (z.B. 3.11b).
Außerdem erkennen wir die Notwendigkeit eines Updates nicht mehr an der hinterlegten Versionsnummer inconstants.php
sondern am Filedate derconstants.php
. Somit sind wir nicht mehr auf eine konsequente Anpassung der Versionsnummer von Seitens der ChurchTools Entwickler angewiesen.@jmrauen Warum ist das aktuelle Update - 3.11b - nicht in der
constants.php
zu finden. Laut dieser ist immer noch die Version 3.11 installiert? -
Guter Hinweis, werden wir nächstes Mal berücksichtigen. Bisher gab es kein Auto-Updater:)
-
Hi,
Ich finde dieses Tool wirklich klasse, ich wollte nur fragen, ob ihr es noch ein bischen erweitern könntet:
-> automatischen DB Dump von churchtools anlegen (@jmrauen gibt es da eine API in CT wie man den dump über dieses php skript anstossen könnte? Den dump braucht man, falls was beim update schief läuft.
-> alle heruntergeladenen zip + dumpfiles sollen archiviert werden am server.manualUpdate.php
updateNotifier.php
-> es wäre auch cool zusätzlich zwei andere Tools für nicht so abenteuer freundliche autoupdate zu haben, wo man nur notifieziert wird als CT Admin (nicht das email dass an die bei CT registrierte person geht), falls ein update verfügbar ist. Dann rufe ich die url zu manaulUpdate.php auf, dort finde ich infos wie,- welches update is verfügbar
- link zu den release notes
- 'Perform update' button -> dann wie gehabt das autoupdate ausführen
restorePreviousRelease.php
- Über diesen link, könnte man ein beliebige vorher gespeicherte Version (CT_Version + dump) wieder herstellen.
Was denkt ihr?
-
@tomzi Deinen Vorschlag zu den DB-Dumps finde ich gut. Diesen werde ich auch im eigenen Interesse zeitnah einpflegen (sollte keine große Schwierigkeit darstellen).
Deinen zweiten Vorschlag zu den manuellen Updates finde ich an sich auch gut, leider fehlt mir für diese Umsetzung die Motivation. Von unserer Seite aus benötigen wir diese Funktionalität nicht und daher werde ich dies wohl auch nicht umsetzen.
-
Kann es sein, dass der Auto Updater nicht mehr funktioniert?
Ich hab auch einen Fehler, an dem es vermutlich liegt. es gibt garkeine ".zip" Datei mehr in dem Verzeichnis aus dem er das update laden will. Das ist jetzt eine .tar.gz -
@merhard sagte in Church Tools - Auto Updater:
Kann es sein, dass der Auto Updater nicht mehr funktioniert?
Ich hab auch einen Fehler, an dem es vermutlich liegt. es gibt garkeine ".zip" Datei mehr in dem Verzeichnis aus dem er das update laden will. Das ist jetzt eine .tar.gzJa, liegt an der .tar.gz die sonst immer eine .zip war. Außerdem war bei 3.18.1 update nicht ein 'churchtools' ordner gepackt, sonder ein 'churchtools-3.18.1', was den nächsten Fehler verursachen würde.
@jmrauen: Könnt ihr das immer als zip gepackten "churchtools" Ordner hochladen? Oder muss das script hier auf mehrere Varianten angepasst werden?
:thorsten
-
Ab sofort gibt es eine neue Version (2.0) unseres Church Tools - Auto Updater:
https://github.com/dennis-eisen/CT_AutoUpdater/releases/tag/2.0Bei Fragen oder Problemen dürft ihr euch gerne an uns wenden.
Wir haben den Updater um folgende Funktionen erweitert:
- implemented ".tar.gz" support
- added push notification
- added locking (to prevent concurrent update)
-
Das mit Pushbullet hättet ihr auch gerne erklären dürfen. Dazu steht nix in der Readme und auch hier wird es nicht erklärt.
Und dann kommt da ein komischer fehler, wenn man die push.inc.php einfach mit hochlädt.
-
@merhard In der
push.inc.php
(Zeile: 16-23) ist alles Wissenwerte zu Pushbullet erklärt:Pushbullet, put in your own credentials below and set service to "true" if needed
Our pushbullet integrations requires the pushbullet libary of ivkos:
https://github.com/ivkos/Pushbullet-for-PHP
Import the Pushbullet libary into the root of your webspace,
if you want to use this service and remove the hastag from the subsequent line.Solltest du die Push-Benachrichtigungen nicht benötigen, musst du einfach die Datei
push.inc.php
nicht mit hochladen, bzw. wieder löschen. Unser Skript erkennt dies automatisch und es sollte kein Fehler ausgegeben werden. Eigentlich dürfte aber auch kein Fehler ausgegen werden, wenn du diepush.inc.php
trotzdem mit hochgeladen hast. Ich werde mir das anschauen.Danke aber trotzdem für den Hinweis, ich werde dies auch in die Readme einpflegen und noch ein wenig erweitern.
Soweit nun alles klar?
-
Jupp, danke. Alles klar.
-
Hallo,
seit heute Abend bekomme ich leider folgendes angezeigt:"### ChurchTools - Auto Updater ###
No valid ChurchTools 3 download found in HTML!"Bisher hat immer allers funktioniert. Das Update von 3.22.1 auf 3.22.2 lief noch. Von 3.22.2 auf 3.22.3 will er nun nicht. Ideen?
-
Kann den Fehler leider nicht bestätigen... Bei uns funktioniert es tadellos, das HTML ist korrekt.
Vielleicht war der SeaFile-Server vorübergehend offline oder so? -
Also ich kann das nicht bestätigen. Das Update auf 3.22.4 macht er auch nicht; gleiche Meldung. Der SeaFile-Server lässt sich problemlos abrufen...und wenn ich dann unmittelbar die Update.php aufrufe, kommt dann diese Meldung....