Hi zusammen,
kann mir jemand sagen, welche update.php beim Addon Update per Installer Addon ausgeführt werden sollte? Die vom neu heruntergeladenen Package oder die noch installierte aus dem vorhandenen Package?
Warum stelle ich diese Frage? Mein neues Addon d2u_helper sollte beim Update des Addons aktualisierte Module automatisch aktualisieren. In der alten update.php Version wurde eine entsprechende Meldung per rex_view ausgegeben, in der neuen nicht mehr. Beim Update auf mehreren Seiten wird beim installieren der neuen Version nun die Meldung ausgegeben. Ist das richtig so?
Außerdem würde ich beim Ausführen der Datei update.php gerne gerne auf die Dateien des neu heruntergeladenen Addons zugreifen und diese in die Datenbank einspielen. Aber: auch hier werden nur die alten Dateien in die DB eingespielt?!
Liebe Grüße,
Tobi
Hallo,
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
-
- Beiträge: 500
- Registriert: 2. Okt 2006, 23:16
- Wohnort: Lörrach
- Kontaktdaten: Website
- Gregor.Harlan
- Entwickler
- Beiträge: 1130
- Registriert: 4. Jun 2007, 10:35
- Wohnort: Frankfurt am Main
Re: Addon Update - welche update.php wird ausgeführt?
Es wird die neue ausgeführt, die alte würde ja keinen Sinn ergeben.
Mit der rex_view-Meldung klingt kurios.
Mit den alten Dateien kann ich hingegen eventuell erklären.
Denn wichtig zu wissen ist, dass während der Auführung der update.php, das neue Addon noch in einem temporären Ordner liegt. Die rex_path-Funktionen etc. zeigen somit noch auf das alte Addon.
In der update.php sollte man daher mit __DIR__ arbeiten, wenn man auf die neuen Dateien zugreifen will.
Erst wenn die update.php erfolgreich durchlaufen wurde, wird das alte Addon gelöscht, und der Ordner des neuen umbenannt.
Vorher liegt das Addon in redaxo/src/addons/.new.foo, wenn das Addon "foo" heißt.
Mit der rex_view-Meldung klingt kurios.
Mit den alten Dateien kann ich hingegen eventuell erklären.
Denn wichtig zu wissen ist, dass während der Auführung der update.php, das neue Addon noch in einem temporären Ordner liegt. Die rex_path-Funktionen etc. zeigen somit noch auf das alte Addon.
In der update.php sollte man daher mit __DIR__ arbeiten, wenn man auf die neuen Dateien zugreifen will.
Erst wenn die update.php erfolgreich durchlaufen wurde, wird das alte Addon gelöscht, und der Ordner des neuen umbenannt.
Vorher liegt das Addon in redaxo/src/addons/.new.foo, wenn das Addon "foo" heißt.
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!
-
- Beiträge: 500
- Registriert: 2. Okt 2006, 23:16
- Wohnort: Lörrach
- Kontaktdaten: Website
Re: Addon Update - welche update.php wird ausgeführt?
Hi Gregor,
das hilft mir schon mal sehr. Danke für die schnelle Antwort. Wenn ich in der neuen update.php per Autoloader eine Klasse aus dem neuen Package aufrufen möchte, geht das überhaupt? Oder wird dann die alte Klasse aufgerufen?
Liebe Grüße,
Tobi
das hilft mir schon mal sehr. Danke für die schnelle Antwort. Wenn ich in der neuen update.php per Autoloader eine Klasse aus dem neuen Package aufrufen möchte, geht das überhaupt? Oder wird dann die alte Klasse aufgerufen?
Liebe Grüße,
Tobi
- Gregor.Harlan
- Entwickler
- Beiträge: 1130
- Registriert: 4. Jun 2007, 10:35
- Wohnort: Frankfurt am Main
Re: Addon Update - welche update.php wird ausgeführt?
Die alte. Vor allem kann es ja auch sein, dass sie sowieso schon geladen wurde.
Aber auch allgemein berücksichtigt der Autoloader nicht den lib-Ordner im temporären Addon-Pfad.
Übrigens wird die update.php auch ausgeführt, wenn das Addon installiert, aber nicht aktiviert ist. Dann werden die Klassen sowieso nicht geladen.
Somit sollte man vermeiden, die Addon-Klassen in der update.php zu verwenden.
Aber auch allgemein berücksichtigt der Autoloader nicht den lib-Ordner im temporären Addon-Pfad.
Übrigens wird die update.php auch ausgeführt, wenn das Addon installiert, aber nicht aktiviert ist. Dann werden die Klassen sowieso nicht geladen.
Somit sollte man vermeiden, die Addon-Klassen in der update.php zu verwenden.
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!
-
- Beiträge: 500
- Registriert: 2. Okt 2006, 23:16
- Wohnort: Lörrach
- Kontaktdaten: Website
[GELÖST] Re: Addon Update - welche update.php wird ausgeführ
Lieber Gregor,
danke für deine Tipps. Die Updategeschichte konnte ich mit dem ".new." Verzeichnis lösen. Die rex_view Nachrichten wurden aus den Dateien des alten Addon Verzeichnisses aufgerufen. Es wurde und wird die korrekte update.php aufgerufen.
Danke für die Hintergrundinfos!
Liebe Grüße,
Tobi
danke für deine Tipps. Die Updategeschichte konnte ich mit dem ".new." Verzeichnis lösen. Die rex_view Nachrichten wurden aus den Dateien des alten Addon Verzeichnisses aufgerufen. Es wurde und wird die korrekte update.php aufgerufen.
Danke für die Hintergrundinfos!
Liebe Grüße,
Tobi