Actions

Aktualizacja z poprzedniej wersji

From LimeSurvey Manual

This page is a translated version of the page Upgrading from a previous version and the translation is 100% complete.
Dodatkowe strony:{toc}

Zanim zaczniesz...

... przeczytaj to, ponieważ jest to bardzo ważne: Zawsze twórz kopie zapasowe plików i bazy danych bieżącej instalacji!

Możesz to zrobić za pomocą narzędzia do administrowania bazą danych, takiego jak phpMyAdmin i menedżera plików! Jeśli nie wiesz jak to zrobić, nie powinieneś kontynuować dalej i zapytać kogoś, kto się na tym zna.

Zalecenie użycia ComfortUpdate

Najłatwiejszym/najbezpieczniejszym sposobem aktualizacji jest skorzystanie z naszej usługi ComfortUpdate.

Instrukcje aktualizacji (z wersji 2.x lub nowszej do dowolnej nowszej wersji)

Postępuj zgodnie z poniższymi instrukcjami:

  • Zrób kopię zapasową plików i bazy danych (czy już o tym wspominaliśmy?).
  • Usuń wszystkie stare pliki/ foldery z wyjątkiem:
    • /application/config/security.php -Ważne!! To jest klucz do wszystkich zaszyfrowanych danych w LimeSurvey (wersja 4 i nowsze)
    • /application/config/config.php;
    • /upload katalog
