Tim Pengembangan Gutenberg Mengonfirmasi Meta Box API Tidak Akan Secara Resmi Dihentikan

Diterbitkan: 2017-08-09
kredit foto: Doors Open Toronto 2008 – Arsip Toronto – (lisensi)

Diskusi seputar bagaimana Gutenberg akan menangani kotak meta memanas selama akhir pekan setelah seorang peserta mengomentari masalah GitHub dengan kekhawatiran tentang dukungan kotak meta yang dihapus dari tonggak sejarah terbaru.

"Saya melihat masalah vital ini telah dihapus dari tonggak sejarah apa pun," kata @steveangstrom. “Ini telah diprioritaskan lagi sementara lonceng dan peluit untuk pengeditan blog mendapatkan banyak pekerjaan dan ditambahkan ke beta. Ini sangat mengkhawatirkan masa depan WordPress sebagai CMS.”

James Nylen, salah satu pengembang utama proyek tersebut, meyakinkan pengikut topik bahwa tim Gutenberg tidak melupakan masalah tersebut, melainkan bahwa itu adalah “masalah yang sangat rumit yang baru mulai kami selidiki, bersama dengan banyak, banyak prioritas lain untuk membuat editor bekerja dengan baik.” Ia juga meminta bantuan masyarakat dalam perencanaan dan pengujian implementasi untuk mendukung meta box.

Tanggapan ini membuat banyak hal menjadi tidak jelas. Peserta diskusi, banyak dari mereka adalah pengembang yang khawatir tentang prospek harus menulis ulang semua kotak meta mereka sebagai komponen React, bertanya-tanya mengapa kotak meta tidak dapat bekerja bersama editor Gutenberg yang baru dan mengapa tim memilih untuk memasukkan kotak meta ke dalam ruang lingkup proyek.

“Apakah mungkin untuk mengganti editor pos TinyMCE yang ada dengan Gutenberg sambil membiarkan sisa antarmuka, termasuk kotak meta dan kait yang ada, tidak berubah?” tanya Kevin Hoffman. Ketika Nylen mengklarifikasi bahwa Gutenberg, seperti yang ditulis hari ini, dimaksudkan untuk menjadi editor post_content , Hoffman merangkum kekhawatiran yang diungkapkan banyak pengembang:

Jika Gutenberg benar-benar dimaksudkan untuk menjadi editor post_content , maka kotak meta harus dibiarkan sendiri karena tidak terkait dengan post_content .

Lebih jauh lagi, kebutuhan akan API untuk menerjemahkan kotak meta PHP ke kotak meta React adalah masalah yang dibuat-buat. Itu tidak harus menjadi masalah, tetapi telah menjadi masalah karena suatu saat diputuskan bahwa menulis ulang editor post_content juga harus benar-benar mengubah cara kerja kotak meta.

Anda telah menguraikan tantangan luar biasa dalam menulis API semacam itu di #2251. Menerjemahkan kotak meta PHP ke dalam React untuk solusi bidang kustom populer seperti ACF cukup menantang, apalagi mencoba melakukannya untuk setiap implementasi kotak meta yang ada saat ini, populer atau tidak. Itu tidak skala.

Sebagai kontributor Gutenberg berbagi bahwa mereka baru saja mulai melihat ke dalam masalah kotak meta, sekarang jelas mengapa tidak ada peta jalan untuk bagaimana proyek akan menangani kotak meta PHP "warisan". Pada bulan Juli, Nylen berkata, “Jika saya harus menebak di mana kita akan berakhir di sini: metabox saat ini akan dipindahkan ke area “legacy” dan kami akan menyediakan API, dokumentasi, dan contoh untuk mendaftarkan blok metabox 'gaya baru' -barang.”

Pengembang plugin yang mengelola perpustakaan kotak meta, agensi, dan pihak terkait lainnya mengikuti tiket untuk mengetahui cara merencanakan WordPress 5.0, yang telah ditargetkan sebagai rilis Gutenberg. Andrey Savchenko bertanya apakah WordPress berencana untuk secara resmi menghentikan API kotak meta, yang akhirnya mendapat jawaban yang jelas dari tim. Matias Ventura menjawab:

“Apakah WordPress bermaksud untuk secara resmi menghentikan Metabox API?”
Tidak.

Pertanyaan yang belum sepenuhnya terjawab adalah bagaimana meta-box bekerja dalam konteks editor Gutenberg. Haruskah mereka tetap sama atau berevolusi? Bagaimana kita bisa bergerak menuju tujuan desain dengan gangguan sesedikit mungkin?

