Cara Mengimpor Umpan Eksternal ke Situs Web Drupal 9 Anda dengan Modul Umpan
Diterbitkan: 2020-11-03Sebagai pengembang, Anda akan menemukan beberapa situasi saat Anda perlu mengimpor data dari sumber eksternal. Terkadang Anda perlu mengimpor data dari lebih dari satu sumber ke situs web Drupal 9 Anda. Modul Feeds di Drupal adalah modul sederhana yang memungkinkan pengguna non-teknis untuk mengimpor konten dari sumber data yang berbeda. Apa yang membuatnya lebih sederhana daripada modul Drupal lain seperti modul Migrate, adalah bahwa seluruh proses impor dilakukan melalui UI Drupal. Ini memberikan konten kepada Anda seperti yang Anda inginkan segera setelah tersedia.
Banyak situs web mengimpor umpan RSS / XML dari situs pihak ketiga. Di blog ini, kita akan mendapatkan umpan berita yang diimpor melalui API pihak ke-3 ini yang menyediakan data dalam format json dengan bantuan modul Umpan di Drupal 9.

Memasang Modul Umpan Drupal
Modul Feeds untuk Drupal 9 memungkinkan Anda mengimpor data dari berbagai format seperti CSV, XML, JSON, RSS, dll. ke dalam node, pengguna, dan istilah taksonomi melalui UI.
1. Instal modul Drupal Feeds (Disini kita akan menggunakan composer)
composer require 'drupal/feeds:^[email protected]'composer require 'drupal/feeds:^[email protected]'
2. Di sini, kami menggunakan umpan JSON untuk mengimpor data. Jadi, kita memerlukan parser JSON yang mengharuskan kita untuk menginstal satu modul lagi yaitu parser yang dapat diperluas Feeds. Cara terbaik untuk menginstal modul ini adalah dengan menggunakan komposer karena mengunduh semua pustaka yang diperlukan. (Anda juga dapat melewati langkah pertama jika Anda mengunduh menggunakan komposer karena modul feed Drupal akan menjadi dependensi untuk modul feed_ex ).
composer require 'drupal/feeds_ex:^[email protected]'composer require 'drupal/feeds_ex:^[email protected]'
Catatan: Jika Anda tidak menggunakan composer untuk menginstal, maka library yang diperlukan oleh modul ini juga dapat diinstal dengan modul Ludwig. Instal modul Ludwig lalu buka /admin/reports/packages untuk instruksi lebih lanjut.
3. Aktifkan modul feeds dan feeds_ex (Feeds Extensible Parser) baik dengan menggunakan drush atau melalui UI.

Mengonfigurasi dan Menerapkan Modul Umpan
Di sini, kita akan mengimpor data dari https://newsapi.org/ artikel situs web (Topik yang terkait dengan “ Berita utama teratas dari TechCrunch sekarang ”) yang diekspos dalam format JSON yang ditunjukkan pada tangkapan layar di bawah.
Untuk mendapatkan data berita ini kita perlu login ke situs web dan mendapatkan kunci API. Selanjutnya, pilih topik yang ingin Anda impor datanya ke situs web Anda.

Melihat API, mari buat tipe konten di mana data kita perlu diimpor.
Membuat Jenis Konten
Di sini, saya telah membuat tipe konten baru yang disebut “ Berita ”. Pilih jenis bidang sesuai dengan JSON Anda yang datanya perlu dimigrasikan.

Pada tangkapan layar di atas, kami telah memilih bidang sederhana untuk mengimpor data seperti Penulis yang merupakan bidang Teks (polos) untuk mengimpor data dari penulis kunci JSON .

Seperti yang Anda lihat pada tangkapan layar di atas, kami telah menambahkan bidang item Umpan dari jenis Umpan dan memilih jenis umpan yang sesuai. Kita akan mempelajari cara membuat jenis Umpan di bagian selanjutnya di bawah ini.
Membuat Jenis Umpan
Ikuti langkah-langkah di bawah ini untuk membuat jenis umpan.
- Navigasikan ke halaman ikhtisar Umpan ( /admin/structure/feeds ). Anda dapat melihat semua feed Drupal yang terdaftar di halaman ini.
Saya sudah membuat 2 feed. Di sini saya akan menggunakan News feed . Anda dapat membuat jenis umpan Anda sendiri dengan mengklik Tambahkan jenis umpan. - Saat mengedit jenis umpan atau menambahkan jenis umpan baru, kita akan melihat opsi di bawah ini.
- Pengaturan dasar
Mari kita konfigurasikan pengaturan Dasar untuk jenis umpan, Pertama, berikan Nama, Deskripsi, dan Penjelasan atau pedoman pengiriman untuk jenis umpan.
Periode impor (ditampilkan di tab setelan di bawah) membantu Anda memilih seberapa sering impor harus dijalankan. Ini akan dilakukan melalui pekerjaan cron. Jika Anda memilih Off maka impor akan dilakukan secara manual.

