Korzystając z tego że przy okazji świąt nie miałem za wiele do roboty, postanowiłem zrobić upgrade dwóch moich stronek stojących na Joomla do wersji 1.7 – jedna z wersji 1.5.x, druga jeszcze z 1.0.x. Niestety tutaj nie da się po prostu wgrać nowych plików – sprawa jest bardziej skomplikowana. Po przeczytaniu paru artykułów jak to zrobić doszedłem jednak do wniosku że upgrade 1.5->1.7 powinien pójść w miarę sprawnie; gorzej byłoby z tym z 1.0, bo tam raz że trzeba zrobić najpierw upgrade do 1.5, a dwa że trochę modyfikowałem tam kod. Rzeczywistość okazała się jednak brutalna.
W przypadku WordPress’a nie byłoby żadnego problemu – po prostu wgrywa się nowe pliki i reszta się dzieje z automatu; co najwyżej część pluginów i szablonów może odmówić współpracy z nową wersją, ale to jest raczej wyjątek niż reguła.
Po spędzeniu kilku godzin przed komputerem mam częściowo działającą kopię pierwszej strony (tą która stała na 1.5); drugiej nawet jeszcze nie ruszyłem. A oto kilka moich spostrzeżeń:
- nowych plików nie można ot tak sobie wgrać na serwer – do tego konieczne jest zainstalowanie nowej kopii Joomli, i wgranie tam danych ze starej instalacji. Do tego potrzeba jeszcze odpowiedni plugin, który pomoże te dane wyeksportować i przekonwertować do postaci wymaganej przez nową wersję. Na szczęście plugin jUpgrade potrafi to wszystko zautomatyzować (a w przypadku 1.0->1.5 niestety część roboty związaną z instalowaniem nowej kopii strony będzie trzeba zrobić samemu);
- część pluginów może nie działać z nową wersją, więc trzeba się dobrze upewnić czy te których używamy będą działać; tutaj też nie ma tak że można próbować zainstalować plugin ze starej wersji mając nadzieję że zadziała – plik xml z informacjami o pluginie zawiera nr wersji Joomli, więc nie da się go zainstalować bez grzebania tam;
- szablony nie działają, i wymagają większych przeróbek (więcej niż tylko zmiana wersji w xml) – trzeba albo usiąść i poprawić plik stylów CSS dostosowując go do nowych znaczników, albo poszukać nowego szablonu;
- wyleciał moduł ankiet, a tak się składa że na stronie miałem ankietę – będę musiał poszukać jakiegoś pluginu do tego;
- na nowej kopii trzeba od nowa instalować pluginy (chodzi o wszystkie: pluginy, moduły, komponenty), spolszczenia i szablony, i potem je konfigurować;
- po imporcie danych wywaliło mi moduły dodane do strony (odpowiednik widgetów z WordPressa), więc musiałem je jeszcze raz dodać;
- kolejność pozycji w menu się nie przeniosła – trzeba było poprawić;
- sh404SEF mam w wersji która teoretycznie ma działać z nową wersją, ale w praktyce coś się nie lubi z polskim językiem (jeszcze się temu bliżej nie przyglądałem);
- zniknęły oceny artykułów – nie przeniosło tych danych, i wyłączyło się też pokazywanie ocen;
- coś pewnie się jeszcze znajdzie
Upgrade WordPress’a jest znacznie mniej problematyczne – nawet przy ręcznej instalacji całość sprowadza się do usunięcia części katalogów i plików, wgrania nowych na to samo miejsce i przejścia do panelu admina – wtedy WordPress wyświetli stronę pozwalającą na wykonanie aktualizacji bazy danych do nowej wersji. Oczywiście można skorzystać też z wbudowanego instalatora, który sam pobierze paczkę z nową wersją WP i ją dla nas zainstaluje – wystarczy nacisnąć przycisk :). Tak jak też wspomniałem, zazwyczaj pluginy i szablony nadal działają po upgrade.
Żeby jednak nie było że tylko narzekam – Joomla 1.6 ma potrafić już sama zaktualizować się do 1.7, bez konieczności wykonywania takich karkołomnych działań. Nie sprawdzałem jednak tego jeszcze w praktyce.
Na razie idę spać, a jutro się zastanowię co robić dalej – kontynuować upgrade czy też zrobić migrację danych do WordPress’a. Dobranoc!
Update na drugi dzień: wygląda że sobie z tym poradziłem:
- do ankiet zainstalowałem AcePolls – wygląda zdecydowanie lepiej :). Danych ze starych ankiet nie przenosiłem, nie są mi aż tak potrzebne;
- żeby sh404SEF nie dodawał tego „pl” do adresu głównej strony, trzeba wejść w Rozszerzenia / Języki / Treści, dodać tam język polski (oczywiście pamiętać aby go włączyć) i wyłączyć angielski;
- oceny artykułów dały się łatwo przenieść prostym zapytaniem:
INSERT INTO new_content_rating SELECT * FROM old_content_rating
Oczywiście zmieńcie sobie prefiksy tabel na swoje :). Trochę walki jeszcze było żeby te oceny się dobrze wyświetlały (musiałem nieco poprawić CSS). Poza tym musiałem napisać sobie plugin który wstawia dowolny kod do sekcji <head>
, i poprawić J – Google AdSense tak żeby chciał działać ze slotami zamiast kanałami, no ale jest sukces
Została mi jeszcze przeprawa z upgrade tej stronki na Joomla 1.x, ale ją sobie zostawiam na jutro.
Komentarze