Migrasi Konten Multibahasa dari CSV ke Drupal 8
Diterbitkan: 2021-07-13Migrasi data dari sumber apa pun ke Drupal 8 kini dibuat sederhana dengan berbagai modul yang memungkinkan transfer data mudah. Migrasi di Drupal adalah istilah untuk setiap proses yang memindahkan data dari sumber eksternal ke situs Drupal saat ini. Anda dapat memigrasikan data yang mencakup node, pengguna, konfigurasi, dan komponen situs lainnya.
Drupal memberi Anda banyak cara untuk memigrasikan konten. Bergantung pada situs web dan sumber data, Anda dapat memilih cara terbaik untuk melakukannya. Namun, memigrasikan data multibahasa dapat menambahkan beberapa langkah lagi ke proses migrasi Anda. Pertama-tama Anda harus memigrasikan konten dasar dan kemudian memigrasikan terjemahannya. Dalam artikel ini, kami akan menguraikan langkah-langkah ini untuk membantu Anda mendapatkan pemahaman yang lebih baik tentang migrasi konten multibahasa dari CSV ke Drupal 8.

Modul Migrasi Drupal 8 yang Anda Butuhkan
Seperti disebutkan sebelumnya, Drupal menawarkan banyak opsi dan modul yang dapat membantu Anda dengan migrasi yang mudah dan tidak merepotkan. Untuk memigrasikan konten multibahasa, Anda memerlukan:
- Migrasi: Menyediakan kerangka kerja yang fleksibel untuk memigrasikan konten ke Drupal dari sumber lain.
- Migrate plus: Menyediakan plugin untuk migrasi seperti plugin sumber, plugin proses, plugin tujuan, dan ekstensi API.
- Migrate Drupal: Menyediakan dukungan untuk memigrasikan konten dan konfigurasi.
- Migrasi sumber CSV: Menyediakan plugin untuk mengimpor konten ke Drupal dari file CSV.
- Alat migrasi: Modul ini memberikan alat UI dan perintah Drush yang digunakan untuk migrasi.
- Modul pengembangan konfigurasi: Modul ini mengubah skrip menjadi konfigurasi.
Langkah 1: Migrasi konten dasar
Untuk memulai dengan memigrasikan konten dasar, pertama-tama kita perlu membuat modul khusus di Drupal 8.

Pastikan info.yml memiliki kunci dan nilai ini.
Anda perlu membuat file yaml , yang dikenal sebagai skrip migrasi, dan meletakkannya di direktori config/install dari modul kustom yang dibuat. Kunci config_devel/install dari info.yml harus memiliki semua file yaml yang tertulis.

Ini adalah contoh file yaml untuk mengimpor istilah taksonomi. Skrip migrasi memiliki 4 bagian:
- Metadata: akan memiliki id, label, dan id grup migrasi.
- Sumber: Kunci sumber harus memiliki jalur ke file CSV.
- Proses: Pemetaan antara bidang dan kolom CSV.
- Tujuan: Tujuan tempat data yang diimpor disimpan.
Isi node file yaml harus ditulis dengan cara yang sama. Satu-satunya perbedaan adalah tujuan.

Plugin tujuan harus entity:node dan default_bundle akan memiliki nama mesin dari tipe konten yang diimpor kontennya.
Setelah membuat semua file yaml, ID yaml harus disertakan dalam info.yml . Setelah semuanya selesai, aktifkan modul khusus.
Gunakan perintah Drush drush cdi <migration id> . Di sini id migrasi adalah migrasi techx . Ini akan mengubah skrip menjadi konfigurasi.
Setelah menjalankan perintah, buka admin>structure>migration . Anda akan menemukan grup migrasi yang Anda buat dengan mengklik daftar migrasi. Ini akan menampilkan daftar skrip migrasi yang dibuat.

Mengklik tab eksekusi akan menampilkan daftar operasi yang tersedia:

