Tidak selamanya fitur baru itu lebih baik daripada fitur yang lama. Hal ini terjadi pada halaman User Privileges yang dibangkitkan oleh PHPMaker 2023. Pada versi 2022, PHPMaker masih menggunakan jTable, sementara pada versi 2023 menggunakan Tabulator.
Setelah beberapa hari bereksperimen dengan halaman User Privileges pada aplikasi web yang dihasilkan oleh PHPMaker 2023, mulai muncul satu per satu masalah yang agak membuat jengkel akibat penggunaan Tabulator.
Masalah yang pertama timbul, ketika mencoba memilih salah satu permission untuk semua table yang ada. Biasanya, saya memilih permission Lookup sekaligus untuk semua table supaya lebih cepat. Untuk itu, saya beri centang pada judul table kolom Lookup. Setelah data disimpan sebenarnya belum terjadi masalah.
Namun ketika data ditampilkan kembali, hanya beberapa table saja dari atas yang tercentang. Beberapa table selebihnya di bagian bawah tidak tercentang. Kaget juga, kenapa bisa terjadi seperti itu? Sudah curiga, pasti ada yang tidak beres nih akibat pemakaian Tabulator!
Eh, ternyata penyebabnya karena saya membatasi tinggi table di halaman tersebut, katakanlah menjadi 350px agar bisa memanfaatkan fitur frozen table-nya. Begitu saya tidak membatasi tinggi table tersebut, semua table bisa tercentang alias normal.
Kalau tidak dibuat frozen judul table atas dan kolom paling kiri, lantas buat apa pakai Tabulator dong? Sama saja seperti menggunakan table biasa, seperti yang digunakan oleh template asli PHPMaker 2023, padahal library-nya menggunakan Tabulator.
Permasalahan kedua timbul, ketika tinggi table diset seperti di atas, kemudian saya melakukan scroll vertical ke bawah atau ke atas, performansi saat rendering data Checkbox di dalam table tersebut terasa lambat. Pokoknya gak nyaman gitulah.
Apakah karena library Tabulator yang digunakan ini memiliki fitur yang terlalu banyak dan harus menangani beberapa kemungkinan, sehingga terasa lelet ketika di-scroll table-nya? Hmm… bisa jadi! Tapi kenyataannya seperti itulah yang terjadi.
Tidak berhenti di situ saja, permasalahan ketiga timbul ketika template PHPMaker 2023 diperbarui beberapa hari yang lalu. Akibat pembaruan tersebut, Tabulator pun ikut-ikutan diperbarui dari versi 5.3.4 ke 5.4.1. Mau tidak mau Masino Extensions for PHPMaker 2023 menggunakannya juga dong?
Setelah generate ulang semua file script, eeeh tiba-tiba judul kolom table yang menampilkan control checkbox Permission tetap pada posisinya ketika saya melakukan horizontal–scroll ke arah kanan, dengan tujuan supaya beberapa kolom Permission yang tadinya tidak kelihatan di sebelah kanan menjadi kelihatan.
Wah, parah dan kacau ini pikir saya. Kok jadi begitu siih? Ada apa dengan Tabulator? Kok bisa-bisanya lebih buruk performansinya daripada jTable yang digunakan oleh PHPMaker pada versi sebelumnya, yaitu v2022. Padahal kalau melihat dari website resminya, sepertinya ini library harusnya sih baik-baik saja.
Tiga masalah utama ini cukup mengganggu juga. Akhirnya, tanpa berlama-lama lagi, hari ini saya memutuskan untuk segera mengganti pemakaian Tabulator pada halaman User Privilege (userpriv.php) yang dibangkitkan oleh PHPMaker 2023, menjadi menggunakan jTable.
Tentu saja keputusan ini harus segera saya ambil, setelah membandingkan secara langsung antara v2022 dan v2023. Saya tidak ingin mati-matian mempertahankan library Tabulator yang digunakan oleh PHPMaker v2023, sementara kenyataannya tidak lebih baik daripada jTable yang digunakan pada v2022.
Jangan khawatir, meskipun saya menggunakan jTable, tooltip nama asli table dari kolom Table di sebelah paling kiri yang posisinya freeze, akan tetap didukung dengan cara menampilkannya ketika Pengguna Akhir menggeser kursor mouse ke atas nama alias table-nya. Butuh waktu beberapa jam untuk mengeksplorasi bagaimana menampilkan nama asli table tersebut.
Oleh karena itu, bagi Anda yang mengalami permasalahan yang sama di atas, segera download ulang Masino Extensions for PHPMaker 2023. Timpa yang lama dengan yang baru ini, lalu pastikan untuk men-generate ulang semua file script seperti biasa menggunakan PHPMaker 2023.
Sekali lagi, pelajaran penting hari ini adalah, tidak selamanya fitur yang baru lebih baik daripada fitur yang lama.
Tinggalkan Balasan