Die PhocaGallery muss separat bei einer Migration von Joomla 1.5 auf 2.5 migriert werden. Dabei ist wie folgt vorzugehen, um alle Daten sauber ins neue Projekt herüber zu bekommen:

  1. Die Komponente PhocaGallery sollte auf die neuste unter J!1.5 lauffähige Version geupdatet werden.
  2. Dann wie üblich das Projekt komplett sichern z.B. mit Akeeba-Backup.
  3. Alle Bilder aus dem Verzeichnis /images/phocagallery/ sollten nach nach lokal kopiert werden, um diese später wieder auf das neue Projekt ins gleiche Verzeichnis kopieren zu können. 
  4. Dann sollte man das Joomla-Projekt z.B. mit



    JUpgrade migrieren. Prinzipiell ist es so, dass die o.g. Phoco-Gallery-Verzeichnisse ebenfalls mit kopiert werden. Wer sich darauf verlassen möchte, kann sich Schritt 2 sparen. Wie die Migration von J! zu erfolgen hat, habe ich in diesem Artikel beschrieben, weshalb ich hier nicht darauf eingehe.

  5. Nach erfolgreicher Joomla-Migration, stellen wir fest, dass die Komponente PhocaGallery verloren gegangen ist. Das ist nicht schlimm - also kein Panik, noch sind alle Daten da, wenn die Datenbank-Präfixe für die zwei Joomla-Versionen unterschiedlich gewählt wurden. Deshalb installieren wir die PhocaGallery in der neuesten für J! 2.5 verfügbaren Version. Dabei ganz wichtig: PhocaGallery fragt wie üblich nach der Installation, ob dies eine Neuinstallation ist oder ein Update? Entgegen der vermutlichen Annahme klicken wir auf Neuinstallation, damit wir leere jungfräulichen Datentabellen erhalten!
  6. Schauen wir uns dann die Komponente an, stellen wir fest, dass keine Kategorien oder Bilder vorhanden sind - war ja so gewollt. Nun rufen wir phpMyAdmin mit unseren Daten auf. Üblicherweise werden ja alte und neue Tabellen in einer Datenbank liegen, nur mit unterschiedlichen Präfixen - alt z.B: als jos_ und neu z.B. als j25_.
  7. Jetzt wieder aufpassen. Wir machen einen teilweisen SQL-Export der Tabellen. Ausgewählt werden alle Tabellen mit dem Präfix jos_phocagallery_. Bei den Exporteinstellungen muss konfiguriert werden, dass wir NUR die DATEN und KEINE STRUKTUREN exportieren wollen und zwar per INSERT. Mit diesen Einstellungen klicken wir auf ok. Am besten, wenn die Daten nicht zu umfangreich sind, gleich anzeigen lassen und nicht als Datei oder gar Archiv exportieren.
  8. Egal ob gleich angezeigt oder als Downloaddatei, diesen SQL-Dumb müssen wir nun ändern - jedenfalls wenn alte und neue Tabellen in der selben DB liegen. Alle Tabellennamen-Präfixe im Dumb werden ersetzt von jos_ zu j25_.
  9. Wenn der Dump eine Datei war, dann speichern ansonsten diesen Dumb in die Zwischenablage laden.
  10. Wenn als Datei, dann machen wir jetzt einen SQL-Import, wenn über die Zwischenablage, dann kopieren wir den Dumb in ein SQL-Eingabefenster und führen dann diesen Import/SQL-Befehl aus.
  11. Damit werden alle Daten in unsere neuen Tabellen kopiert.
  12. Nun gibt es aber unter J!2.5 einige neue Features, die z.B. den Access betriffen und die Sprachenzuordnung die auch für Bilder und Kategorien relevant sind. Diese Information gab es in unseren alten PG-Tabellen nicht und müssen deshalb von uns nachgepflegt werden. Am einfachsten geht dies wieder per SQL-Befehle im SQL-Eingabefenster. Wichtig, diese Befehle müssen den Präfix der neuen PG-Tabellen enthalten und sollten so aussehen:

    UPDATE `j25_phocagallery` SET `language` = '*';
    UPDATE `j25_phocagallery_categories` SET `language` = '*';
    UPDATE `j25_phocagallery_comments` SET `language` = '*';
    UPDATE `j25_phocagallery_fb_users` SET `language` = '*';
    UPDATE `j25_phocagallery_img_comments` SET `language` = '*';
    UPDATE `j25_phocagallery_img_votes` SET `language` = '*';
    UPDATE `j25_phocagallery_img_votes_statistics` SET `language` = '*';
    UPDATE `j25_phocagallery_tags` SET `language` = '*';
    
  13. Nun müssen evtl. noch die Bilderverzeichnisse, die wir anfänglich nach lokal gesichert hatten, wieder ins neue Projektverzeichnis kopiert werden - gleicher Ort also unter /images/phocagallery/.
  14. In jedem Fall sollte man sich noch mal die Rechte für die Kategorien und Bilder ansehen, ob diese korrekt übernommen wurden. Auch eine Zuordnung von Menüpunkten zur Komponente ist ggf. nachzuarbeiten.

