Aktualizacja z wersji 2.5 do 3.x

15

Ciekawe, od jakiegoś czasu rozważam kilka rzeczy.

Jak dobrze ulepszenie „jednym kliknięciem” poprawi się przed EoL Joomla! 2,5?

Obecnie mamy bardzo niski wskaźnik powodzenia aktualizacji z wersji 2.5, istnieje wiele problemów ze zgodnością, które nie zostały rozwiązane tylko przez aktualizację i wymagają kilku ręcznych zmian, aby zakończyć proces przez większość czasu (problemy z JHTML są najczęściej widzieć).

Teraz mówię „problemy”, ale mam na myśli, że po aktualizacji rzeczy nie działają zgodnie z przeznaczeniem, nie oznacza to, że składnik „aktualizacji” jest zepsuty.

Rozejrzałem się, ale znalazłem tylko:

http://docs.joomla.org/Joomla!_CMS_versions

http://developer.joomla.org/cms/roadmap.html

Pierwszy stwierdza, że ​​nadchodzące wsparcie dla wersji 2.5 z grudnia 2014 r. Zostanie odrzucone. Drugi określa plan działania dla wersji 3.x. Jednak obecnie bardzo trudno jest zaktualizować wersję z 2.5, im większa strona, tym trudniej. Nie jestem pewien, co powoduje, że niektórym się udaje, a innym nie, w większości przypadków nie możemy odizolować go bezpośrednio od rozszerzeń stron trzecich (menedżer rozszerzeń psuje się itp. Z brakujących tabel, a menedżer rozszerzeń jest tam, gdzie to naprawiasz).

W tym przypadku pojawia się prawdziwy problem z aktualizacją, jeśli strona korzysta z ogromnej bazy danych z czymś takim jak sobipro, k2 lub kreator treści, lub tylko z wieloma artykułami / modułami, aktualizacja może znacznie się nie powieść. Nie można ich również usunąć, wyłączyć ani odinstalować (np. Ponad 4000 elementów zostanie utraconych podczas odinstalowywania, w tym momencie równie dobrze można przerobić witrynę, a następnie zaktualizować).

Czy jest więc jakiś plan ulepszenia aktualizacji za jednym kliknięciem w wersji 2.5 do 3.x, aby lepiej dostosować EoL? (jak posty z wiadomościami lub blogi) Dziwne pytanie, ale wydaje mi się, że z iloma stronami 2.5, które nie są w stanie go zaktualizować, może być bardzo opłacalne.

