Review Laravel Admin CMS Voyager : Mudah, Lengkap, tapi ...

Category : Programming - 18 July 2018 13:42:56
Review Laravel Admin CMS Voyager : Mudah, Lengkap, tapi ...

Laravel adalah salah satu framework yang cukup terkenal karena strukturnya yang begitu rapi. Sebagai salah seorang yang baru berkecimpung di framework ini, kadang-kadang saya cukup kesulitan untuk mendevelop website dari awal, apalagi untuk pembuatan Admin Page / CMS yang menurutku lumayan ribet.. 

Jelas saja, Admin Page / CMS yang baik setidaknya harus punya menu2 CRUD, manajemen user & priviledge, settings, dan fitur2 lainnya. Mendevelop itu semua butuh banyak waktu dan punya kerumitannya masing-masing.. Tapi dengan hadirnya Laravel Voyager yang bisa kita lihat di https://laravelvoyager.com , kita bisa mendevelop admin page tanpa perlu terlalu memikirkan hal-hal itu lagi.. 

Untuk menginstall voyager bisa dicek langkah-langkahnya di https://voyager.readme.io/docs/installation. Disarankan menginstall sekalian pakai dummy data biar bisa langsung pakai. Sekarang saya akan membahas kelebihan sekaligus kekurangannya ya : 

 

KELEBIHAN

1. Fitur Lengkap

Untuk ukuran Admin Page / CMS standar, voyager sudah menyiapkan seluruh modul2 utama yang tinggal dipakai saja. Misalnya : 
- Module Menu Builder : untuk membuat menu otomatis di frontend maupun di backend
- Module Media Manager : untuk manajemen dokumen di folder storage
- Module Database Manager : untuk membuat, mengubah, bahkan menghapus database. Jadi kalau pakai voyager, bisa dipastikan command artisan migrate hampir nggak kepakai
- Module User & Roles : untuk membuat user baru + mengatur roles priviledge masing-masing user
- Module Settings : untuk membuat dan menyimpan data pengaturan website yang bisa kita atur sendiri sesuai kebutuhan

Dengan fitur2 ini, ibaratnya kalau kita cuma butuh CMS standar untuk manajemen post dan page ya udah langsung siap pakai deh.. 

 

2. Mudah dicustomize

Voyager menyediakan BREAD Builder alias CRUD Builder dimana kita bisa membuat menu baru di CMS dengan sangat mudah. Misalnya kita mau membuat halaman Event di CMS Admin, kita tinggal pertama2 membuat tabel di Database Manager, lalu masuk ke BREAD Builder untuk membuat halaman baru. Di BREAD Builder ini, kita bisa mengatur field apa saja yang akan muncul, dan mendefinisikan input type masing-masing field. Jadi kalau kita ingin membuat sebuah field yang bisa menampung gambar, ya tinggal pilih input type Image saja. Untuk penggunaan lebih detailnya ada di dokumentasi semua. Contohnya kira-kira seperti ini

BREAD Builder Example

 

KELEMAHAN

1. Sulit dicustomize

Wait, tadi di kelebihannya bilang mudah dicustomize, terus sekarang kok kelemahannya malah sulit dicustomize? Jadi begini, voyager ini sangat mudah dicostumize untuk kebutuhan standar. Tapi, untuk yang suka customize kelewat custom, voyager ini cukup sulit diutak-atik. Misalnya, saya ingin mengcustom tampilan datatablenya yang bagian IS_ACTIVE, saya mau nampilin switcher aja seperti gambar di bawah

Contoh Switcher

Nah, untuk melakukan hal ini, saya perlu buat class controller baru yang extend ke class controller defaultnya voyager, terus juga buat view browse yang mirip sama voyager, baru deh dicustom. Setelah itu di BREAD Definitionnya harus diubah juga nama controllernya. Padahal menurut saya, yang saya ingin tambah itu cuma hal sepele, tapi caranya untuk nambah yang sepele itu aja lumayan panjang dan ribet.. Mungkin akibat belum biasa aja sih..

 

2. BREAD Relationship yang susah digunakan juga

BREAD Builder yang disiapkan voyager ini juga mendukung manajemen relasi. Ibaratnya kalau biasa kita bikin di model pakai relasi hasOne, hasMany, belongsTo, dsb ini bisa dilakukan melalui BREAD Builder juga. Tapi setelah saya pakai beberapa lama ini, entah karena saya yang nggak ngerti-ngerti atau gimana, rasanya useless banget. Relasinya udah bener, tapi hasilnya ga sesuai seperti yang diharapkan. Ujung2nya mesti balik ke poin 1 lagi : custom sendiri.

Contoh relasi di BREAD Builder

Tapi, kalau kita cuma butuh Admin CMS yang nggak butuh relasi terlalu ribet bisa tenang karena nggak perlu pusing berurusan dengan yang satu ini..

 

 

Kesimpulan

Buat saya secara pribadi, Voyager ini adalah salah satu Admin CMS yang sangat membantu meringankan pekerjaan saya. Meringankan karena saya nggak perlu mikirin modul autentikasi, role management, setting dan segala macam lainnya. Tapi tetap saja buat saya kelemahan yang paling fatalnya itu di BREAD Relationshipnya yang susah diimplementasikan. Ujung2nya, memang kita tetap harus mengcustom beberapa halaman saja untuk membuat Admin CMS yang lengkap. 

 

Kalau ada rekan-rekan yang pernah menggunakannya, boleh dishare juga pengalamannya? :)