Dibalik Pemimpin Proyek Paket Baru, Tim Peninjau Tema Meluncurkan Solusi Pemberitahuan Admin

Diterbitkan: 2019-09-19

Sebagai bagian dari rencana Tim Peninjau Tema WordPress untuk mengekang pemberitahuan admin yang mengganggu, tim mendorong versi 1.0 dari paket Pemberitahuan Adminnya ke publik. Paket baru menyediakan API standar bagi pembuat tema untuk menampilkan pemberitahuan admin.

Ari Stathopoulos mengambil alih sebagai pemimpin proyek paket pada akhir Agustus. Stathopoulos adalah pengembang utama dan pencipta kerangka kerja penyesuai Kirki berperingkat tinggi, yang saat ini memiliki 300.000+ pemasangan aktif sebagai plugin. Namun, kerangka kerja ini juga tersedia sebagai modul terpisah yang dapat digabungkan oleh penulis tema dalam tema mereka.

Paket Admin Notices adalah paket ketiga yang diproduksi oleh tim dan yang pertama dipelopori oleh Stathopoulos.

Menambahkan pemberitahuan admin dasar di WordPress relatif mudah bagi sebagian besar pengembang. Namun, menangani fitur seperti tindakan yang dapat diabaikan terus-menerus lebih kompleks. Paket Pemberitahuan Admin menangani ini di luar kotak.

Beberapa opsi untuk paket termasuk kemampuan untuk:

  • Tetapkan judul dan pesan.
  • Pilih jenis yang ditambahkan di kelas UI yang sesuai (info, sukses, peringatan, kesalahan).
  • Pilih di layar admin mana pemberitahuan itu muncul.
  • Batasi pesan berdasarkan kemampuan pengguna sehingga tidak muncul untuk semua pengguna.
Tangkapan layar pemberitahuan info, keberhasilan, peringatan, dan kesalahan dengan paket Pemberitahuan Admin.

Tangkapan layar di atas menunjukkan contoh keluaran pemberitahuan admin dasar untuk empat jenis yang tersedia. Tindakan pemberhentian ditangani oleh JavaScript dan berfungsi tanpa memuat ulang halaman. Setelah ditutup, pengguna tidak akan lagi melihat pemberitahuan tersebut.

“Saya pikir hal tersulit tentang itu adalah memutuskan seberapa ketat yang kami inginkan,” kata Stathopoulos tentang tantangan membangun paket ini. Paket ini membatasi penulis tema untuk paragraf, tautan, huruf tebal, dan elemen miring di versi 1.0. Itu tidak meninggalkan banyak ruang untuk eksperimen, tetapi standardisasi adalah tujuannya. Semakin banyak elemen yang diizinkan, semakin besar kemungkinan alat tersebut tidak menyelesaikan masalah tim dalam menjaga agar pemberitahuan admin tidak mengganggu.

Notifikasi Pengguna Adalah Masalah Kompleks

WordPress tidak menyediakan API formal untuk notifikasi pengguna. Namun, ia menyediakan satu set standar kelas CSS dan pengait untuk melampirkan pemberitahuan. Codex juga memiliki beberapa contoh praktik terbaik. Kurangnya API formal telah meninggalkan pembuat tema dan plugin ke perangkat mereka sendiri. Pengguna menderita karena implementasi yang sangat bervariasi dan masalah umum seperti iklan yang tidak dapat ditutup.

Tim Hengeveld mengusulkan API Pusat Pemberitahuan di Trac pada tahun 2018. Tiket tersebut memiliki diskusi yang sehat dan berkelanjutan dan beberapa proposal UI. Proposal masih ditandai sebagai "Menunggu Tinjauan", dan kemungkinan tidak akan dikirimkan lebih cepat dari WordPress 5.4 atau lebih baru.

Saat ini, banyak plugin dan tema juga menggunakan pemberitahuan admin untuk orientasi pengguna, yang merupakan masalah terpisah yang membutuhkan solusi. Ada tiket berusia 4 tahun yang membahas orientasi pengguna baru WordPress, tetapi tidak banyak gerakan untuk memecahkan masalah ini untuk plugin dan tema.

Meskipun paket TRT tidak mengatasi semua masalah yang terkait dengan notifikasi pengguna, paket ini membantu membatasi beberapa kerusakan jangka pendek.

