
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ă.