Jordan Ramstad
źródło
Nigdy nie słyszałem o żadnym problemie podczas aktualizacji z J2.5 do 3.x. W rzeczywistości niedawno zaktualizowaliśmy naszą witrynę do wersji J3.3 z dużą liczbą rozszerzeń, w tym K2, Community Builder i Kunena bez żadnych problemów.
Lodder
1
Nigdy nie osiągnęliśmy prawdziwego sukcesu „bez problemów” w około 10 próbach z 80 2,5 witryn, które mamy. To pytanie ma na celu sprawdzenie, czy istnieje jakikolwiek plan zmniejszenia błędów (wiem, że nie trzeba odinstalować żadnego numeru, aby go zaktualizować, mogę sam o tym odpowiedzieć, ponieważ sprawia, że ​​„wygląda” na podstawowy problem i jest trudne do zobaczenia, ale nie jedyne, co może się zdarzyć). Mam nadzieję, że to pytanie zgromadzi kilka różnych źródeł i rozwiązania problemów.
Jordan Ramstad
1
Jordan ma rację. Aktualizacja nie zawsze jest taka prosta. Nie stanowi to dla mnie problemu, ale jest to dla przeciętnych użytkowników, którzy mogą utknąć po aktualizacji, która zepsuje ich witrynę, dlatego jest to problem dla Joomla, biorąc pod uwagę, że żyjemy w czasach, gdy „przyjazny dla użytkownika” i „ Oprogramowanie, które działa ”jest niezbędne.
FFrewin
Doświadczyłem również więcej niż kilku problemów z aktualizacją, w rzeczywistości wszystkie moje próby aktualizacji z pół tuzina witryn dały mi problemy, które musiałem załatać po fakcie na różne sposoby. Odkryłem, że większość z nich jest spowodowana użyciem mootools w rozszerzeniach. Powodowało to awarię aktualizacji w pewnym momencie, często tuż przed aktualizacją bazy danych. W przypadku witryn, które ja przed aktualizacją zastąpiłem korzystanie z MooTools, w każdym źródle, z którego korzystano, jego wersją 3.x („JHtml :: _ ('behawior.framework”); ”) wydaje się działać bezbłędnie.
thoni56

Odpowiedzi:

11

Aktualizacja „jednym kliknięciem” działa bardzo dobrze w Joomla! 2.5 Rdzeń .

Ale Twoja witryna może mieć kilka szablonów lub rozszerzeń, które również należy zaktualizować.

Planuję także migrację naszej głównej witryny w czerwcu. Oto mój plan:

  • Utwórz kopię zapasową strony głównej i utwórz nową stronę testową
  • Przejrzyj wymagania systemowe Joomla 3.x i upewnij się, że środowisko serwera spełnia te wymagania.
  • Zainstaluj i dostosuj nową Joomla! Szablon zgodny z 2,5 / 3
  • Zainstaluj i dostosuj wszystkie Joomla! Rozszerzenia kompatybilne z 2,5 / 3
  • Jeśli jakieś rozszerzenie nie ma wersji kompatybilnej z J3, należy je zastąpić nowym rozszerzeniem .... ORAZ dane muszą zostać migrowane (najgorszy scenariusz)
  • UWAGA : Poprzednie kroki można wykonać offline, przetestować, a na końcu można je zaimplementować w obecnej wersji Joomla! 2.5 strony, aby zmniejszyć ryzyko jednodniowej migracji.
  • Zaktualizuj swoją witrynę programistyczną o najnowszą witrynę na żywo
  • Ostatni krok: aktualizacja Joomla! 3 na stronie programowania
  • Testuj i sprawdzaj wszystko, aż zadziała Ok
  • Przeprowadź migrację witryny na żywo (lub przywróć najnowszą migawkę witryny programistycznej na nowym serwerze hostingowym ... na wypadek, gdyby coś poszło nie tak i musisz ponownie aktywować witrynę J2.5)
  • SUKCES
Anibal
źródło
1
Bardzo ładne wyjaśnienie bezpiecznej metody aktualizacji. W lipcu też się zanurzam i od jakiegoś czasu martwię się o to. Po przeczytaniu tego czuję się znacznie lepiej. Dzięki = ^ D
Mathew Lenning
5

W przypadku aktualizacji z wersji 2.5 do 3.3 miałem również więcej szczęścia, wykonując aktualizację ręczną. W przypadku wersji przejdę do wersji 2.5.20-> 3.0.3-> 3.1.6-> 3.2.4-> 3.3.0.

Oto pełny proces:

  1. Pobierz wszystkie te wersje i rozpakuj na komputerze lokalnym (tutaj jest dobry zasób: http://www.whitefirdesign.com/resources/joomla-release-archive.html )
  2. Utwórz kopię zapasową za pomocą Akeeba
  3. Utwórz witrynę klonowania w podfolderze za pomocą Akeeba Kickstart (utwórz / użyj nowej bazy danych)
  4. W wewnętrznej części witryny odinstaluj rozszerzenia „problematyczne” (patrz dół postu)
  5. Na FTP prześlij wszystkie pliki z nowej wersji Joomla oprócz folderu / installation /.
  6. W backend strony przejdź do EXTENSIONS-> EXTENSIONS MANAGER-> DATABASE i wciśnij FIX
  7. Następnie przejdź do EXTENSIONS-> EXTENSIONS MANAGER-> ODKRYJ, wciśnij odkryj i zainstaluj wszystko, co znajdzie
  8. Przejdź do ACL Managera (jeśli nie masz, gorąco polecam) i napraw wszelkie znalezione problemy ACL. http://aclmanager.net
  9. Powtórz proces z następną wersją Joomla

Po przejściu do najnowszej wersji:

  1. Ponownie zainstaluj rozszerzenia „problematyczne”
  2. Utwórz kopię zapasową nowej wersji
  3. Strona testowa pod kątem problemów
  4. Przenieś oryginalną stronę do podfolderu
  5. Przenieś nową witrynę do katalogu głównego, aby uruchomić

Cały proces zajmuje dużo czasu ze względu na czas przesyłania pełnych wersji, ale oszczędza bólu głowy.

W przypadku rozszerzeń problemów są to tylko te, które spowodowały problemy podczas aktualizacji. Moja hipoteza jest taka, że ​​pakiet instalacyjny ma różne wersje dla J2.5 w porównaniu do J3.3, więc staje się mylący podczas aktualizacji. Jeśli ktoś znalazł innych, daj mi znać.

  • Rozszerzenia NoNumbers (NN Manager, Cache Cleaner, Adv Module Manager, Modules Anywhere itp.)

Te rozszerzenia mogą powodować problemy, jeśli nie korzystasz z najnowszej wersji:

  • RSForm
  • JW AllVideos
  • RokBox
  • RSForm
  • Zakładki społecznościowe
  • XMap
YellowWebMonkey
źródło
Formy Blueflame również powodują problemy.
koder
3

Nie mogłem zaktualizować katalogu z 2.5.7 do 3.2.0. Podczas tych aktualizacji napotkałem różne błędy, czasem nie mogłem w ogóle dokonać aktualizacji.

Ścieżkę aktualizacji musiałem wybrać jako:

2.5.7 → 3.0.1 → 3.1.5 → 3.2.0

Od tego czasu mogłem normalnie aktualizować. Korzystam z wersji 3.2.2 i wkrótce planuję aktualizację do wersji 3.3.

ContextSwitch
źródło
Aktualizacja jest obsługiwana z najnowszej wersji 2.5.x (na dzień dzisiejszy to 2.5.20!). Z tej wersji można uaktualnić bezpośrednio do 3.3.0. Zamiast wykonywać kilka mini-kroków, powinieneś najpierw zaktualizować swoją bardzo starą wersję 2.5.7 do 2.5.20, a stamtąd do 3.3.0.
Bakual
Wygląda na to, że YellowWebMonkey miał ten sam problem od 2.5.20, zobacz jego odpowiedź, aby uzyskać więcej informacji.
ContextSwitch,
Byłbym osobiście zainteresowany błędami, które otrzymujesz podczas aktualizacji bezpośrednio z 2.5.20 do 3.3.0. Mówiąc tylko o rdzeniu, a nie o firmach trzecich.
Bakual
Powiedziałbym, że trudno jest powielić, jeśli nie masz problemu, to samo dzieje się, począwszy od wersji 1.7, przejście do wersji 2.5.1 jest prawie bezbłędne, ale przejście do najnowszej zawsze było problematyczne. Wątpię, czy to z winy deweloperów, może jakiś czas oczekiwania przy zastosowaniu ogromnej ilości plików aktualizacji SQL dla wszystkich wersji? Jeśli to jest problem, być może aktualizacja Joomla powinna mieć samodzielnego instalatora i instalować aktualizacje po kolei, a następnie zastosować je wszystkie naraz (w każdym razie dla rdzenia). To tylko przypadkowy pomysł, ta odpowiedź daje mi wyobrażenie o tym, gdzie może być wina, tylko „teoria”.
Jordan Ramstad,
Zobaczę, czy nadal mam kopię naszej bazy danych 2.5.7. Jeśli okaże się, że źle, zaktualizuj odpowiedź o problemy, które miałem.
ContextSwitch,
2

Aby odpowiedzieć na główne pytanie:

Jak dobrze ulepszenie „jednym kliknięciem” poprawi się przed EoL Joomla! 2,5?

Nie ma planów, aby to poprawić. Działa bez problemów dla rdzenia. Szablon będzie musiał zostać zastąpiony ze względu na zmienione wyjście rozszerzenia. Pozostałe rozszerzenia należy sprawdzić ręcznie, zależy to od ich budowy. Możliwe jest pisanie rozszerzeń, które działają zarówno w wersji 2.5.15+, jak i 3.x z tą samą bazą kodu. Ale trzeba to sprawdzić, próbując lub kontaktując się z programistą (lub przeczytaj ich FAQ).

Jedyne, co można ulepszyć w wersji 2.5, to dodać kontrolę zgodności przed aktualizacją. Było trochę pracy, ale utknęło w martwym punkcie. Ktoś ze społeczności musiałby to podnieść i zakończyć.

Bakual
źródło
Brak kontroli zgodności w wersji 2.5 jest jednym z powodów, dla których musisz sprawdzać wersje PHP na platformie aktualizacyjnej. Aktualizacje „jednym kliknięciem” od 2.5 do 3.2. * + pozostawiły wiele osób z pustymi witrynami z przodu iz tyłu.
BodgeIT
2

Oto kilka przydatnych informacji, które znalazłem podczas aktualizacji.

Po pierwsze, jeśli witryna była pierwotnie w wersji 1.6, to zaktualizowano ją do wersji 2.5, a nawet w najnowszych wersjach wersji 2.5 wszystkie rozszerzenia będą nadal działać. Jednak aktualizacja do wersji 3.x wymaga ponownej instalacji. Wynika to z faktu, że różnice w obszarze „aktualizacji” oznaczają, że jeśli był to 1.6, to serwer aktualizacji nie będzie poprawnie czytał aktualizacji, więc jeśli był to składnik 1.6, przynajmniej w większości przypadków (widziałem to w DJ Image Slider i BreezingForms) nie zostaną zaktualizowane po aktualizacji do wersji 2.5.

Dlatego w pewnym momencie życia w wersji 2.5 potrzebna jest ręczna aktualizacja tych rozszerzeń. Wydaje mi się, że w zależności od rozszerzenia mogą występować problemy z normalną aktualizacją SQL, ale po prostu coś, o czym należy pamiętać.

Czasami rozszerzenia mogą być zmieniane lub „odnawiane”, co powoduje, że Joomla czasami odczytuje go jako nowy komponent, co prowadzi do wielu wpisów tego samego komponentu, starego i nowego. Po odinstalowaniu nadal korzysta z tych samych tabel bazy danych, więc usuwa je, jeśli już je zainstalowałeś.

Pomysł: więc jedną rzeczą, która moim zdaniem byłaby przydatna w tym przypadku, jest dodatek do menedżera rozszerzeń, aby sprawdzać rozszerzenia przeznaczone dla starszych wersji, aby były łatwo widoczne, można to zrobić, patrząc na ostatnią „datę” aktualizacji i czy było to przed potencjalną przełomową zmianą w Joomla, jeśli bieżąca wersja jest wcześniejsza niż ta wersja.

Tak czy inaczej, w przypadku witryny przechodzącej z wersji 1.6 do 2.5, a następnie do wersji 3.x w dowolnym momencie może wymusić ponowną instalację, która wyczyści dane.

Kolejny pomysł: jeśli obok aktualizacji dodano „ponowną instalację”, korzystając ze śledzenia starszej wersji i jej serwera aktualizacji, lub niestandardowego adresu URL / uploadu, aby w zasadzie odinstalować komponent bez usuwania danych. Następnie zainstaluj go ponownie, używając aktualizacji sql do aktualizacji tabel bazy danych, byłoby bardzo przydatne.

Korzystam z witryny, która pierwotnie miała wersję 1.6, ponieważ częściej pokazywałaby te problemy. Może się tak zdarzyć w przypadku witryn, które zaczęły się w wersji 2.5.

To wyjaśnia wiele problemów, które mogą wynikać z rozszerzeń, które mogły nigdy nie zostać zaktualizowane w celu dodania zgodności z wersją 3.x. Wtyczki są najgorsze, ponieważ nawet w panelu administracyjnym błąd w nich może uniemożliwić korzystanie z panelu administracyjnego.

Jeszcze inny pomysł: Menedżer aktualizacji Joomla może automatycznie wyłączać wszystkie wtyczki innych firm niż niektóre (jak akeeba, ponieważ śledzi aktualizacje), a następnie aktualizować. Następnie ponownie włącza wszystkie wtyczki, ale „sprawdza” wtyczki systemowe pod kątem błędów. Mam na myśli to, że automatycznie wyzwala różne zdarzenia za pomocą try / catch, aby sprawdzić, czy wystąpił błąd, a jeśli tak, wyłącza i powiadamia.

Teraz zakłada się, że nie ma podstawowych problemów, co zwykle nie powinno się zdarzyć w aktualizacji.

Pomysły, które opublikowałem powyżej, są przeznaczone dla zespołu programistów, reszta to dobra informacja dla każdego, kto aktualizuje. Pomysły, które przedstawiłem, powinny być nawet w stanie zezwolić na aktualizacje bez odinstalowywania / wyłączania rozszerzeń, które mogłyby potencjalnie dodać znacznie więcej pracy do procesu. Z niektórymi dodatkami do już świetnego aktualizatora, nawet pełne automatyczne aktualizacje (takie jak Wordpress) mogą być możliwe w przyszłości.

Jordan Ramstad
źródło
1

Uważam, że jest tak wiele rzeczy do rozważenia przy aktualizacji, że po prostu nie można go uznać za proces „jednego kliknięcia”.

Wersje PHP są pierwszą rzeczą do rozważenia. Również wersje Joomla ... zawsze uaktualnij do wersji ostatecznej na dowolnym drzewie, zanim wejdziesz po drabinie do następnej. Użyj Akeeba CMS Updater, aby wybrać aktualizacje, które chcesz zastosować i z którego oddziału.

Przedłużenia są tam, gdzie naprawdę stają się owłosione.

Korzystanie z rozszerzenia takiego jak SP Transfer może zmniejszyć problemy poprzez utworzenie witryny dodatkowej, którą można wstępnie zainstalować w nowej wersji ze wszystkimi komponentami zainstalowanymi dla tej wersji, a następnie pobrać wszystkie niezbędne dane z bazy danych.

Ten proces nie jest jednak przeznaczony dla zwykłego codziennego użytkownika.

Najczęściej znajduję pewien problem z tabelą zasobów i zwykle muszę użyć diagnostyki ACL Managera, aby naprawić osierocone lub brakujące elementy w tabeli.

BodgeIT
źródło
1

Stosowana przeze mnie procedura ewoluowała w ramach około 40 różnorodnych mini migracji Joomla od 2.5 do 3.x. To nie jest dokładnie „jedno kliknięcie”, ale pomaga uniknąć najczęstszych pułapek. Większość stron internetowych, którymi się opiekuję, używa szablonów RocketTheme, a istnieją Joomla 3.x równoważne wersje szablonów Joomla 2.5, które zmniejszyły problemy z migracją szablonów, ale twój przebieg może się różnić.

  1. Sprawdź, czy środowisko hostingowe jest odpowiednie dla Joomla 3.x

  2. Najpierw uruchom kopię zapasową!

  3. Odinstaluj wszystkie rozszerzenia, które nie są kompatybilne z Joomla 3.x.

  4. Zaktualizuj do Joomla 2.5.28, jeśli jeszcze nie w wersji 2.5.28 i zaktualizuj wszystkie rozszerzenia innych firm do najnowszych dostępnych wersji Joomla 2.5

  5. Wyłącz wtyczkę „System - Remember Me”

  6. Wyłącz wtyczkę „System - Kopia zapasowa przy aktualizacji”, jeśli zainstalowano Akeeba Backup

  7. W konfiguracji globalnej ustaw Raportowanie błędów na „Programowanie” (aby błędy były widoczne po migracji - jeśli przegapisz ten krok, być może będziesz musiał użyć FTP itp., Aby pobrać plik config.php, edytuj go, aby włączyć wiadomości, a następnie prześlij zaktualizowaną wersję za pośrednictwem FTP itp., Co jest uciążliwe)

  8. Zmień komponenty -> Aktualizacja Joomla -> Opcje na „Wsparcie krótkoterminowe”

  9. W Komponentach -> Aktualizacja Joomla, kliknij „Zainstaluj aktualizację”, aby zaktualizować z 2.5.x do 3.5.1, 3.5.1 do 3.6.5, a następnie 3.6.5 do najnowszej wersji. Wyczyść pamięć podręczną Joomla i wyczyść pamięć podręczną w Rozszerzenia -> Menedżer rozszerzeń -> Aktualizacja i spróbuj ponownie, jeśli aktualizacja nie jest oferowana. Konieczne może być ponowne uwierzytelnienie raz lub dwa, gdy wykonywane są aktualizacje tokena sesji

  10. Zmień komponenty -> Aktualizacja Joomla -> Opcje -> Zaktualizuj kanał do „Domyślny”, jeśli nie jest on zresetowany do „Domyślny”

  11. Zainstaluj ponownie najnowsze rozszerzenia Joomla 3.x nad wszystkimi zainstalowanymi rozszerzeniami, zwłaszcza ChronoForms i wszelkimi Akcjami ChronoForms, jeśli którekolwiek z nich są zainstalowane

  12. Wyczyść pamięć podręczną Joomla i pamięć podręczną przeglądarki internetowej

  13. W konfiguracji globalnej ustaw Raportowanie błędów z powrotem na „Brak”

  14. Ponownie włącz wtyczkę „System - Kopia zapasowa przy aktualizacji”, jeśli zainstalowano Akeeba Backup

  15. Ponownie włącz wtyczkę „System - Remember Me”

  16. Wyłącz wtyczkę „System - Joomla! Update Notification”, aby wyłączyć powiadomienia o aktualizacji Joomla (opcjonalnie)

  17. Usuń szablony Joomla 2.5 (atomowy, beez5, beez_20, bluestork)

  18. Włącz kontrolę wersji w Treści -> Artykuły -> Opcje -> W razie potrzeby edytuj układ (kontrola wersji jest domyślnie wyłączona)

  19. Wyłącz „Zezwalaj na rejestrację użytkownika” w menu Użytkownicy -> Zarządzaj -> Opcje -> Opcje użytkownika, jeśli jest to właściwe (opcja ta była domyślnie włączona w Joomla 2.5)

Krok 11 jest ważny, aby umożliwić skryptom instalacyjnym wykonywanie określonych kroków Joomla 3, które mogły nie zostać uruchomione, gdy były pierwotnie zainstalowane w Joomla 2.5.

Pamiętaj, aby w razie potrzeby zaktualizować wersję PHP. PHP 5.3 to koniec życia, a PHP 5.6 lub PHP 7.0 lub nowszy jest teraz lepszym wyborem dla Joomla 3.x.

Neil Robertson
źródło