Ich werde es anpassen... in den naechsten Tagen werde ich zeit dafuer finden!
Druckbare Version
Ich werde es anpassen... in den naechsten Tagen werde ich zeit dafuer finden!
Kannst du bitte den Titel dieses Threads noch ändern ("… einfacher") – das stört mich jedesmal ;). Danke!
kurze Nachfrage, hat es einen speziellen Grund warum deine tolle Erweiterung noch nicht für 2.8.1 freigegeben wurde?
Ich habs gerade gemacht, hat ohne Probleme funktioniert, allerdings war es nur der Core, bisher habe ich noch keinen speziellen Erweiterungen im Einsatz.
Bei mir scheint es Probleme mit dem update von der 2.7.6 auf 2.8.1 zu geben.
Im ersten Schritt erhalte ich die Meldung:
Im 2ten Schritt wird bei einigen Verzeichnissen und Dateien das erste Zeichen entfernt. Bis tinyMCE ist alles noch ok, aber ab dann fehlt das erste Zeichen.Zitat:
Changelog zwischen der Version X.X.X und 2.7.6
Der Changelog ist leider nicht lesbar. Weitere Informationen zu den Änderungen können Sie auf der TYPOlight-Homepage (https://contao.org/) nachlesen.
Der Schritt 3 überspringt alle Dateien wegen angeblichen Fehlens.Zitat:
...
# tinyMCE/utils/mctabs.js
# tinyMCE/utils/validate.js
# onfig/.htaccess
# onfig/config.php
# onfig/countries.php
...
Wenn ich den nächsten Schritt ausführe, werden mir die Verzeichnisse, bei denen das erste Zeichen fehlt, auch so hochgeladen.Zitat:
...
# Übersprungen: calendar/css/calendar.css (File calendar/css/calendar.css does not exist)
# Übersprungen: calendar/css/calendar_src.css (File calendar/css/calendar_src.css does not exist)
# Übersprungen: calendar/js/calendar.js (File calendar/js/calendar.js does not exist)
# Übersprungen: calendar/js/calendar.js.gz (File calendar/js/calendar.js.gz does not exist)
# Übersprungen: calendar/js/calendar_src.js (File calendar/js/calendar_src.js does not exist)
# Übersprungen: calendar/media/calendar-hilite.gif (File calendar/media/calendar-hilite.gif does not exist)
...
Woran kann das liegen?
Ich werde mich heute dem problem annehmen und die Erweiterung sofern alles funktioniert auch fuer die hoeheren versionen freigeben.
edit: Version 0.8.5 rc3 ist raus. Sollte eigentlich dann mal der letzte rc sein. Habe das update von der version 2.7.8 auf die 2.8.1 getestet und es lauft ohne probleme. Wenn weiterhin da weiterhin ein problem bestehen dann meld dich einfach mal bei mir.
Bei mir wurde easyupdate in den TL-System-Ordner installiert :) Kannst du das bitte nochmal prüfen.
Hab mich schon gewundert, das es nicht mehr im Backendmenü erschien nach dem Update.
Das ist hier auch passiert (unter 2.7.6). Musste den Ordner "easyupdate" von system/ nach modules/ verschieben damit es wieder funktioniert. Danach hat das Update von 2.7.6 nach 2.8.1 auch funktioniert.
Gibt das jetzt irgendwelche Probleme das ich den Ordner verschoben habe? Erweiterungsverwaltung, Aktualisierung der Erweiterung etc... Muss ich noch irgendwo etwas anpassen nachdem ich den Ordner verschoben habe? Es funktioniert ja aber ich hätte das gerne "ordentlich" um später keine Probleme zu bekommen. Steht diese Erweiterung noch irgendwo drin und muss den "neuen" richtigen Pfad bekommen?
Vielen Dank. Update hat geklappt.
Ich fände es aber gut, wenn der Ordner "easyupdate" unter tl_files schon mit angelegt werden würde.
[Anmerkung Moderation: Die Beiträge bzgl. Probleme mit dem Install-Tool Passwort wurden in dieses Thema ausgelagert]
Habe soeben ein Entwicklungsweb von 2.8.1 auf 2.8.2 mit diesen Tool geupdated. Hat gut geklappt bis auf die Tatsache, dass die vom Update ausgeschlossene localconfig trotzdem überschrieben wurde.
Hast ja so schön reingeschrieben "auf eigene Gefahr". Wichtig hauptsächlich für Anfänger: Macht vorher selbst ein Backup, nicht nur von der Datenbank, sondern auch von (zumindest den wichtigsten) Dateien - das macht das Leben leichter ;-)
bei mir hats geklappt, zumindest funktioniert das System noch :).
Zur Anmerkung ich benötige keine SMH (falls das wichtig sein sollte).
Hab gerade per easyUpdate auf Contao 2.9 beta1 upgedatet, klappte ohne Probleme.
Die Frage ist nur, ob man die Cantao beta dann auch auf die stable updaten kann ?!
Ich gehe mal davon aus das dies geht, aber der schritt von stable auf stable ist wohl der der am ehesten supportet wird.
Geh erst einmal von NEIN aus (auch wenns später doch gehen sollte.. das ist dann Glück).
Es ist eine BETA. Diese ist für Testzwecke da und zum feststellen von Bugs. Es geht nicht darum damit schon mal anzufangen und dann mit einem Update eine Seite live zu schalten. Es kann sich also noch sehr viel tun. Und nur mit dem Update von vorherigen Versionen wird ein Umstieg auf die neue 2.9 Stable sicher funktionieren.
Das war auch schon bei 2.8 so angekündigt.
Viele Grüße
Hab heute eine Intranetseite mit easyupdate auf den Stand 2.8.3 gebracht. Dabei hab ich alle *config vom update ausgeschlossen.
War das so richtig??? ist in den *config-Dateien nichts wichtiges verändert worden?
Muss dann bei den Erweiterungen bei diesem Update etwas beachtet werden??
Danke schonmal im Vorraus...
Hab gestern eine Seite upgedatet und dann hats mir auch gleich die pagination.php wieder umgeschrieben. Kann ich das irgendwie verhindern? oder ist es dann ratsam immer wieder die *.php-Datei zu ändern?
In den config Files werden Installationsspezifische Daten eingetragen diese werden benötigt damit überhaupt Contao weiß wo sich die DB befindet etc.
Wenn sich dort etwas ändern sollte dann würde es ziemlich schwer werden upzudaten.
Du kannst also davon ausgehen das sich in den config Files nichts ändern.
Also hab da schonmal alles richtig geacht:D
Wie machst du dann das bei *.php-Dateien die du geändert hast? um die nicht bei jeder Version wieder neu umzuschreiben?
An den Core Files einfach nichts ändern :D
Die Notwendigkeit hatte ich noch nicht, bisher konnte ich alles über Templates oder Eintragungen in localconfig, langconfig oder dcaconfig anpassen.
wie bugbuster schon sagt nichts dran ändern, Änderungen wie zB Sprachanpassungen gehören deshalb in die config/langconf.php für andere anpassungen wie zB standardmäßig einen artikel veröffentlichen gehört in config/dcaconf.php. Diese kannst du dann eh ausschließen.
Ach,.. dann hab ich das wohl bischen falsch angelegt.
Hab im alten Forum (vielleicht find ich den Link noch) irgendwann eine Anpassung der Pagination.php umgesetzt, dass diese dann horizontal angezeigt wird. Aber das ist dann wohl nicht updatesicher. hättet ihr nen Link für mich, wo ich das sehn kann wie ich es richtig machen kann?
wenn es darum geht das diese horizontal dargestellt wird dann mach das über css mittels float:left bzw. display: inline.
Du hast recht, hat mich der Kollege au gerade gerügt.
aber wie mach ich das wenn ich in der ContentDownloads.php was geändert habe.
Haben da noch infos der Datei hinzugefügt. Wie kann ich das updatesicher machen???
Oder steht das au irgendwo im Buch?
Hallo Mark,
Dazu musst Du Dir eine kleine eigene Extension schreiben, die Du in system/modules unterbringst. Im folgenden Beispiel gehe ich davon aus, dass Du nur die Mehtode ContentDownloads::compile() im Core verändert hast. Zunächst legst Du Dir das Extension-Verzeichnis an: system/modules/extended_downloads. Da kommt dann diese PHP-Datei rein, die im Wesentlichen eine Kopie Deiner gepatchten Version von ContentDownloads.php ist:
Damit TL nun weiß, dass es Deine erweiterte Version benutzen soll legst Du noch das Unterverzeichnis config an und darin die Datei config.php:PHP-Code:
<?php if (!defined('TL_ROOT')) die('You can not access this file directly!');
// This is system/modules/extended_downloads/ExtendedContentDownloads.php
/**
* Erweiterte Downloads.
*
* Wir erben alles von der Core-Klasse ContentDownloads und überschreiben
* nur die Methode compile() mit unserer erweiterten Version
*/
class ExtendedContentDownloads extends ContentDownloads
{
/**
* Template
* @var string
*/
protected $strTemplate = 'ce_downloads';
/**
* Generate content element
*/
protected function compile()
{
// Deine gepatchte Version der Methode
...
}
}
?>
Das sollte es gewesen sein (im Core muss natürlich die ungepatchte Original TL Version von ContentDownloads.php sein).PHP-Code:
<?php if (!defined('TL_ROOT')) die('You can not access this file directly!');
// This is system/modules/extended_downloads/config/config.php
/**
* Content elements.
*
* Wir wollen unsere erweiterte Downloads-Klass statt der Core-Klasse benutzen:
*/
$GLOBALS['TL_CTE']['files']['downloads'] = 'ExtendedContentDownloads';
?>
Falls Du mehr als compile() gepatcht hast, musst Du das Beispiel sinngemäß anpassen. Vermutlich hast Du ja ein angepasstes Template, das zum erweiterten Code passt. Das kannst Du jetzt in ein Unterverzeichnis 'templates' Deiner Erweiterung packen, gib dem tpl einen anderen Namen, z.B. 'ce_downloads_ex' und ändere konform die Variable protected $strTemplate. Und falls Du noch nationalisierbare Strings hinzugefügt haben solltest, dann musst Du die im Unterverzeichnis languages/de bzw. en des Cores extrahieren und sinngemäß in passende Unterverzeichnisse/Dateien in Deiner Extension übertragen.
LG, Georg
muss dann noch etwas in diese dcaconfig.php eingetragen werden?
Moin,
soweit ich weiss, nicht.
Probier/trau Dich doch mal!
Mache vorher Backups aller betroffenen Dateien, dann kannst Du den existierenden Zustand ja leicht wiederherstellen.
Und wenn Du Probleme/Erfolg hast, dann schreibst Du bitte hier (statt PM), damit alle etwas davon haben, besonders bei Erfolg.
LG, Georg
Steig leider immer noch nicht ganz durch.
Dies ist meine Änderung die ich bei Zeile157 in der Datei ContentDownloads.php gemacht habe.
Jetzt soll das im FE so aussehn wie im Anhang. Also Template ist au leicht angepasst.PHP-Code:
$files[$file . '/' . $subfile] = array
(
'link' => $arrMeta[0],
'title' => $arrMeta[0],
'href' => $this->Environment->request . (($GLOBALS['TL_CONFIG']['disableAlias'] || strpos($this->Environment->request, '?') !== false) ? '&' : '?') . 'file=' . $this->urlEncode($file . '/' . $subfile),
'caption' => $arrMeta[2],
'filesize' => $this->getReadableSize($objFile->filesize, 1),
'icon' => 'system/themes/' . $this->getTheme() . '/images/' . $objFile->icon,
'meta' => $arrMeta
);
$auxDate[] = $objFile->mtime;
}
Wie weiß jetzt aber typolight/contao, dass ich diese Änderung so nicht überschrieben haben will.
Hau ich da wieder die ganze ContentDownloads.php oder nur das Teilstück?? sonst überschreib ich ja die ganze "neue" ContentDownloads.php komplett oder?
Danke für eure Mühe auch wenn ich mich wieder ganz doof anstelle...aber ich will ja lernen :D
Hallo mark,
Also, ich kann in Deinem Code keinerlei Unterschied zum TL 2.8.3 Original erkennen ...
Nein, ein Teilstück einer Methode allein kannst Du nicht verändern, die feinste Granularität ist das Überschreiben einer kompletten Methode, in Deinem Fall compile(). Ich beschreibe es noch mal etwas anders: Du setzt Deine Mini-Erweiterung so auf, wie oben geschildert. Die Methode compile() kopierst Du zunächst komplett aus dem TL Original. Dann bringst Du Deine Änderungen/Patches in der Kopie in Deiner Erweiterung an, statt im Original.
Das ist dann update-sicher insofern, als eine neue Version von TL ja Deine Erweiterung nicht überschreibt, sie jedoch statt des TL-eigenen Codes nutzt, weil Du TL dazu angewiesen hast (durch den Eintrag in config.php). Falls sich ContentDownloads.php in TL jedoch entscheidend geändert hat (wie z.B. von 2.7.5 auf 2.8.3), dann solltest Du auch Deine Erweiterung entsprechend anpassen, sonst nutzt TL immer noch alten Code und Du verpasst eventuelle Bug-Fixes.
Noch eine Variante, die man manchmal nutzen kann: man ruft in der eigenen Methode zunächst die Methode der Superklasse auf und verändert dann nur das Ergebnis nach Wunsch. Im Fall von ContentDownloads::compile() wird das Ergebnis ja in $this->Template->files abgelegt. Dann könnte man eventuell so vorgehen:
Auf diese Art benutzt Du immer die aktuelle Funktionalität der jeweiligen TL Version und musst dann in der Regel nichts mehr manuell nachführen.PHP-Code:
/**
* Generate content element
*/
protected function compile()
{
// Methode der Superklasse aufrufen, Ergebnis steht in $this->Template->files
parent::compile();
// Ergebnis verändern. ACHTUNG: CODE IST NICHT GETESTET!
$extended_files = array()
foreach ($this->Template->files as $file)
{
$path = TL_ROOT . '/' . rawurldecode(preg_replace('/^.*file=/', '', $file['href']));
$objFile = new File($path);
$file['extension'] = $objFile->extension;
$file['mtime'] = $this->parseDate($GLOBALS['TL_CONFIG']['dateFormat'], $objFile->mtime);
$extended_files[] = $file;
}
$this->Template->files = $extended_files;
}
LG, Georg
Hallo,
Hab mit easyupdate eigentlich erfolgreich von der Version 2.6 auf die aktuelle 2.8.3 upgedatet.
Leider funktioniert bei der Dateiverwaltung der fancyupload nicht, also ist immer noch so wie bei der alten Version.
Muss ich da noch etwas machen?
reden wir hier von der Erweiterung fancyupload oder die im Backend?
oh sorry,
ja ich meine natürlich die im Backend...
Anhang 2187
In den Benutzereinstellungen sollte sich eine Checkbox befinden welche den uploader deaktiviert bzw aktiviert.
Was ist bei dir dort drin?
ich sehe nämlich gerade das bei meiner Installation 2.8.3 der Uploader nicht vorhanden ist und es die oben erwähnte checkbox gar nicht gibt. Werde mir das heute Abend mal genauer anschauen müssen.
Bei den Einstellungen ist nichts zu finden. meinst ja bei den inaktiven Erweiterungen oder?
Hab eine Seite mit dem Liveupdate gemacht. Da ist der Upload im Backend jetzt mit dem Fancyupload.
und Die Seiten die ich mit easyupdate gemacht habe ist noch die alte Version, mit der ich jede Datei einzeln anklicken muss.
Ich meine bei den Benutzer Einstellungen, also wenn du oben auf den Benutzernamen klickst dann kommst du in die Benutzereinstellungen, dort sollte es eben so eine Checkbox geben.
Danke schman,
habs jetzt doch gefunden.
Das ist unter den Einstellungen bei Uploads. Da ist das Kästchen FancyUpload aktivieren.
Hab immer an der flaschen Stelle gesucht...
Update von 2.8.3 > 2.9.0 ohne Probleme durchgeführt. :D
Vielen Dank für die Erweiterung.
Viele Grüße
chrisbirne
Hattest du ein Patch-File für das Update oder hast du das komplette genommen?
Ich hätte einen grossen Wunsch für die nächste Version. Wäre es möglich, gewisse Module vom Update auszuschliessen? Manchmal hat man gewisse Module leicht verändert oder gelöscht und möchte sie nicht immer wieder verändern oder wieder löschen. Ich fände cool, wenn man das Feature hinzufügen könnte! Danke! :)
Muss etwas beachtet werden, wenn ich die die von easyupdate erstellten Backups in der Version zurückgehen will?
Also sollte ich dann auch wieder schritt für schritt vorgehn z.B. 2.8.3 -> 2.8.2.->usw. oder könnte ich auch gleich auch z.B. 2.7.X springen????
Update von 2.9.0 auf 2.9.1 erfolgreich durchgeführt. Zumindest soweit ich erkennen konnte :)
Ein Kompatibilitäts-Update hierzu wäre mal nett.
Nur mal eine Frage am Rande wann wird easyupdate offiziell für 2.9 freigegeben.
Bei mir funkt eigentlich alles ganz ordentlich!
Auch eine Frage hab:
Meine private Website schlummert vor sich hin, Version 2.6.irgendwas... Nicht wirklich aktiv, aber ich würd sie bei Gelegenheit trotzdem gerne auf den neusten Stand bringen. Geht das "in einem Rutsch" oder muss ich da Step-by-Step updaten? Oder doch lieber "von Hand" per FTP?
Lokal erfolgreich von 2.8.rc1 auf 2.9.1 geupdated mit der Einschränkung, dass localconfig wiederum überschrieben wurde, was in diesem Fall aufgrund des großen Update-Schritts gut war, denn so bin ich automtatisch über die Install-Seite geleitet worden, um die DB zu updaten. Daten sind, soweit ich feststellen kann, keine verloren gegangen.
Easyupdate aus dem Erweiterungskatalog verschwunden bei 2.9.1??
Nein nur nicht sichtbar, weil nicht kompatibel zur 2.9.1
In den Einstellungen kannst du unter Extension Repository 'Inkompatible Erweiterungen anzeigen' aktivieren.
Ich habe bei meinen Update mit easyupdate alle Dateien mit *config.php vom update ausgelassen. War das richtig so??? Aber dann sind diese ja eigentlich nicht auf dem neuesten Stand. Oder sollten nur bestimmte dateien ausgelassen werden?
Habe bei versch. Projekten mit easyupdate ein Systemupdate gemacht (2.9.0 => 2.9.1).
Hat alles reibungslos geklappt (mit akt. Version von easyupdate).
Nach meiner Erfahrung sollten folgende Dateien vom Update ausgeschlossen werden:
- dcaconfig.php
- langconfig.php
- localconfig.php
Alle anderen können bei einem Update überschrieben werden.
Aber Vorsicht! Nicht bei allen Erweiterungen klappt das so einfach.
Am besten man hat immer eine Testumgebung
Ich komme darauf, weil von z.B. typolight 2.6.3 bis jetzt contao 2.9.1 hat sich doch auch in den config-files einiges geändert oder?
sollte sowas dann verglichen und dann händisch eingetragen werden???
Oder kann das getrost ungeachtet bleiben?
Ja also die config.php muss auf jeden Fall beim Update überschrieben werden.
Allerdings habe ich noch keinen Versuch unternommen Version 2.8.x auf Version 2.9 zu aktualisieren.
Das ist wohl nicht ohne zusätzliche manuelle Eingriffe (z.B. Anpassung von fe_page.tpl) machbar ...
Bist du dir da sicher?? In der config.php sind doch meine ganzen Datenbank-Angaben und zeug gespeichert...
Im 3. Beitrag beschreibt doch der Kollege schon, dass er es ausgeschlossen haben will.
Die config.php bringt default Angaben mit.
Alles was davon abweicht und zusätzliche Angaben kommen in die localconfig.php. (DB, Pfade, ...)
Von daher, die config.php per Hand nie anfassen! Immer in die localconfig.php.
Somit ist klar, das die config.php überschrieben werden kann und muss, es könnten ja neue defaults auftauchen.
Hallo BugBugster,
also ich hatte folgende Dateien ausgeschlossen:
config.php --> darf überschrieben werden
dcaconfig.php --> ??
initconfig.php --> ??
langconfig.php --> ??
localconfig.php --> ??
wie sieht es mit den anderen aus???
dcaconfig.php -> If you want to modify a data container file ...
initconfig.php -> Here you can add custom initialization routines ...
langconfig.php -> If you want to modify a language file ...
localconfig.php -> Speicherung aller Angaben der Installation bzw. der Einstellungen!
Solange man in den oberen 3 Dateien nix zusätzlich (manuell) eingetragen hat,
kann man diese auch bei jedem Update überschreiben.
Einzig die localconfig.php MUSS vom Update ausgeschlossen werden.
Alles klar. Danke.
Man lernt nie aus....:cool:
Nur noch mal als kleine Gedankenstütze eine Kurzanleitung zum Thema Update allgemein:
Wie man Contao manuell aktualisiert
Außerdem habe ich heute ein Update mit easyupdate gewagt:
Das Update von Typolight 2.8.3 zu Contao 2.9.1 war erfolgreich.
Ich bin begeistert :)
Natürlich habe ich vorher ein Backup gemacht ;-)
Erfolgreich, schnell und völlig problemlos mit Easyupdate von 2.6.7 auf 2.9.1 aktualisiert.
Die einzig aufgefallene Winzigkeit: Das Fenster, das die Changelogs der alten und neuen Version zeigen oder vergleichen sollte, ist leer geblieben.
Gruß,
Anke
Hat jemand easyupdate von 2.9.1 -> 2.9.2 probiert?
Ja hab ich. Kein Problem aufgetaucht :)
Dabei aber unbedingt über die install.php gehen, da ist eine DB Anpassung/Migration dabei.
Danach oder? Also erst updaten lassen, dann die install.php aufrufen? ;)
Sorry mein Fehler, easyupdate macht das ja selber, der lenkt ja um zur install.php.