- Opsi pengaturan Fetcher menunjukkan dari mana Anda mengimpor konten atau mengambil konten.
Ini menyediakan 3 opsi untuk dipilih,
- Direktori:- Impor konten dari file atau serangkaian file yang sudah ada di situs web Anda.
- Unduh dari URL: - Impor konten dari url (Yang akan kami pilih dalam kasus kami).
- Unggah file:- Impor konten dari file.
Berdasarkan Fetcher yang dipilih, kita harus mengonfigurasi pengaturan Fetcher. Untuk opsi sekunder pengaturan fetcher, kami memiliki daftar pengaturan di bawah ini.

- Deteksi otomatis feed
- Gunakan PubSubHubbub
- Selalu unduh
- Minta waktu habis
Konfigurasikan pengaturan sekunder yang sesuai.

• Parser memungkinkan Anda mengonfigurasi format umpan. Di sini kami memiliki banyak opsi untuk dipilih seperti CSV, HTML, OPML, JsonPath (yang merupakan pengaturan kami), dll. Pilih salah satu dari menu tarik-turun sesuai dengan format umpan Anda.
Berdasarkan parser yang dipilih, kita harus mengkonfigurasi pengaturan parser. Dalam kasus kami, kami tidak memiliki pengaturan parser untuk parser tipe JsonPath.
• Pengaturan prosesor menunjukkan konfigurasi jenis konten yang akan dibuat feed.
Demikian pula, kami memiliki opsi pengaturan sekunder untuk prosesor seperti yang ditunjukkan pada gambar di bawah.

Konfigurasikan pengaturan sekunder Anda sesuai dengan kebutuhan.
Tangkapan layar di bawah menunjukkan pengaturan utama fetcher, parser, dan prosesor.

3. Memetakan sumber ke target
- Konteks
Teks bantuan mengatakan kueri dasar untuk dijalankan, yang menunjukkan akar atau basis data yang akan ditargetkan untuk impor umpan Drupal sebagai konten. Dalam contoh kita, kita telah mengonfigurasinya sebagai “$.articles .*” karena data kita berada di dalam kunci artikel. Lihat dokumentasi jalur ini untuk mengonfigurasi milik Anda.
- Pemetaan Lapangan
Sekarang, kita dapat mengonfigurasi modul Feeds untuk memutuskan nilai mana yang ditarik dari JSON yang harus dipetakan ke bidang mana pada tipe konten berita Drupal.
Target ini adalah bidang data Drupal dan ditarik berdasarkan prosesor yang Anda pilih saat membuat jenis umpan. Anda juga dapat mengonfigurasi pengaturan lain untuk pemetaan bidang tertentu seperti Bahasa, format filter (berlaku untuk bidang berformat teks), unik (pengidentifikasi unik yang digunakan untuk melacak apakah konten baru atau yang sudah ada), dll.
Misalnya, jika kita ingin mengimpor judul konten artikel berita umpan JSON sebagai bidang judul konten berita Drupal maka targetnya adalah bidang Judul Drupal dan sumbernya adalah kunci judul artikel berita JSON seperti yang ditunjukkan pada tangkapan layar di bawah.

Di sini kita menggunakan konfigurasi pemetaan seperti yang ditunjukkan pada gambar di bawah.

Anda juga dapat mengkloning jenis umpan menggunakan modul Entity clone Drupal yang juga didukung di Drupal 9.
Membuat Umpan
Untuk membuat umpan, navigasikan ke konten -> tab Umpan -> tambahkan umpan -> pilih jenis umpan

Saya sudah membuat satu untuk Berita. Untuk membuat umpan baru, klik tombol + Tambahkan umpan dan konfigurasikan umpan sesuai kebutuhan. Untuk blog kami, kami telah mengonfigurasi seperti yang ditunjukkan pada tangkapan layar di bawah ini.

Setelah konfigurasi, klik Simpan dan Impor . Ini akan mengimpor feed Drupal sebagai konten. Saat data diimpor, Anda akan melihat status pemrosesan seperti yang ditunjukkan pada gambar di bawah.

Setelah data JSON dimigrasikan ke konten, kita dapat melihat konten ditambahkan ke jenis konten berita seperti yang ditunjukkan pada tangkapan layar di bawah.

Sekarang, mari kita bandingkan konten yang diimpor dengan feed.


Untuk informasi lebih rinci Anda dapat merujuk ke panduan ini.
Modul tambahan untuk memperluas modul Umpan
• Modul Tamper Umpan membantu Anda memodifikasi dan memperbarui data sumber sebelum diimpor ke situs web Anda.
• Umpan parser yang dapat diperluas berisi kumpulan parser seperti XPath XML & HTML, JSONPath JSON & JSON lines parser, dll.
• Modul Pratinjau Impor Umpan memungkinkan Anda melihat konten di sumber Anda sebelum mengimpornya.
• Modul Commerce Feeds membantu Anda mengimpor produk ke situs Drupal Commerce Anda.
