Kontributor Gutenberg Jelajahi Alternatif untuk Menggunakan iframe untuk Kotak Meta

Diterbitkan: 2017-11-08

Diskusi seputar penggunaan iframe untuk kotak meta di Gutenberg menjadi lebih panas selama akhir pekan, karena pengembang yang bersangkutan meminta tim untuk mempertimbangkan kerugian dari pendekatan saat ini. Tanggapan dari kepemimpinan Gutenberg pada awalnya mengalihkan perhatian, menghadirkan implementasi iframe sebagai eksperimen yang "berhasil 'untuk saat ini'" tetapi bukan yang akan dikirimkan oleh tim.

Alih-alih mendapatkan tanggapan atas kekhawatiran khusus tentang kinerja dan aksesibilitas pendekatan iframe, Kevin Hoffman didesak untuk memikirkan masa depan kotak meta dan “kasus (jika ada) yang tidak akan dikonversi menjadi blok.” Ketika komunitas pengembang berulang kali diminta untuk menguji dan menawarkan umpan balik tetapi dihadapkan dengan pembelokan pada isu-isu yang sangat penting untuk situs yang menggunakan WordPress sebagai CMS, diskusi GitHub mulai menjadi lebih panas.

“Orang-orang khawatir, dan menjadi frustrasi dan bagi saya tampaknya mereka memiliki hak untuk melakukannya karena persepsi bahwa tim yang bekerja di Gutenberg memiliki sedikit pemahaman tentang bagaimana kotak meta digunakan, sedikit kekhawatiran tentang apa dampaknya. , dan akan bergerak maju dengan visi mereka apa pun yang terjadi,” Jimmy Smutek, pengembang utama di kantor urusan eksternal di Johns Hopkins, mengatakan dalam menanggapi pengakuan kolaborator Gutenberg yang mengabaikan umpan balik.

Setelah beberapa putaran pengembang bergabung dengan utas untuk menyanggah anggapan bahwa iframe untuk kotak meta “berfungsi untuk saat ini,” pengembang utama Gutenberg Matias Ventura bergabung dalam diskusi kemarin dan mengonfirmasi bahwa eksperimen tersebut kemungkinan akan segera dihentikan.

“Saya senang percakapan tersebut pada akhirnya difokuskan kembali ke topik topik: apakah pendekatan meta-box saat ini dalam iframe layak? Dengan jawaban tidak, ”kata Ventura. “Iframe adalah detail implementasi yang saya pikir bisa kita hapus dengan relatif mudah. Jadi mari kita fokus pada itu.”

Dia juga membahas pendapat umum bahwa WordPress harus membuat peningkatan berulang pada editor itu sendiri (dan bukan halaman penuh) sebelum melanjutkan dengan merombak kotak meta.

“Apa yang disebut beberapa orang sebagai pendekatan pragmatis tidak sejalan dengan arah desain proyek ini sejak awal — menuju penyesuaian situs penuh — dan apa yang telah mendikte keputusan kami sejauh ini,” kata Ventura. “Tidak ada yang harus menjadi solusi akhir, kami sedang menjajaki apa yang mungkin di dalam tempat desain dan meletakkannya di sana untuk pengujian.”

Ventura mengatakan bahwa tidak membuat perubahan pada aspek lain dari layar edit tentu akan menjadi jalan paling sederhana untuk diambil Gutenberg, tetapi itu “tidak akan adil untuk tujuan proyek dan pengguna WordPress jangka panjang.”

Pengembang WordPress Gary Jones berpendapat bahwa mengejar pendekatan yang lebih berulang tidak akan mengubah tujuan proyek tetapi akan memungkinkan lebih banyak situs untuk datang selama proses tersebut.

“Melangkah selangkah demi selangkah tidak, dengan cara apa pun, membahayakan tujuan proyek,” kata Jones. “Anda masih dapat menuju ke penyesuaian ukuran penuh jika itu tujuannya, tetapi dengan melakukannya secara bertahap, Anda akan membawa komunitas pengembang lainnya bersama Anda.” Jones mengutip Customizer sebagai contoh fitur dalam WordPress dengan konsep yang direalisasikan dari waktu ke waktu dengan banyak iterasi.

Ventura menanggapi dengan klarifikasi tentang pendekatan tim Gutenberg untuk mengulangi proyek tersebut, sebuah perubahan paradigma yang mendukung pembuatan konten berbasis blok sejak awal.

“Kami telah mengusulkan pendekatan bertahap, dari posting fokus baru asli Matt, itu hanya mempertimbangkan langkah-langkahnya secara berbeda,” kata Ventura. “Umumnya ada tiga tahap untuk proyek Gutenberg: dari editor pos, ke templat halaman, hingga pembuatan situs. Apa yang primordial adalah bahwa paradigma adalah satu di mana konten adalah satu area, dengan blok sebagai konsep utama, dan di mana hasilnya dapat diwakili secara visual dengan jelas dan tanpa abstraksi yang berlebihan.

Ventura juga meyakinkan mereka yang mengikuti diskusi bahwa proyek tersebut tidak akan menghentikan dukungan untuk kotak meta tetapi membutuhkan lebih banyak waktu untuk bereksperimen dengan opsi antarmuka yang berbeda.

