[Anmerkung Moderation: Die Beiträge bzgl. Probleme mit dem Install-Tool Passwort wurden in dieses Thema ausgelagert]
[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
Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
[Arbeitet bei -> Paus Design & Medien]
"I can EXPLAIN it to you, but I can't UNDERSTAND it for you."
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...
Geändert von kischd (09.06.2010 um 07:17 Uhr)
Gruß Mark
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?
Gruß Mark
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
Wie machst du dann das bei *.php-Dateien die du geändert hast? um die nicht bei jeder Version wieder neu umzuschreiben?
Gruß Mark
An den Core Files einfach nichts ändern
Die Notwendigkeit hatte ich noch nicht, bisher konnte ich alles über Templates oder Eintragungen in localconfig, langconfig oder dcaconfig anpassen.
Grüße, BugBuster"view source" is your guide.Danke an alle Amazon Wunschlisten Erfüller
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?
Gruß Mark
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?
Gruß Mark
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?
Gruß Mark
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
Gruß Mark
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?
Gruß Mark
reden wir hier von der Erweiterung fancyupload oder die im Backend?
Kein Privat Support via PM.
oh sorry,
ja ich meine natürlich die im Backend...
upload.jpg
Geändert von kischd (28.06.2010 um 09:30 Uhr)
Gruß Mark
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.
Kein Privat Support via PM.
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.
Gruß Mark
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.
Kein Privat Support via PM.
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...
Gruß Mark
Update von 2.8.3 > 2.9.0 ohne Probleme durchgeführt.
Vielen Dank für die Erweiterung.
Viele Grüße
chrisbirne
--- Lasercut24 ---
Hattest du ein Patch-File für das Update oder hast du das komplette genommen?
Gruß Mark
--- Lasercut24 ---
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????
Gruß Mark
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!
Mfg Patrick
There's only ONE Chance for the first Impression.
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?
Freundliche Grüsse
Martin
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.
Aktive Benutzer in diesem Thema: 4 (Registrierte Benutzer: 0, Gäste: 4)