Drupal 7 hingga 8 Migrasi - Panduan Cara yang membahas Tantangan migrasi (dengan rekomendasi)

Diterbitkan: 2020-02-27

Migrasi Drupal 7 hingga 8 ada di pikiran Anda? Apakah Anda masih menjalankan situs web Anda di Drupal 7 (atau 6)? Sudah waktunya untuk bermigrasi ke Drupal 8!

Kami telah banyak menulis tentang mengapa Anda harus bermigrasi ke Drupal 8 jika Anda masih menggunakan Drupal 7 (atau 6). Meskipun, salah satu alasan kami yang paling favorit (dan signifikan) untuk bermigrasi ke Drupal 8 adalah … Drupal 9 akan datang! Dan jika Anda ingin menikmati manfaat Drupal 9, Anda disarankan untuk memigrasikan Drupal 7 ke Drupal 8 terlebih dahulu. Kami dapat berargumen bahwa Anda harus pindah ke Drupal 8 sekarang karena tidak ada cukup waktu setelah Drupal 9 ada di sini (Juni 2020) dan EOL Drupal 7 (Nov 2021). Tetapi Anda dapat mengklaim bahwa Anda dapat memilih LTS (dukungan jangka panjang) sebagai gantinya! Cukup adil. Kecuali bahwa selain menghabiskan lebih banyak uang untuk melibatkan penyedia layanan LTS, Anda juga kehilangan banyak manfaat yang ditawarkan Drupal 8. Beberapa hal mungkin tampak sulit tetapi diperlukan untuk masa depan yang lebih kuat dan lebih sederhana.

Setelah menggunakan Drupal 8, Anda tidak perlu lagi “bermigrasi” – hanya “upgrade” sederhana dari Drupal 8,9 ke 9, lalu 9,9 ke 10 dan seterusnya, sudah cukup. Migrasi Drupal 7 ke Drupal 8 tidak selalu mudah dan langsung; Saya setuju. Mengikuti proses membantu tetapi Anda mungkin masih menghadapi beberapa tantangan selama migrasi, terutama jika model konten situs web Drupal 7 Anda sangat kompleks. Mari kita bawa Anda melalui migrasi langkah demi langkah dari Drupal 7 ke Drupal 8 dengan tantangan yang mungkin Anda hadapi. Dan rekomendasi kami tentang cara mengatasinya.

Drupal 8 Migrasi – Asumsi dan Persiapan

Bersiap adalah setengah dari kemenangan ”, kata novelis Spanyol Miguel De Cervantes. Migrasi Drupal 8 bisa menjadi rumit tetapi jika Anda telah menghabiskan cukup waktu dalam merencanakan migrasi, tantangannya tidak akan mengejutkan Anda. Adopsi Drupal 8 dari banyak standar pengembangan modern seperti Symfony, Twig, PHP 7, dll. telah menyebabkan pembangunan kembali ini secara lengkap tetapi juga membutuhkan pengalaman digital yang lebih kuat, kuat, dan fleksibel. Tercantum adalah beberapa pra-kondisi yang harus Anda ingat sebelum Anda memulai migrasi Drupal 7 ke 8–

  • Perbarui situs web Drupal 7 Anda ke versi terbaru yang tersedia. Ini akan membantu dalam pemutakhiran otomatis yang lebih bersih dari beberapa modul yang memiliki jalur pemutakhiran langsung Drupal 8.
  • Pastikan Anda memiliki akses ke database dan file situs web Drupal 7 (publik dan pribadi).
  • Buat cadangan situs web Drupal 7 dan gunakan cadangan ini untuk migrasi Drupal 8. Tidak disarankan untuk memigrasikan situs web yang berfungsi langsung meskipun migrasi itu sendiri tidak membuat modifikasi apa pun pada sumbernya.
  • Unduh instalasi baru Drupal 8 dari sini dan aktifkan modul inti Migrasi yang telah kita bahas di atas. Dan ingat, itu HARUS segar! Konfigurasi apa pun yang dibuat atau konten yang dibuat akan ditimpa saat peningkatan Drupal 8 dilakukan.
  • Tidak ada jalur peningkatan langsung dari Drupal 7 ke Drupal 8 (tidak seperti pada peningkatan versi sebelumnya). Biasakan diri Anda dengan sistem migrasi Drupal 8. Tiga modul yang ada di inti – modul Drupal 8 Migrate , modul Drupal 8 Migrate Drupal dan modul Drupal 8 Migrate Drupal UI .
  • Tentukan pilihan migrasi Anda – apakah Anda akan menggunakan Drush (yang memberi Anda kontrol granular) atau akankah Anda menggunakan antarmuka pengguna browser (lebih mudah tetapi lebih sedikit kontrol)?
  • Ketahui sumber Anda. Fleksibilitas sistem migrasi konten Drupal memungkinkan konten diekstraksi dan dimuat dari versi Drupal yang lebih lama dan berbagai sumber lain seperti CSV, XML, JSON, MYSQL, dll.
  • Untuk migrasi konten Drupal yang lancar, lakukan audit konten menyeluruh untuk mengidentifikasi konten yang perlu Anda migrasikan. Buang konten yang tidak digunakan dan tidak relevan untuk menghindari menghabiskan waktu dan tenaga dalam memigrasikannya.

