Developer with laptop

Aktualizacja Drooplera 1.4 do wersji 2.0

Niedawno ukazała się wersja 2.0 Drooplera, która przyniosła wiele nowości. Zdecydowaliśmy się na kilka poważnych zmian usprawniających pracę edytorską, dlatego też aktualizacja z wcześniejszej wersji 1.4 to proces złożony i wymagający uwagi programisty.

Opiszę tu wszystkie kroki potrzebne do migracji do Drooplera 2.0. Poradnik ten podzielę na dwie części, w zależności od sposobu instalacji. Przyda się zarówno osobom korzystającym z Composera, jak i preferującym paczki z dystrybucjami ze strony drupal.org.

Skrót przedstawionych tu informacji znajdziecie w dokumentacji. Pamiętajcie o wykonaniu kopii zapasowej przed podjęciem jakichkolwiek działań.

Droopler instalowany za pomocą Composera

Od początku istnienia Drooplera preferowanym sposobem jego instalacji było użycie Composera. Strony zainstalowane według naszych zaleceń mają w głównym katalogu następującą strukturę:

Struktura katalogów Drooplera

Pobranie wersji 2.0 wraz z modułami zależnymi

Pierwszym, najważniejszym krokiem jest pobranie nowej wersji Drooplera (wraz z towarzyszącymi modułami) za pomocą komendy:

composer update droptica/droopler --with-all-dependencies

1) Aktualizacja skórki droopler_subtheme

Drugim krokiem będzie przystosowanie dotychczasowej skórki droopler_subtheme do działania w nowej wersji. Najpierw upewnij się, czy lista regionów w pliku droopler_subtheme.info.yml jest identyczna, jak poniżej:

regions:
  header: Header
  secondary_menu: 'Secondary menu'
  primary_menu: 'Primary menu'
  lang_menu: 'Language menu'
  page_top_content: 'Page top'
  page_top: 'Page top'
  page_bottom: 'Page bottom'
  page_bottom_content: 'Page bottom'
  highlighted: Highlighted
  featured_top: 'Featured top'
  breadcrumb: Breadcrumb
  admin_tabs: 'Admin tabs'
  content: Content
  facets_top: 'Facets top'
  facets_left_top: 'Facets left top'
  facets_left: 'Facets left'
  sidebar_left: 'Sidebar left'
  sidebar_right: 'Sidebar right'
  featured_bottom_first: 'Featured bottom first'
  featured_bottom_second: 'Featured bottom second'
  featured_bottom_third: 'Featured bottom third'
  footer_first: 'Footer first'
  footer_second: 'Footer second'
  footer_third: 'Footer third'
  footer_fourth: 'Footer fourth'
  footer_fifth: 'Footer fifth'
  footer_sixth: 'Footer sixth'
  footer_main: 'Footer Main'

Następnie wejdź na stronę repozytorium droopler_project i zastąp następujące pliki w Twojej skórce nowszymi wersjami - uważając przy tym, aby nie usunąć własnych modyfikacji:

  • gulpfiles.js
  • package.json

Usuń plik package-json.lock i wywołaj następujące komendy:

  • npm install w katalogu profiles/contrib/droopler/themes/custom/droopler_theme,
  • gulp compile w katalogu profiles/contrib/droopler/themes/custom/droopler_theme.
  • npm install w katalogu themes/custom/droopler_subtheme,
  • gulp compile w katalogu themes/custom/droopler_subtheme.

2) Przywrócenie starego schematu kolorów

Wersja 2.0 posiada nowy schemat kolorów, kolor niebieski został zamieniony na ciemnoczerwony. Jeśli chcesz powrócić do poprzedniej kolorystyki, zlokalizuj następujący plik:

themes/custom/droopler_theme/scss/config/_old_color_scheme.scss

Skopiuj jego zawartość do pliku _colors.scss w Twojej skórce droopler_subtheme.

3) Przeprowadzenie migracji szablonu Composer

Wraz z wydaniem Drupala 8.8 został udostępniony oficjalny szablon Composer, nieco inny od poprzedniego, używanego również w Drooplerze 1.4. Jeśli preferujesz najnowocześniejsze rozwiązania, uaktualnij swój plik composer.json do postaci dostępnej w repozytorium droopler_project. Jeśli Twoja wersja nie ma zmian w stosunku do oryginału, możesz po prostu podmienić ten plik na nowszą wersję. Po dokonaniu zmian usuń katalogi scripts/composer oraz drush.

4) Zaktualizowanie bazy danych

Proces aktualizacji bazy danych przedstawię na końcu artykułu, jest on bowiem wspólny dla wszystkich rodzajów instalacji.

Droopler instalowany z Drupal.org

Instalacja Drooplera z paczki na portalu drupal.org jest bardzo prosta, jednakże proces aktualizacji wymaga wykonania kilku dodatkowych, trudniejszych kroków. Stopień trudności będzie się różnił w zależności od tego, czy Drupal i zewnętrzne moduły były aktualizowane po instalacji wersji 1.4.

Na początek pobierz ze strony https://www.drupal.org/project/droopler najnowszą wersję Drooplera 2.0.