Und das wars dann schon. Wenn man jetzt unter PG in den Kategorien- oder Bilderreiter schaut, wird man dort alles wie vertraut wiederfinden.

 

 

Wenn Ihnen dieser Beitrag geholfen und viel Zeit gespart hat, zeigen Sie sich erkenntlich: Über einen Klick auf Google+1 oder Rückmeldungen freue ich mich. Zeigen Sie mir, dass sich die Mühe für die Beitragerstellung gelohnt hat. Schenken Sie auch den Produktwerbungen Ihre Beachtung, denn damit wird mein Aufwand für diese Beiträge refinanziert.

 

Migration von Joomla 2.5 auf 3.x

In einem nächsten Schritt kann man Projekte dann auch von J!2.5 auf 3.x upgraden. Neben der manchmal notwendigen aufwändigeren Migration gelingt bei einfachen Projekten (wenige Fremd-Extensions) dies auch durch Update per Short-Support-Version von Joomla - quasi wie bei einem normalen Update. Dabei sollte zunächst PhocaGallery auf die neuste Version geupdated werden. Diese laufen i.d.R. sowohl für J!2.5 und 3.x - also die gleiche Version. Dann kann J! geupdatet werden. Danach sollte Phoca schon laufen. 

Trotzdem kann es zu Fehlermeldungen kommen, z.B. weil bestimmte Tabellen als nicht-existent gemeldet werden. 

Folgende SQL-Befehl kann das Problem beheben:

CREATE TABLE IF NOT EXISTS `j25_phocagallery_styles` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL DEFAULT '',
  `alias` varchar(255) NOT NULL DEFAULT '',
  `filename` varchar(255) NOT NULL DEFAULT '',
  `menulink` text,
  `type` tinyint(1) NOT NULL DEFAULT '0',
  `published` tinyint(1) NOT NULL DEFAULT '0',
  `checked_out` int(11) unsigned NOT NULL DEFAULT '0',
  `checked_out_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `ordering` int(11) NOT NULL DEFAULT '0',
  `params` text,
  `language` char(7) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8 ;

INSERT INTO `j25_phocagallery_styles` (`id`, `title`, `alias`, `filename`, `menulink`, `type`, `published`, `checked_out`, `checked_out_time`, `ordering`, `params`, `language`) VALUES
(1, 'Phocagallery', 'phocagallery', 'phocagallery.css', '', 1, 1, 0, '0000-00-00 00:00:00', 1, NULL, '*'),
(2, 'Rating', '', 'rating.css', NULL, 1, 1, 0, '0000-00-00 00:00:00', 2, NULL, '*'),
(3, 'Default', '', 'default.css', NULL, 2, 1, 0, '0000-00-00 00:00:00', 3, NULL, '*'),
(4, 'Bootstrap', '', 'bootstrap.min.css', NULL, 1, 0, 0, '0000-00-00 00:00:00', 4, NULL, '*');