back

Knowlegde

Knowledge Centre

Pregătirea pentru Drupal 9: Un ghid comprehensiv de migrare

by editor | 01.08.2019

Pregătirea pentru Drupal 9: Un ghid comprehensiv de migrare

Pe măsură ce ne apropiem de lansarea Drupal 9 (3 iunie 2020), este crucial să înțelegem că această actualizare reprezintă o tranziție semnificativă, dar gestionabilă, în ecosistemul Drupal. Cheia unei migrații fără probleme constă în menținerea site-urilor Drupal 8 actuale cu dependențe, biblioteci și module actualizate.

De ce este diferit Drupal 9?

Tranziția la Drupal 9 marchează o schimbare fundamentală în modul în care Drupal gestionează actualizările majore de versiune. Această schimbare este determinată în primul rând de sfârșitul vieții Symfony 3 în noiembrie 2021. Drupal 9 va adopta Symfony 4, asigurându-se că platforma rămâne sigură și modernă.

Cerințe Tehnice Cheie

Cerințe de sistem
1. Va fi necesară versiunea 4 sau mai nouă a Symfony
2. PHP 7.2 sau mai nou va fi obligatoriu, așa cum este specificat în documentația Symfony

Schimbări ale modulelor
Mai multe module de bază vor suferi schimbări semnificative:
- Modulul "action" va deveni "action_ui"
- "block_place" va fi integrat în modulul block
- "field_layout" va trece la layout_builder
- "simpletest" va fi redenumit în "phpunit_ui"

Actualizări de cod
O schimbare semnificativă implică deprecierea diverselor funcții. De exemplu, funcția `file_unmanaged_copy()` va fi înlocuită cu o abordare bazată pe servicii mai robustă:

Implementarea anterioară:

function file_unmanaged_copy($source, $destination = NULL, $replace = FILE_EXISTS_RENAME) {
   @trigger_error('file_unmanaged_copy() is deprecated in Drupal 8.7.0 and will be removed before Drupal 9.0.0. Use \\Drupal\\Core\\File\\FileSystemInterface::copy(). See https://www.drupal.org/node/3006851.', E_USER_DEPRECATED);
   // ... implementation details
}

Abordarea nouă bazată pe servicii:

\Drupal::service('file_system')->copy($source, $destination);

Această schimbare îmbrățișează injectarea dependențelor prin intermediul containerului, promovând practici arhitecturale mai bune.

Planificarea migrației

Considerații privind cronologia
- Drupal 8.8 reprezintă ultima versiune care va introduce deprecierea pentru Drupal 9
- Site-urile Drupal 7 existente pot migra direct la Drupal 9, deoarece menține paritatea de caracteristici cu Drupal 8

Instrumente și resurse
Instrumentul drupal-check (disponibil la github.com/mglaman/drupal-check) ajută la identificarea:
- Utilizarea codului depreciat
- Probleme potențiale de compatibilitate
- Codul care trebuie actualizat înainte de migrație

Practici de top pentru migrație

1. Mențineți site-urile Drupal 8 actuale actualizate cu ultima versiune minoră
2. Verificați și actualizați în mod regulat modulele contribuite
3. Utilizați instrumente de dezvoltare pentru a identifica codul depreciat
4. Testați în mod extensiv într-un mediu de staging
5. Planificați timp suficient de testare înainte de implementarea în producție

Perspectiva de viitor

Așa cum subliniază Dries Buytaert, liderul proiectului Drupal: "Prima lansare a Drupal 9 va reflecta îndeaproape ultima versiune minoră a Drupal 8. Schimbările principale se concentrează pe eliminarea codului depreciat și actualizarea dependențelor terțe."

Pentru documentația detaliată de migrație și actualizări, vizitați drupal.org/docs/9.

Această abordare structurată a migrației asigură că organizațiile pot trece fără probleme la Drupal 9, menținând funcționalitatea și performanța site-ului. Respectând aceste linii directoare și menținându-se la curent cu actualizările, procesul de migrație devine o evoluție gestionabilă, nu o revizuire dramatică.

article
Top
  • Knowlegde
    Knowledge Centre
    Extinde validarea câmpurilor cu expresii regulate
    editor
  • Knowlegde
    Knowledge Centre
    Înțelegerea arhitecturii CMS decuplate complet vs. decuplate progresiv
    editor
  • Knowlegde
    Knowledge Centre
    AngularJS sau Angular: Înțelegerea diferențelor și luarea deciziei corecte
    editor