1) Zaktualizowanie Drupala do nowej wersji

Zaczniemy od uaktualnienia samego Drupala. Podmień katalogi core i vendor na te pochodzące ze ściągniętego właśnie pliku. Pobierz wersję 1.6 modułu Pathauto (z tego adresu) i zastąp istniejącą wersję tego modułu z katalogu modules/contrib/pathauto (będzie jeszcze czas na uaktualnienie go do najnowszej wersji) Uruchom skrypt aktualizujący /update.php.

2) Zaktualizowanie modułów do nowej wersji

Teraz pora na moduły. Usuń wszystkie katalogi oprócz menu_link_attributes z katalogu modules/contrib i zastąp je modułami z paczki z drupal.org, z katalogu profiles/droopler/modules/contrib. Następnie uruchom skrypt /update.php.

Jeśli otrzymasz błąd w module Paragraph, usuń z pliku modules/contrib/paragraphs/paragraphs.install funkcję paragraphs_update_8017() i wywołaj ponownie skrypt /update.php

3) Usunięcie starych modułów i profilów

Pierwszym krokiem do aktualizacji Drooplera będzie usunięcie starego kodu:

  • Z głównego katalogu usuń katalogi: drupal_config, drush, libraries, profiles, scripts oraz wszystkie pliki. Pozostaw katalogi modules, sites i themes. Zwróć uwagę, aby nie usunąć plików i katalogów dodanych przez Ciebie.
  • Z katalogu modules/contrib usuń moduły: admin_toolbar, better_exposed_filters, checklistapi, colorbox, config_update, contact_formatter, ctools, entity_reference_revisions, facets, features, field_group, geysir, google_analytics, google_tag, link_attributes, linkit, metatag, paragraphs, pathauto, redirect, search_api, simple_sitemap, smtp, svg_image, token, tvi. Pozostaw moduł menu_link_attributes (możesz przy okazji zaktualizować go do nowej wersji ze strony https://www.drupal.org/project/menu_link_attributes).

4) Wgranie plików wersji 2.0

Wgraj pozostałe pliki z paczki Drooplera 2.0 z drupal.org do swojej strony. Uważaj, aby nie nadpisać katalogów core, modules, sites, themes i vendor.

5) Zaktualizowanie bazy danych

Przejdź na koniec artykułu, aby dowiedzieć się więcej na ten temat.

Jeśli napotkasz błąd spowodowany brakującą skórką droopler_theme, wykonaj w bazie danych (np. przez phpMyAdmin) zapytanie przebudowujące ścieżki w systemie (to samo zrobi funkcja drupal_flush_all_caches()):

SELECT * FROM `key_value` WHERE `name` LIKE 'system.profile.files'

6) Dostosowanie skórki

Jeśli używana przez Ciebie skórka droopler_subtheme nie zawiera żadnych modyfikacji w stosunku do oryginału, możesz ją zmienić na Droopler Theme 8.x-2.0 (kliknij na Wygląd/Appearance w górnym menu).

Jeśli Twoja skórka droopler_subtheme zawiera modyfikacje, uaktualnij ją do wersji 2.0. Jeśli wykorzystujesz SCSS, zajrzyj na początek tego artykułu, gdzie opisaliśmy procedurę migracji skórki dla instalacji z Composerem. Jest ona niemal identyczna dla instalacji z drupal.org.

Jeśli Twoje modyfikacje są niewielkie i nie chcesz tracić czasu na uaktualnianie skórki, zbuduj ją od nowa. W katalogu profiles/droopler/themes/custom/droopler_theme znajdziesz podkatalogi STARTERKIT_SCSS i STARTERKIT_SCSS zawierające odpowiednio szablony skórek dla użytkowników korzystających i niekorzystających z kompilatora SCSS. Każdy z szablonów zawiera plik README.md z instrukcją.

Aktualizacja bazy danych

Droopler 2.0 zawiera kompletną ścieżkę aktualizacji z wersji 1.4. Obejmuje ona m.in:

  • Włączenie nowych paragrafów
  • Uporządkowanie i wzbogacenie istniejących paragrafów o nowe pola
  • Zamianę wszystkich obrazków na Media
  • Konfigurację MegaMenu
  • Zabiegi optymalizacyjne

Aktualizację uruchomisz za pośrednictwem skryptu /update.php lub wywołując komendę

drush updb

Po dokonaniu aktualizacji zobaczysz następujący komunikat:

Droopler update checklist

Oznacza on, że nie wszystkie operacje mogły być dokonane automatycznie. Przejrzyj checklistę w poszukiwaniu niezaznaczonych elementów. Aby samodzielnie przeprowadzić daną aktualizację, podążaj za instrukcjami na liście.

Podsumowanie

Patrząc na liczbę powyższych kroków, aktualizacja do wersji 2.0 jest procesem dość złożonym. W razie jakichkolwiek problemów zachęcamy do zgłoszenia ticketu na stronie Drooplera na drupal.org. Zespół programistów oraz powiązana z nimi społeczność działają bardzo prężnie, żadne pytanie nie pozostanie więc bez odpowiedzi.

2. SEO dla strony internetowej na Drupalu