Masalah ini telah berlarut-larut bukan karena kurangnya keinginan, tetapi kurangnya sumber daya. Fokus utama untuk proyek ini adalah menawarkan antarmuka pengeditan konten yang kaya yang mengoptimalkan manipulasi langsung konten pengguna melalui gagasan blok. (Setelah menggunakan meta-box secara ekstensif untuk berbagai proyek, saya yakin blok dapat menawarkan langkah maju yang lebih baik untuk banyak kebutuhan tersebut sambil memberikan pengalaman pengguna yang lebih baik.)”

Ventura mencantumkan beberapa opsi yang telah dipertimbangkan tim untuk menangani kotak meta dan meminta bantuan dari komunitas untuk membangun solusi terbaik:

  • Jika kami mendeteksi meta-box terdaftar, kami dapat mundur ke antarmuka lama, tidak ada yang berubah.
  • Kami dapat membagi pengeditan konten dan memodifikasi informasi meta menjadi dua layar atau tahap.
  • Kita dapat mencoba melihat seberapa layak untuk merender ini sebagaimana adanya (PHP) di bawah konten: #2251.
  • Tema/plugin/CPT dapat membatalkan pendaftaran antarmuka baru sesuai kebutuhan.
  • Berbagai item yang mengandalkan kotak meta dapat dikonversi menjadi blok untuk UI (masih menyimpan data secara terpisah).
  • Kita dapat mengimplementasikan ekstensibilitas kotak meta berbasis API seperti Fields API.

Ketika didesak untuk menjawab pertanyaan mengapa kotak meta dimasukkan dalam konteks editor baru, pemimpin desain Gutenberg Joen Asmussen mengklarifikasi bagaimana tim memutuskan untuk memasukkan kotak meta ke dalam lingkup proyek:

Gutenberg memulai hanya dengan kotak editor. Tujuan kickoff adalah untuk menyatukan beberapa antarmuka yang berbeda di bawah satu antarmuka blok terpadu. Dengan cepat menjadi jelas bahwa agar kami dapat menciptakan pengalaman menarik seputar antarmuka blok terpadu ini, kami harus mempertimbangkan alur penulisan penuh, termasuk pengaturan dan penerbitan.

Jika kekuatan utama WordPress adalah memudahkan siapa saja untuk membuat rich post, maka kita tidak bisa hanya mendesain untuk kita yang sudah tahu cara menggunakan editor. Kami harus mempertimbangkan pengguna yang belum pernah menggunakan WordPress sebelumnya, dan apa yang mereka harapkan dari antarmuka penerbitan modern. Kalau tidak, kami hanya akan menambahkan beban kognitif ke antarmuka yang sudah berat.

Pertanyaan tentang bagaimana kotak meta akan masuk ke dalam konteks editor Gutenberg masih terbuka. Peserta dalam diskusi sangat ingin pertanyaan ini dijawab demi kompatibilitas mundur dan juga karena hal itu memengaruhi keputusan yang sedang berlangsung terkait pengembangan Gutenberg dan desain layar.

"Saya benar-benar mengerti berapa banyak pekerjaan yang telah dilakukan terhadap pendekatan penggantian 'layar'," komentar Xavi Ivars tentang masalah ini. “Tetapi bukankah seharusnya proyek yang dimulai dengan tujuan penggantian 'editor konten posting', telah kembali ke komunitas sebelum memutuskan secara sepihak bahwa itu akan menggantikan seluruh layar editor?”

API kotak meta tidak ditinggalkan tetapi juga tidak ada jalur yang jelas untuk bagaimana Gutenberg akan mendukung kotak meta PHP "warisan". Tim Gutenberg mengatakan masalah ini belum terpecahkan karena kurangnya sumber daya. Proyek ini membutuhkan masukan komunitas dan komunikasi yang lebih baik jika tim akan menemukan solusi yang akan dengan mulus mengantarkan sebagian besar situs WordPress ke era Gutenberg dengan kerusakan paling sedikit.

Saat ini, kelayakan rendering kotak meta PHP lama di bawah konten penuh dengan tantangan dan masih diperdebatkan. Jika tidak ada cukup waktu atau sumber daya klien bagi pengembang untuk menulis ulang pekerjaan mereka ke dalam kotak meta berbasis JS, maka jalur yang jelas untuk memilih keluar dari antarmuka Gutenberg mungkin diperlukan untuk situs yang perlu mempertahankan kotak meta "PHP" lawas .