| Joomla Update Odyssee von 1.0 zu 1.5 |
|
|
|
| Written by Nicolas Ruflin |
| Wednesday, 13 April 2011 22:08 |
|
Auf meinem Blog herrschte nun für mehr als 1 Jahr Funkstelle. Dafür gibt es diverse Gründe. Einer der Hauptgründe aber ist wohl, dass ich schon seit mehr als einem Jahr die Joomla Migration von 1.0 zu 1.5 machen wollte. Dies war leider eine längere Odysee. Daher hier kurz eine Übersicht dazu mit einigen zusätzlichen Tipps zur Migration. Grundsätzlich wollte ich 4 Dinge migrieren:
Nach mehreren Fehlversuchen musste ich feststellen, dass ich die URLs wohl vergessen kann. Ich habe irgend ein altes Zusatzplugin verwendet, das es in 1.5 gar nicht mehr gibt. Das heisst, nun konnte ich mich auf die restlichen drei konzentrieren. Um die Migration zu testen hatte ich mir eine lokale Kopie der MySQL DB und aller files erstellt, welche bei mir unter ruflin.dev lief. Zu meinem Erstaunen war die JoomGallery das einfachste. Ich installierte eine komplett neue Version von Joomla 1.5, kopierte alle JoomGallery files ins Verzeichnis von 1.5, kopierte die entsprechenden DB Tabellen in die neue DB und installierte die neue JoomGallery in 1.5. Die Migration wurde automatisch gemacht und klappte ohne Probleme. Ich probierte den Migration Assistent zur Migration von 1.0 zu 1.5. Leider scheiterte ich aber mehrfach. Anscheinend habe ich über die letzten Jahren zu viele Hacks in meine Joomla Version installiert. Bei der Migration hatte ich Massenhaft Fehler, obwohl ich die Struktur von diversen Tabellen angepasst hatte. Schlussendlich entschied ich mich für eine manuelle Migration. Ich schrieb ein kleines PHP Skript welches allen Content in die neue DB kopiert. Das klappte, allerdings stimmte anschliessend natürlich das Encoding nicht. Ich hatte schon früher Probleme damit, da ich irgendwann mal meine Tabellen auf utf8 umgestellt hatte. Um den Content sauber zu konvertieren habe ich nun noch folgendes zusätzliches Skript geschrieben:
mysql_connect('localhost', 'name', 'pw');
mysql_select_db('db');
mysql_set_charset('utf8');
$result = mysql_query('SELECT * FROM jos_jcomments');
while ($row = mysql_fetch_assoc($result)) {
if (strpos($row['title'], 'Ã') !== false) {
$title = utf8_decode($row['title']);
} else {
$title = $row['title'];
}
$query = "UPDATE `jos_jcomments` SET
`title` = '" . mysql_escape_string($title) . "' ,
WHERE `jos_jcomments`.`cid` = " . $row['cid'];
$res = mysql_query($query);
}
Das Skript dekodiert alle strings in welchen es das Zeichen à findet und Ev. ist das ein ganz spezifisches Problem das nur bei mir aufgetreten ist. Aber ich dachte ich poste das Skript, falls es jemandem sonst noch helfen könnte. Im Beispiel oben konvertiere ich alle comment title, das gleiche habe ich aber auch für alle content items (title, content, ...) gemacht. Dazu müssten einfach die Parameter angepasst werden. Die Migration der Kommentare war glücklicherweise relativ einfach, da mein neues Kommentarplugin JComments für eine ziemlich grosse Anzahl an alten Components Importmöglichkeiten bietet. Nun ist meine Joomla Version wieder up-to-date und ich hoffe in Zukunft wieder mehr Blog Einträge zu schreiben. Leider habe ich aber alle "direkten" Links zu den alten Einträgen verloren. Ich hoffe Google wird möglichst bald meine Seite neu indizieren, damit die alten Einträge wieder unter der richtigen Adresse gefunden werdne. Mal schauen wie lange ich mich vor der Migration auf 1.6 drücken kann, und ob dies auch wieder eine solch grosse Hürde wird. Grundsätzlich werde ich wohl an der default Installation nicht mehr zu viel herumschrauben, da man sich dadurch ein "einfaches" Update fast verunmöglicht. Allen welche die Umstellung noch nicht gemacht haben, viel Glück. |





