Lebih Banyak Paket dalam Pekerjaan

Lebih banyak paket sedang dibangun dan lainnya dalam tahap perencanaan.

Tujuan dari keseluruhan proyek adalah untuk menyediakan modul drop-in kepada penulis tema yang dapat mereka gabungkan dengan tema mereka. Semua paket ditulis dalam PHP 5.6+ dengan harapan mendorong penulis tema menuju praktik pengkodean yang lebih modern (secara relatif, karena PHP 7.4 akan dirilis tahun ini). Ini juga akan membantu merampingkan proses peninjauan jika lebih banyak penulis tema mengadopsi paket daripada membangun semuanya sendiri.

“Jika kami membuat paket untuk hal-hal yang paling banyak diminta, semoga kami dapat memberdayakan orang untuk membuat tema berkualitas dengan lebih mudah,” jelas Stathopoulos. “Saya menganggap paket sebagai blok pembangun untuk tema.”

Stathopoulos sedang mengerjakan kontrol penyesuai untuk memilih warna dengan transparansi alfa, yang dapat dirilis paling cepat minggu depan. Ini akan memberi pengguna tema kontrol lebih besar atas bagaimana warna mereka muncul untuk tema yang menerapkannya.

“Setelah kami membangun dasar-dasarnya, saya ingin fokus pada paket yang akan meningkatkan a11y dan privasi dalam tema – dua area di mana tema gagal,” katanya. “Ini akan membantu banyak orang, dan itulah tujuan kami pada akhirnya.”

Penulis tema telah terbiasa menginstal paket JavaScript dan CSS melalui NPM selama beberapa tahun terakhir. Namun, penggunaan Komposer sebagai manajer ketergantungan PHP telah tertinggal. Di beberapa bagian, ini mungkin karena keengganan WordPress sebelumnya untuk mengubah versi minimum PHP-nya. Banyak paket yang tersedia di Packagist, repositori Composer utama, tidak bekerja dengan versi PHP yang lebih lama. Lompatan WordPress baru-baru ini ke PHP 5.6+ dan rencana untuk pindah ke 7+ di masa mendatang dapat mendorong lebih banyak penulis tema untuk mempertimbangkan manajemen ketergantungan PHP.

TRT memiliki akun Packagist dan telah membuat semua paketnya dapat diinstal melalui Composer.

Belum Ada Persyaratan untuk Menggunakan Paket

Tidak ada rencana saat ini untuk TRT untuk mulai mewajibkan penggunaan paket-paket ini untuk fitur-fitur khusus, tetapi beberapa anggota tim telah mengusulkan untuk melakukannya.

“Ada alasan yang sah untuk memaksakan penggunaan paket-paket ini, tetapi itu tidak bisa terjadi dalam semalam,” kata Stathopoulos. “Kami ingin tema dalam repositori memiliki beberapa standar, tidak boleh liar. Kualitas kode harus ditingkatkan. Paket-paket ini adalah cara untuk membuat hidup lebih mudah bagi orang-orang, dan pada akhirnya menghemat waktu untuk semua orang.”

Stathopoulos terbuka untuk penulis tema yang membangun implementasi khusus jika mereka dapat meningkatkan apa yang telah dibangun oleh tim, tetapi dia lebih suka bahwa penulis "mendiskusikan ide-ide mereka di repositori paket dan mengirimkan permintaan tarik sehingga seluruh komunitas dapat memperoleh manfaat."

Melibatkan penulis tema adalah salah satu area di mana tim telah berjuang. Berkontribusi pada paket dapat bermanfaat bagi seluruh komunitas. “Kebanyakan orang bahkan tidak tahu tentang mereka karena mereka tidak terdaftar di mana pun,” kata Stathopoulos. “Penulis Tema saat ini harus mencarinya, dan untuk mencarinya, seseorang perlu memberi tahu mereka bahwa mereka ada (yang tidak terjadi).” Salah satu langkah selanjutnya adalah mendapatkan paket yang tercantum dalam dokumentasi TRT.

Bekerja sama dalam fitur tema umum dapat menjembatani antara penulis tema dan pengulas, memungkinkan mereka untuk memecahkan masalah bersama.


Catatan: Penulis artikel ini terlibat dengan proposal paket tema awal dan pengembang pada rilis paket awalnya.