Uwaga: Jeśli masz jakieś niestandardowe szablony w /upload/templates, pamiętaj o ich „odświeżeniu” o wszelkie zmiany wprowadzone w nowej wersji LimeSurvey. Najłatwiejszym sposobem sprawdzenia takich zmian jest porównanie starego szablonu z nową wersją szablonu domyślnego. Jeśli zauważysz jakieś różnice poza dostosowaniami, konieczne jest odświeżenie.
  • Skopiuj nowe pliki z nowego pakietu LimeSurvey do istniejącej lokalizacji.
  • Otwórz stronę administracyjną w swojej przeglądarce (np. https://www.example.com/limesurvey/admin) i sprawdź, czy baza danych konieczna jest aktualizacja schematu.
  • Po aktualizacji: Wyczyść pamięć podręczną przeglądarki i pliki cookie!

Instrukcje dla starszych wersji

Niestety należy wziąć pod uwagę kilka kwestii, dlatego prosimy o uważne przeczytanie poniższych instrukcji.

Aktualizacja z wersji 1.50 lub nowszej do dowolnej nowszej wersji 2.xx

  • Pobierz najnowszą wersję LimeSurvey
  • Utwórz kopię zapasową swojego plików i bazy danych (czy już o tym wspominaliśmy?).
  • Zastąp wszystkie pliki katalogu instalacyjnego
    • Usuń wszystkie stare pliki w istniejący katalog instalacyjny
    • Prześlij i rozpakuj nowe pliki nowej wersji do tego samego katalogu instalacyjnego
    • Jeśli Twoja poprzednia wersja jest starsza niż 1.90, skopiuj dowolne niestandardowe szablony do /upload/templates - zostaniesz również musisz zmienić nazwę każdego katalogu szablonów, którego nazwa pasuje do istniejącego szablonu w /templates
    • Skopiuj katalog /upload z powrotem do starej lokalizacji
    • Sprawdź dwukrotnie uprawnienia ustawione dla katalogów (wymagany jest dostęp do zapisu do /tmp, /upload i ich podkatalogów) zgodnie z opisem w wiki instalacyjne
    • Otwórz http://<yourdomain> /<yourlimesurveydir> /admin w przeglądarce i postępuj zgodnie z instrukcjami (dane bazy danych znajdziesz w starym pliku config.php). Istniejąca baza danych zostanie automatycznie wykryta i w razie potrzeby zaktualizowana po potwierdzeniu.
  • Sprawdź, czy nie obowiązują specjalne ręczne kontrole wymienione poniżej
  • Teraz wyczyść pamięć podręczną przeglądarki i pliki cookie i gotowe dobrze iść
  Attention : Proszę pamiętać, że struktura szablonu uległa zmianie wraz z aktualizacją z wersji 2.0x do wersji 2.50 lub nowszej. Twoje stare szablony nie będą już działać, ponieważ system szablonów korzysta teraz z szablonów responsywnych.


Specjalne kontrole po aktualizacji:
  • z dowolnej wcześniejszej wersji do 2.xx: Poprawne kody pytań są teraz obowiązkowe. Po aktualizacji instalacji sprawdź logikę ankiet we wszystkich ankietach i w razie potrzeby popraw kody
  • z wersji wcześniejszej niż v1.53: podczas aktualizacji z wersji wcześniejszej niż v1.53 do najnowszej , sprawdź „globalne prawa użytkownika” każdego użytkownika. W wersji 1.53 wprowadzono nowe prawo „superadministratora”, które może dać użytkownikowi te same uprawnienia, co główne konto administracyjne utworzone podczas instalacji. Skrypt aktualizacyjny zgaduje, komu należy nadać to uprawnienie w starszych wersjach. Ponieważ nie jest to idealne rozwiązanie, należy to dokładnie sprawdzić.
  • od dowolnej wcześniejszej wersji do wersji 2.06: Od wersji 2.05 do 2.06 aktywowano niektóre niewykorzystane uprawnienia podczas edycji uprawnień globalnych dla „ankiet”. Na przykład, jeśli użytkownik miał tylko uprawnienia „tworzenia” w wersji 2.05, inne uprawnienia znajdujące się po prawej stronie „tworzenia” również zostaną aktywowane wraz z aktualizacją do wersji 2.06 (Wyświetlanie/odczyt, aktualizacja, usuwanie, importowanie, eksportowanie). Sprawdź, czy po aktualizacji użytkownicy administracyjni otrzymali inne uprawnienia globalne oprócz „oryginalnych”. Jeśli tak, zmień je odpowiednio.

Aktualizacja z wersji 1.50 lub nowszej do dowolnej nowszej wersji 1.xx

  • Pobierz żądaną wersję LimeSurvey
  • Utwórz kopię zapasową plików i bazy danych (czy już o tym wspominaliśmy?).
  • Zastąp wszystkie pliki katalogu instalacyjnego
    • Usuń wszystkie stare pliki w istniejący katalog instalacyjny
    • Prześlij i rozpakuj nową wersję kodu do tego samego katalogu instalacyjnego
    • Edytuj lub zamień plik „config.php”:
      • Jeśli Twoja poprzednia wersja was < 1.70: Edytuj nowy plik „config.php” w celu odzwierciedlenia zmian z pliku kopii zapasowej „config.php”. Nie zastępuj po prostu nowego pliku config.php starym!
      • Jeśli poprzednia wersja była >= 1.70: Po prostu zamień nowy plik config. php z kopią zapasową pliku config.php (ponieważ format pliku się nie zmienił)
    • Jeśli poprzednia wersja była starsza niż 1.90: Skopiuj wszystkie niestandardowe szablony do /upload/templates - będziesz także musiał zmienić nazwę każdego katalogu szablonów, którego nazwa pasuje do istniejącego szablonu w /templates
    • Skopiuj katalog /upload z powrotem do starej lokalizacji
    • Sprawdź dwukrotnie zestaw „uprawnień” w katalogach LimeSurvey (wymagany jest dostęp do zapisu do /tmp, /upload i ich podkatalogów), jak opisano w wiki instalacyjne
  • Zakończ proces instalacji/aktualizacji
    • Po otwarciu adresu URL do administracji LimeSurvey, tabele bazy danych zostaną zaktualizowane po potwierdzeniu
    • Usuń lub zmień nazwę katalogu /admin/install na/if zgodnie ze skryptem instalacyjnym
    • Sprawdź, czy mają zastosowanie jakieś specjalne kontrole ręczne (wymienione poniżej)
Specjalne kontrole po aktualizacji:
  • Z wersji wcześniejszej niż v1.53: Podczas aktualizacji z wersji wcześniejszej niż v1.53 do najnowszej wersji, sprawdź „globalne prawa użytkownika” każdego użytkownika. W wersji 1.53 wprowadzono nowe prawo „superadministratora”, które może dać użytkownikowi te same uprawnienia, co główne konto administracyjne utworzone podczas instalacji. Skrypt aktualizacyjny zgaduje, komu należy nadać to uprawnienie w starszych wersjach. Ponieważ nie jest to rozwiązanie idealne, należy to dokładnie sprawdzić.

Aktualizacja z wersji wcześniejszej niż 1.50 (od 1.0 do 1.44)

Ponieważ zmieniono strukturę danych i wiele innych rzeczy, „upgrade z jakiejkolwiek wersji wcześniejszej do v1.50 NIE jest możliwy”. Jeśli masz stare pliki struktury ankiety z rozszerzeniem *.sql, jedynym sposobem na uzyskanie nowszej wersji jest instalacja wersja 1.50 , zaimportuj tam pliki .sql, a następnie zaktualizuj tę wersję do najnowszej wersji LimeSurvey. Więcej szczegółów znajdziesz na stronie jak można przenieść instalację.

Aktualizacja przy użyciu CLI

Możesz zaktualizować bazę danych poprzez PHP CLI: php application/commands/console.php updatedb . Umożliwia to skonfigurowanie systemu automatycznej aktualizacji za pomocą wiersza poleceń (na przykład w pliku crontab), chociaż nie jest to zalecane.

Nieudana aktualizacja bazy danych po ręcznej aktualizacji/ComfortUpdate

Czasami, nawet jeśli wszystko wykonałeś poprawnie, podczas aktualizacji bazy danych coś nie działa tak, jak powinno. Może się to zdarzyć z różnych powodów: Różne wersje baz danych , nieoczekiwane formaty lub zawartość danych, nietypowe konfiguracje lub cokolwiek innego, co nie pojawiło się w naszych testach (tak, dużo testujemy!)

Jeśli podczas aktualizacji bazy danych wystąpi błąd i Twoja instancja LimeSurvey stanie się bezużyteczna, chcesz wrócić do poprzedniej wersji. Zakłada się, że nadal masz kopię zapasową bazy danych i plików, albo ze zwykłej kopii zapasowej, albo ten stworzony przez Comfortupdate.

Proszę wykonać następujące kroki:

  • Zrób kopię zapasową istniejącego katalogu i bazy danych LimeSurvey (tak, ponownie - nazwiemy to drugą kopią zapasową)
  • Przywróć pliki do istniejącego katalogu (po prostu je nadpisując) z oryginalnej (pierwszej) kopii zapasowej.
  • Usuń starą bazę danych i przywróć bazę danych z oryginalnej (pierwszej) kopii zapasowej.

Otóż to. Wszystko powinno wrócić do normy.

Uwaga dotycząca zgłaszania tego problemu:

Jeśli napotkasz taki problem, zawsze zgłaszaj go w naszym narzędziu do śledzenia błędów na stronie https://bugs.limesurvey.org

Błąd niezgłoszony jest błędem nienaprawionym. Nie polegaj tylko na zgłoszeniach innych osób. Jeśli widzisz, że błąd został już zgłoszony, możesz także pomóc w podniesieniu priorytetu błędu, zaznaczając go jako „Tak, ten błąd dotyczy mnie” w narzędziu do śledzenia błędów.

FAQ

Czy mogę dokonać aktualizacji, nawet jeśli mam aktywne ankiety?

Tak, możesz. Wyjątki można wymienić w szczegółowych instrukcjach powyżej. Zdecydowanie zalecamy przetestowanie ankiet po aktualizacji, aby sprawdzić, czy szablony projektów nadal działają poprawnie.

Jak przekonwertować pliki struktury ankiety *.sql/*.csv do najnowszej wersji LimeSurvey?

Zainstaluj wersję 1.50, zaimportuj plik i wyeksportuj strukturę ankiety do nowszego formatu .csv. Następnie zainstaluj najnowszą wersję 2.xi zaimportuj format .csv i wyeksportuj go do bieżącego formatu .lss.

Survey theme incompatibility

With certain major version updates any custom survey themes will not be compatible, anymore:

  • Update from LimeSurvey 2.6 or lower to LimeSurvey 2.50
  • Update from LimeSurvey 5.x or lower to LimeSurvey 6.x

Error "Multiple primary key defined" when updating MySQL database

If you encounter this error, please check the setting sql_generate_invisible_primary_key in your MySQL server variables. This is most likely set to ON, but should be set to OFF. Then restore your database from the backup (as explained above) and try again.