Seit der Contao Konferenz gibt es gefühlt nur noch ein Thema. Wie migriert ich von Contao 3.5.X zu Contao 4.4.X. Auch wenn es noch andere Fragen auf der FrOSCon gab, so war dieses das vorherrschende Thema. Leo Feyer hat auf der Contao Konferenz 2017 in seiner [Keynote](https://leofeyer.de/files/slides/2017/konferenz/#13) gezeigt wie es geht. Die Probleme fangen aber ganz wo anders an:
Auf dem MacBook setzen die Nutzerinnen und Nutzer oft [MAMP](https://www.mamp.info) ein. Wenn man dort nur ein Verzeichnis für alle Installationen hat, führt das bei Contao 4.4 zu Problemen mit den Routen.
Tipp: Für jede Contao 4.4 Installation eine eigene VirtualHost Konfiguration anlegen (``localhost``) und das Webverzeichnis (``root-dir``) auf den Web-Verzeichnis der Installation legen.
Dann kann man wie von Leo beschrieben die Installation und Migration durchführen.
[u]Stolpersteine:[\u]
- Layout oder Bilder werden nicht richtig angezeigt, hier muss man in Contao 4 noch den Ordner im Dateimanager öffentlich machen. Da sonst der Webserver nicht auf die Dateien zugreifen kann.
- Wer angepasste Templates hat, muss diese natürlich auch kopieren.
Was wäre aber Contao ohne seine Erweiterungen. Mit über 45000 Installationen sicher eine der häufigsten installierten Erweiterungen neben DB-Backup.
Leider hat Christian de la Haye die Erweiterung noch nicht für Contao 4.4 freigegeben, Heimrich & Hannot GmbH hat die Erweiterung geforkt und dann für Contao 4.4 freigeben, den Fork kann man über den Contao Manager installieren.
Erweiterungen die nicht über den Contao Manager installiert werden können, kann man in den Ordner system/modules kopieren.
[b]Achtung:[\b] den Cache leeren im Contao Manager.
[b]Tipp:[\b] Bei der Migration in den Entwickler-/Developermodus umstellen. Wer den Apache als Webserver hat. Einfach in der ``.htaccess`` im Web-Verzeichnis von ``app.php`` auf ``app_dev.php`` umstellen.
Jetzt zur Herausforderung einen Shop zu migrieren:
[Isotope eCommerce](https://isotopeecommerce.org) läuft unter Contao 4.4, jedoch was ist bei einem Update zu machen?
Für [beauty-welt.at]() habe ich das auf der FrOSCon dann mal durchgespielt:
- Contao 4.4 installiert
- Installation der Erweiterungen ''googlemaps'' und ''isotope''
- Kopieren der Ordner ''files'' und ''templates''
- Datenbank aktualisieren (habe die gleiche Datenbank genommen, da es eh das Testsystem war)
- Files-Ordner freigegeben
- Kopieren des Ordners ''isotope'' in das Stammverzeichnis (wegen den Bildern)
> Beim dem Update der Datenbank wurden die eigenen Attribute zum löschen gekennzeichnet. Hier muss man aufpassen bis es eine Lösung gibt, oder legt diese in einer DCA an.
[b]Tipp:[\b] Die ``dcaconfig.php`` gar nicht erst wieder in Contao 4 zu verwenden, stattdessen in ``app/config/dca`` eine Datei mit dem entsprechenden Tabellennamen zu verwenden. Für die Attribute in Isotope wäre das ``app/config/dca/tl_iso_product.php``
[b]Beispiel:[\b]
[php]
$GLOBALS['TL_DCA']['tl_iso_product']['fields']['hersteller'] = array (
'label' => &$GLOBALS['TL_LANG']['tl_iso_product']['hersteller'],
'exclude' => true,
'search' => true,
'sorting' => true,
'inputType' => 'text',
'eval' => array('mandatory'=>true, 'tl_class'=>'w50'),
'attributes' => array('legend'=>'general_legend', 'fe_sorting'=>true, 'fe_search'=>true, 'singular'=>true),
'sql' => "varchar(128) NOT NULL default ''",
);
[\php]
Links zu Migrationstipps:
- [in einer DCA die Rechte prüfen](https://gist.github.com/BugBuster1701/5009577)
- [Forum](https://community.contao.org/de/show...x-auf-Contao-4)
- [Video - Contao 4 installieren und bestehende Installationen migrieren ](https://www.youtube.com/watch?v=rwC8xfdO3Ao)
- [Video - Keine Angst vor Contao 4](https://www.youtube.com/watch?v=UZBwAqmBopY)