Proses Migrasi Drupal 7 hingga 8 (Langkah demi Langkah)

  • Amati dan Rencanakan

Migrasi konten Drupal yang lancar mengharuskan Anda untuk terlebih dahulu Mengidentifikasi tipe konten dan struktur konten dari situs yang ada dan mendokumentasikan pengamatan. Ini termasuk tipe konten, tipe bidang, blok, taksonomi, dll. Siapkan rencana tentang apa yang perlu Anda migrasikan dan apa yang perlu digabungkan, berdasarkan pengamatan ini. Analisis tampilan dan konfigurasi situs lainnya dan buat katalognya sehingga lebih mudah untuk mereplikasinya di Drupal 8.

  • Buat daftar periksa modul situs web Drupal 7 Anda

Dengan daftar periksa ini, Anda seharusnya dapat mengidentifikasi modul yang masih Anda perlukan, atau jika ada versi Drupal 8 dari modul tersebut, atau jika modul tersebut sekarang telah dipindahkan ke Drupal 8 Core (seperti modul Media). Tidak semua modul Drupal 7 dapat dimigrasikan secara otomatis ke Drupal 8. Beberapa modul Drupal 7 mungkin telah menggabungkan fungsinya menjadi satu modul Drupal 8. Dan beberapa modul Drupal 7 mungkin telah memisahkan fitur-fiturnya menjadi dua atau lebih modul Drupal 8. Itu selalu lebih baik untuk menganalisis kasus seperti itu untuk memastikan tidak ada kehilangan data!

Rekomendasi Ahli – Gunakan modul seperti UI Migrasi Drupal untuk mengidentifikasi modul Drupal 7 dan modul Drupal 8 yang sesuai (jika tersedia atau tidak).

drupal-7-ke-8-migrasi

Pro Tip - Tidak ada versi modul yang tersedia untuk Drupal 8? Misalnya, modul ImageField di Drupal 7 tidak memiliki modul D8 yang sesuai. Kami mungkin harus menemukan alternatif yang paling cocok yang tersedia untuk ini di Drupal 8. Tentu saja, kami memiliki modul Media inti Drupal 8. Namun, kita harus mengembangkan skrip khusus untuk memigrasikan data gambar. memindahkan data gambar.