“WordPress selalu bergerak dengan pengguna, dan kami mengambil beban untuk mencari tahu jalur pengembangan untuk memudahkan transisi untuk kode kami yang ada,” katanya. “Sebagai sebuah proyek, kami telah mengatakan sebelumnya bahwa kami tidak menghentikan dukungan untuk meta-box dari WordPress, tetapi juga bahwa kami harus mengeksplorasi keputusan antarmuka apa yang harus kami buat dalam paradigma baru, termasuk kemungkinan memuat editor klasik. ketika kami mendeteksi meta-box yang tidak dapat kami tangani atau yang secara langsung bertentangan dengan editor yang berusaha untuk menggambarkan dengan lebih jelas apa itu konten dan apa itu meta-data.”

Dia juga mengatakan tim berencana untuk membuat lebih banyak mekanisme untuk menangani ketidakcocokan serta "memungkinkan lebih banyak hal untuk ikut serta (katakanlah jika Anda merasa nyaman dengan meta-box Anda yang ditampilkan di Gutenberg, Anda dapat menyatakan dukungan untuk itu, atau sebaliknya. ”

Pendekatan baru untuk merender kotak meta tanpa menggunakan iframe saat ini sedang berlangsung. Riad Benguella telah membuat permintaan tarik yang mencoba membatalkan iframe dan menerapkan saran yang ditawarkan Tom Nowell selama diskusi:

Alih-alih memuat Gutenberg di halaman pengaturan, mari muat ke halaman utama editor klasik, muat metabox di lingkungan asalnya, lalu angkat simpul DOM wadahnya ke dalam komponen melalui JS.

Kami kemudian menggunakan jenis sakelar yang berbeda untuk memastikan editor klasik masih dapat digunakan. Cara ini:

– kami menghindari omong kosong iframe
– metabox berfungsi seperti yang selalu mereka lakukan sejauh menyangkut pendaftaran
– JS yang ada berfungsi seperti yang diharapkan, dan tidak ada peretasan yang diperlukan untuk membuat semuanya berfungsi di akhir PHP

Pendekatan baru memiliki keuntungan tidak ada masalah dengan link, modals, duplikat stylesheet, dan kelemahan lainnya untuk menggunakan iframe.

Tim Gutenberg Membutuhkan Strategi Komunikasi Baru

Diskusi mengenai kelayakan jangka panjang menggunakan iframe untuk kotak meta telah menyoroti kurangnya pesan terpadu atau strategi komunikasi di antara para pemimpin Gutenberg. Kolaborator dalam proyek telah menjadi tidak sabar dengan komunitas karena tidak memahami visi, tetapi komunikasi tersebar di berbagai blog, komentar, saluran Slack, dan diskusi GitHub.

Morten Rand-Hendriksen telah membuka edisi baru yang meminta sumber daya terpusat yang dapat berfungsi sebagai garis besar bahasa sederhana tentang ruang lingkup, arah, dan tujuan Gutenberg.

“Pengamatan saya adalah komunitas sedang berjuang untuk melihat cakupan yang lebih luas dari proyek Gutenberg karena kurangnya satu sumber bahasa yang otoritatif yang berisi informasi ini,” kata Rand-Hendriksen. “Ini menciptakan spekulasi tingkat tinggi, miskomunikasi, dan frustrasi dari semua pihak dan proyek tersebut menderita sebagai konsekuensinya.”

Gutenberg memang memiliki pusat dokumentasi, tetapi sejauh ini dokumen-dokumen itu lebih teknis dan tidak memiliki peta jalan praktis tentang bagaimana tim bertujuan untuk mencapai tujuannya. Bagian FAQ dari dokumen saat ini adalah hal yang paling dekat dengan sumber daya bahasa sederhana yang diminta Rand-Hendriksen dalam tiketnya. File readme.txt untuk repositori GitHub Gutenberg dan plugin WordPress.org memberi kesan bahwa proyek ini hanya memperbarui editor saat ini menjadi berbasis blok, tidak merombak seluruh layar editor.

“Karena sifat retak dari informasi ini, sulit bagi siapa pun untuk mendapatkan gambaran yang jelas tentang keseluruhan proyek, dan meskipun posting Matias dan Matt melakukan pekerjaan dengan baik dalam menjelaskan visi besar proyek, mereka tidak memiliki perincian bahasa yang jelas dari hal-hal penting yang dibutuhkan masyarakat untuk mendapatkan pemahaman yang kuat tentang apa proyek ini dan ke mana arahnya,” kata Rand-Hendriksen. “Mereka juga ada sebagai satelit informasi independen yang mengelilingi proyek daripada bagian inti dari proyek itu sendiri.”

Komunitas membahas masalah GitHub dengan pertanyaan yang ingin mereka lihat dijawab dalam peta jalan produk bahasa sederhana yang lebih transparan. Dokumen seperti ini dapat membantu tim Gutenberg untuk mengomunikasikan tujuan proyek dengan lebih baik dan menghindari pengiriman pesan campuran yang menyebabkan kebingungan yang tidak perlu.