Impor adalah untuk menarik data dari sumbernya.

Rollback akan menghapus data yang diimpor.
Stop adalah untuk menghentikan proses impor atau rollback.
Terkadang sebuah proses macet. Untuk memindahkan status ke idle, digunakan Reset .
Untuk informasi lebih rinci tentang cara memigrasikan data entitas yang berbeda seperti pengguna, paragraf, periksa Impor CSV untuk Migrasi Drupal 7 ke 8 - Panduan lengkap.
Langkah 2: Memigrasikan terjemahan konten dasar
Jika Anda telah mengaktifkan konten multibahasa di situs web Drupal 8 Anda, Anda dapat melewati langkah pertama. Jika Anda ingin tahu cara membuat situs web Drupal 8 multibahasa (dan mengapa Anda memerlukannya), lihat artikel ini.
1. Menambahkan bahasa ke situs web Drupal
Untuk mengimpor terjemahan, pertama-tama kita harus membuat situs web kita multibahasa. Mari kita lihat cara mengunduh bahasa ke situs.
- Aktifkan modul terjemahan Bahasa dan Konten . Ini adalah modul inti.
- Buka /admin/config/regional dan bahasa/bahasa/tambahkan bahasa.

- Mengklik dropdown memberi Anda daftar bahasa. Pilih bahasa yang Anda inginkan di situs dan klik Tambah bahasa . Ini akan mengunduh bahasa untuk situs Anda.
2. Mengaktifkan terjemahan untuk entitas
Setelah kami menginstal bahasa yang kami butuhkan, kami harus mengaktifkan terjemahan untuk entitas sebelum mengimpor atau menambahkan terjemahan ke konten. Untuk ini, buka admin/config/regional/content translation . Pilih entitas yang ingin Anda aktifkan terjemahannya dan klik Simpan konfigurasi .
Dalam contoh ini, saya mengimpor tipe konten blog dan dengan demikian saya akan mengaktifkan terjemahan untuk tipe konten blog.

3. Perbarui file migrasi
Ada beberapa perubahan yang perlu dilakukan pada file yaml untuk mengimpor terjemahan. Berikan jalur file CSV dari konten yang diterjemahkan sebagai konten dasar dan konten yang diterjemahkan disimpan dalam file yang berbeda. Perubahan terjemahan istilah.

Tambahkan tid kunci baru di bagian proses skrip dengan plugin sebagai migrasi, sumber sebagai id , dan nilai migrasi harus menjadi id migrasi dari skrip migrasi konten dasarnya.
Untuk migrasi simpul, tambahkan nid kunci baru di bagian proses. Di sini kunci migrasi akan memiliki nilai id migrasi dari skrip migrasi konten dasarnya.

Kunci lain yang harus ditambahkan adalah terjemahan dengan nilai yang disetel ke true . Ini harus ditambahkan di bagian tujuan dari semua skrip migrasi terjemahan terlepas dari entitasnya.

Tentukan bahasa yang terjemahannya diimpor menggunakan kunci kode lang . Dalam contoh ini saya mengimpor terjemahan bahasa Jepang, jadi nilainya adalah ja .

Perubahan ini memberi tahu skrip untuk mengambil id konten dari migrasi konten dasar dari mana konten ini diperlakukan sebagai terjemahan daripada simpul baru.
Poin yang perlu diingat
- Proses impor harus berjalan berurutan. Misalnya, jika istilah dirujuk dalam node, istilah tersebut harus diimpor terlebih dahulu sebelum konten node.
- Aktifkan terjemahan untuk entitas sebelum mengimpor terjemahan.
- Urutan konten terjemahan dalam file CSV harus sama dengan konten dasar. Artinya, konten dasar dan terjemahannya harus berada di baris yang sama dalam file CSV.
- Impor konten dasar terlebih dahulu kemudian konten terjemahan. Jika tidak, keduanya akan diperlakukan sebagai konten individual.