Rekomendasi Ahli – Jika Anda baru saja mewarisi situs web D7 dan tidak tahu tentang penyesuaian yang dibuat untuk modul ATAU Jika Anda telah membuat penyesuaian sendiri dan perlu menemukannya, kami sarankan Anda untuk menggunakan Hacked! modul. Modul ini akan melalui daftar modul yang tersedia di situs dan perubahan/penyesuaian yang dilakukan untuk setiap modul.

  • Replikasi dan Bangun
    Replikasi tipe konten, taksonomi, dan semua entitas yang diperlukan dalam instans D8 Anda. Tampilan harus dibuat secara manual setelah konten dibuat dan direplikasi.

Rekomendasi Ahli –

  1. File template (.tpl) di Drupal 7 harus ditulis ulang menggunakan file twig, yang merupakan bagian dari kerangka kerja symphony 2.
  2. Pastikan Anda menulis ulang modul kustom Anda yang mengikuti standar simfoni.
  • Menerapkan Migrasi Drupal 7 ke 8

Langkah yang paling ditunggu dan signifikan telah tiba. Seperti yang telah dibahas sebelumnya, ada dua cara untuk memigrasikan data Drupal 7 Anda ke Drupal 8 -

  1. Menjalankan migrasi dengan Drupal UI
  2. Menjalankan migrasi dengan Drush

Yang terakhir direkomendasikan karena lebih efisien, dapat dimasukkan ke dalam skrip shell, dan memiliki pesan kesalahan yang lebih jelas.

Metode UI Drupal

Memanfaatkan modul Migrate UI Drupal 8, Anda dapat memulai dengan mengunjungi jalur /upgrade situs web Drupal 8. Halaman tinjauan pemutakhiran Drupal 8 akan menampilkan daftar modul di situs Drupal 7 Anda yang dapat dan tidak dapat dimigrasikan secara otomatis ke Drupal 8. Untuk modul yang memiliki fungsinya di modul D8 lain tetapi tidak persis sama (seperti modul AddressField di D7 sekarang menjadi modul Alamat di D8), Anda harus menginstal dan mengaktifkan modul D8 yang sesuai dan memulai kembali proses migrasi Drupal 7 hingga 8. Berdasarkan katalog konten dan data yang diekstraksi, Anda perlu membuat skrip migrasi tempat Anda memetakan atribut tipe konten Drupal 7 dengan atribut tipe konten yang baru dibuat dari Drupal 8. Selanjutnya Anda dapat melanjutkan dengan mengimpor data dari a sumber data.

Metode Drush

Apakah Anda nyaman menggunakan terminal? Jika demikian, Anda harus memilih metode Drush untuk migrasi Drupal 7 hingga 8. Ini menyediakan serangkaian perintah untuk proses migrasi data dengan pesan status yang lebih baik. Lihat tutorial ini jika Anda mencari langkah demi langkah prosedur migrasi menggunakan perintah Drush. Belum pernah menggunakan Drush sebelumnya? Panduan ini akan membantu Anda memahami dasar-dasar Drush dengan daftar perintah yang berguna untuk migrasi.

Anda mungkin mengalami beberapa konflik sekarang. Pastikan Anda telah memeriksa masalah yang diketahui di Drupal . org dan cara memperbaikinya. Setelah diperbaiki, Anda sekarang dapat menjalankan proses Migrasi yang memberikan log/umpan balik berkelanjutan dari tindakan yang diambil. Terakhir, periksa log untuk kesalahan apa pun, perbaiki dan Anda siap melakukannya!

Rekomendasi Pakar – Tunggu! Setelah Anda membuat konten, jangan pernah mengabaikan tampilan SEO/halaman. Kami membutuhkan konten untuk memiliki jalur URL yang sama. Jangan lupa untuk berhati-hati dalam memigrasikan alias URL, informasi tag meta konten dari situs Drupal 7 yang lama.

  • Pengujian

Ada saat-saat yang sangat jarang ketika Anda tidak mengalami masalah selama migrasi Drupal 7 ke Drupal 8. Setelah migrasi selesai, pengujian regresi konfigurasi dan konten yang baru diimpor untuk mengidentifikasi potensi bug atau masalah mutlak diperlukan.

Tantangan dan Rekomendasi (lebih Pakar)

  • Banyak modul kontribusi Drupal 7 memiliki versi yang lebih baik dari diri mereka sendiri di Drupal 8 dan beberapa telah ditinggalkan. Misalnya, modul Koleksi Bidang, yang digunakan untuk mengelompokkan bidang di Drupal 7 akan segera dihentikan. Fungsionalitas modul ini telah ditambahkan ke modul Paragraphs dan modul Revisi Referensi Entitas di Drupal 8. Modul Drupal 8 Paragraphs memberikan fleksibilitas luar biasa bagi editor/penulis Konten untuk membuat bentuk dan struktur yang mulus. Jika Anda perlu memigrasi modul Koleksi Bidang dan memetakannya ke modul Paragraf (D8), Anda perlu menulis plugin khusus untuk memetakan konten antara bidang Koleksi Bidang ke bidang Paragraf. Atau jika Anda masih ingin melanjutkan migrasi modul Field Collection bahkan di Drupal 8, pemetaan bidang ini dapat ditangani oleh plugin migrasi Core yang tersedia.
  • Apakah Anda menggunakan Panel untuk membuat halaman arahan Anda seperti halaman Beranda, Dasbor, dll.? Bahkan jika Anda hanya perlu menempatkan blok di halaman beranda? Pembuat tata letak untuk menyelamatkan! Layout Builder di Drupal 8 memudahkan editor konten untuk menyesuaikan halaman arahan. Mari kita manfaatkan fitur Drupal 8. Untuk bermigrasi dari Panels ke Layout builder, Anda perlu menulis beberapa plugin migrasi khusus.
  • Saat memigrasikan pengguna, kami juga harus menjaga kata sandi agar pengguna tidak perlu membuat ulang kata sandi di situs baru. Kata sandi adalah konten hash. Jadi, Anda harus menemukan algoritma tipe hash yang digunakan di situs sumber. Berikutnya. tulis proses untuk memvalidasi kata sandi yang dimigrasikan dengan kata sandi yang diulang menggunakan algoritma yang sama.
  • Saat menjalankan migrasi Drupal 7 hingga 8, Anda dapat menghabiskan sumber daya sistem Anda yang dapat menyebabkan migrasi Anda berhenti. Berkat tanda highwater, Anda dapat menjalankan migrasi lagi dan harus melanjutkan dari tempat terakhirnya.
  • Modul Fitur yang banyak digunakan di Drupal 7 sekarang hampir menjadi usang setelah Manajemen Konfigurasi mengambil alih semua fungsionalitas Fitur dan lebih banyak lagi di Drupal 8. Meskipun modul Fitur juga tersedia di Drupal 8, sangat disarankan untuk memanfaatkan Konfigurasi Drupal 8 Sistem manajemen. Tidak hanya lebih mudah untuk digunakan, mudah untuk mengekspor antar lingkungan, ia menggunakan format file YAML alih-alih PHP – yang merupakan format data yang lebih mudah dibaca dan tepat.
  • Jika Anda memiliki situs web multibahasa Drupal 7 (atau 6), Anda dapat memanfaatkan modul Migrate Drupal Multilingual. Meskipun, modul multibahasa Migrate Drupal masih dalam tahap percobaan, modul ini harus dimiliki untuk semua situs Drupal multibahasa.
  • Menghadapi masalah dengan migrasi Drupal 7 ke Drupal 8 Anda? Ada beberapa cara untuk melaporkan kegagalan dan mendapatkan bantuan -

- Antrian Masalah Peningkatan Drupal 8

- Antrian masalah modul jika Anda menemukan bug atau pengecualian dengan modul inti/kontribusi

- Saluran IRC #drupal-migrate di Freenode

- Saluran #migrasi di Drupal Slack

- Sewa Pakar Drupal