Quantcast
Channel: Masino Sinaga
Viewing all 176 articles
Browse latest View live

Alasan Mengapa Seharusnya Anda Tidak Memakai AdminLTE di Template PHPMaker 2018

$
0
0

Seperti yang sudah saya bahas di artikel sebelumya, penggunaan AdminLTE di PHPMaker 2018 membuat tampilan Aplikasi Web yang dihasilkan olehnya menjadi tidak begitu menarik lagi. Fitur Menu dan tampilan Layout yang serba tanggung (akibatnya menjadi tidak menarik), membuat Web Developer seperti saya langsung memutuskan untuk merombak total template yang digunakan di versi ini.

Mengapa saya katakan fitur Menu dan Layout yang serba tanggung dan pada akhirnya menjadi tidak menarik? Oke, mari langsung kita buktikan, ya.

Silahkan lihat kembali demo asli PHPMaker 2018 yang satu ini. Pastikan Anda sudah mengklik link barusan, supaya kita dapat membahas demo yang mereka sediakan.

Dari demo itu, sekarang cobalah klik icon hamburger menu di bagian kiri atas, lalu perhatikan apa yang terjadi. Ya, Sidebar Menu yang berada di sebelah kiri semuanya disembunyikan, atau istilahnya disebut dengan off-canvas. Artinya, tidak ada sama sekali bagian icon dari Item Menu pada Sidebar Menu tersebut yang ditampilkan. Sesuatu yang sangat tidak lazim untuk sebuah Aplikasi Web yang ditampilkan dalam mode Desktop.

Bagaimana mungkin bagian Sidebar Menu itu disembunyikan semuanya dalam mode Desktop? Kalau untuk mode Phone, okelah, masih bisa dipahami. Lha ini dalam mode Desktop, kok jadi dibuat seperti itu, sih? Sangat aneh mereka membuat logic seperti itu. Seharusnya, Sidebar Menu tersebut tetap ditampilkan sebagian, yaitu hanya icon yang mewakili Item Menu yang berperan sebagai parent. Itu fakta Pertama.

Fakta Kedua, silahkan klik lagi icon hamburger menu untuk menampilkan Sidebar Menu, lalu klik menu OTHER TABLES, kemudian klik sub-menu dji. Anda sekarang akan melihat halaman dengan judul dji. Tapi bukan itunya yang akan kita kritisi. Sekarang klik lagi icon hamburger menu di kiri atas untuk menyembunyikan Sidebar Menu tersebut, lalu setelah itu klik tombol Next di bagian pager untuk mem-browse ke halaman kedua dari menu dji tadi. Setelah halaman kedua ditampilkan, sekarang Anda lihat bahwa Sidebar Menu tadi ditampilkan kembali. Padahal, sebelumnya kita ingin menyembunyikan Sidebar Menu tersebut (kalau memang itu yang author PHPMaker inginkan untuk menyembunyikan semua Sidebar Menu tersebut).

Di fakta Kedua ini, kelihatan ketidakkonsistenan dan ketidaknyamanan yang diberikan dari sisi Pengalaman Pengguna (User Experiences) saat berinteraksi dengan antarmuka Aplikasi Web tersebut. Kalau memang maksudnya kita bisa menyembunyikan Sidebar Menu tadi dengan mengklik icon hamburger menu tersebut, lantas mengapa Sidebar Menu itu tiba-tiba ditampilkan kembali, padahal kita sama sekali tidak ada mengklik secara eksplisit icon hamburger menu itu? Sudah semakin jelas kan, pada fakta Kedua ini, ketidaknyamanan dan ketidakkonsistenan yang diberikan oleh template asli bawaan PHPMaker 2018?

Selanjutnya mari kita beranjak ke fakta Ketiga. Klik menu Login yang berada di pojok kanan atas dari bagian Header Aplikasi Web demo tersebut. Di halaman selanjutnya masukkan username admin dan password master, lalu pastikan Anda mengklik atau memberi tanda centang pada bagian I’m not a robot, lalu klik tombol Login. Jika sudah berhasil, maka sekarang klik menu OTHER TABLES, lalu klik sub menu orders 2.

Sekarang Anda seharusnya sudah berada di halaman List dari table orders 2. Perhatikanlah di sebelah paling kanan dari tabel utama pada halaman tersebut. Untuk lebih jelasnya, silahkan scroll ke bawah dari browser yang Anda gunakan, lalu perhatikan bahwa terdapat scroll horizontal di bagian bawah browser Anda. Geser ke kanan sampai scroll horizontal itu mentok, lalu perhatikan bagian tabel yang posisiya sudah melebihi dari batas lebar maksimal awal dari layar halaman List tadi. Ya, bagian tabel itu kelihatan sangat jelek sekali. Sungguh sangat tidak nyaman dilihat. Sangat tidak profesional.

Itu artinya apa? Artinya, sebenarnya di halaman List dari orders 2 tadi menggunakan extension ScrollingTable yang berfungsi untuk membatasi lebar maksimal tabel di halaman List tersebut tidak boleh lebih besar dari lebar awal dari halaman List saat ditampilkan. Jadi, jika pun lebar tabel yang sebenarnya melebihi lebar layar utama halaman List, maka harus muncul komponen scroll di bagian bawah dari tabel tersebut saat halaman itu pertama kali ditampilkan. Tapi sayangnya, yang terjadi sesungguhnya tidaklah seperti yang diinginkan.

Dari fakta Ketiga ini, sudah dapat diambil kesimpulan bahwa AdminLTE yang digunakan di PHPMaker 2018 ini ternyata membawa dampak juga terhadap pemakaian extension ScrollingTable tersebut menjadi tidak sesuai dengan yang diharapkan. Scrolling horizontal di bagian tabel baru muncul setelah jendela browser kita resize. Seharusnya, pada saat halaman pertama kali dimuat, efek ScrollingTable harus tetap muncul untuk case seperti di menu orders 2 tadi. Jadi, kondisi yang tidak diharapkan ini membuat Aplikasi Web menjadi semakin tidak profesional.

Melihat semua kondisi itu, akhirnya membuat saya merombak template yang digunakan oleh PHPMaker 2018. Artinya, yang tadinya menggunakan AdminLTE, sekarang menjadi tidak menggunakan AdminLTE lagi! Saya merombak total template asli PHPMaker 2018, sehingga menghasilkan Aplikasi Web dengan fitur-fitur yang lebih kaya dan fleksibel, seperti yang bisa Anda lihat melalui demo ini.

Silahkan Anda bandingkan sendiri, fitur-fitur apa saja yang dapat Anda rasakan lebih baik dari sisi kenyamanan, tampilan, ketersediaan fitur, ketersediaan pengaturan yang bersifat dinamis pada demo yang terakhir ini? Tidak perlu saya jelaskan secara detail. Cukup Anda coba supaya dapat feel-nya.

Jadi, sudah tahu sekarang ‘kan, mengapa seharusnya Anda tidak menggunakan AdminLTE pada template asli bawaan PHPMaker 2018? Gratisan, kok minta bagus! Huh! 😛


Mengapa Saya Buat dan Pakai Template atau Layout yang Seperti Ini di PHPMaker?

$
0
0

Sejak PHPMaker versi 2017, saya sudah membuat Template khusus yang seperti ini. Kemudian dilanjutkan lagi pada PHPMaker 2018, saya pun membuat Template yang sama seperti ini.

Tentu saja ada alasan yang kuat, mengapa akhirnya saya memutuskan untuk membuat dan menggunakan Template atau Layout seperti itu di Aplikasi Web yang saya bikin dengan menggunakan PHPMaker. Ada terlalu banyak alasan yang harus saya sampaikan di sini, mengapa saya mati-matian memperjuangkan bahwa saya harus dan harus dan harus bisa membuat Template tersebut.

Alasan pertama, karena saya sudah bosan melihat Template atau Layout yang sangat standar bawaan PHPMaker. Ya, sejak versi 2017, keinginan saya untuk membuat sendiri Template di atas sudah sangat kuat. Tiga bulan terakhir sebelum PHPMaker versi 2018 dirilis, sebenarnya saya sudah sangat sering mengeksplorasi di Internet mengenai bentuk, gaya, dan tampilan Layout di Aplikasi Web yang sedang nge-trend, apalagi dengan fitur-fitur pengaturan yang bersifat fleksibel.

Alasan kedua, karena saya ingin membuat Layout Menu secara Vertical (letak Sidebar Menu di samping), atau Layout Menu secara Horizontal (letak Navbar Menu di bagian atas). Saya juga ingin agar kedua Layout tersebut bisa diganti dari yang satu ke yang lainnya dengan sangat mudah oleh Pengguna Akhir, tanpa harus men-generate ulang terlebih dulu semua file script dengan menggunakan PHPMaker setiap kali ingin mengganti salah satu Layout tersebut.

Alasan ketiga, karena saya ingin posisi Header, Footer, dan Sidebar yang selalu lengket di posisinya masing-masing (fixed), sehingga ketika kita mem-browse konten di bagian tengah, elemen-elemen tersebut tetap berada di posisinya. Selain itu, saya juga ingin agar elemen-elemen tadi bisa juga dibuat tidak harus selalu lengket pada posisinya (relative).

Alasan keempat, karena saya ingin warna Header, Sidebar Menu (Vertical) atau Navbar Menu (Horizontal), Footer, Main-Content, dan Background Aplikasi Web bisa diganti-ganti warna dan atau polanya. Dengan demikian, tidak ada lagi istilah bagi Pengguna Akhir yang bosan dengan warna dan tema Aplikasi Web yang hanya bisa yang itu dan itu dan itu saja. Apalagi jika hanya satu pilihan, betapa bosannya Pengguna ketika menggunakan Aplikasi Web tersebut.

Alasan kelima, karena saya ingin Sidebar menu bisa disembunyikan sebagian dan hanya menampilkan icon yang mewakili setiap item menu di dalamnya (mini-sidebar). Saya juga ingin ketika Pengguna menggeser mouse di atas Sidebar tadi, ketika status Sidebar dalam keadaan mini-sidebar, maka Sidebar akan ditampilkan kembali dalam keadaan penuh seluruhnya. Demikian juga ketika mouse tidak berada di atas Sidebar tersebut, maka statusnya akan kembali lagi kepada mini-sidebar.

Alasan keenam, karena saya ingin adanya efek Sidebar yang bisa dipilih oleh Pengguna, apakah Shrink, Push, maupun Overlay. Secara standar, pilihan yang paling sering digunakan adalah Shrink, di mana semua konten akan tetap kelihatan, karena bagian pinggir kiri dan kanan akan tetap pada posisinya, dan hanya bagian tengah saja yang akan menyesuaikan sesuai dengan lebar area yang ditampilkan.

Alasan ketujuh, karena saya ingin Trigger untuk menampilkan atau mengakses menu, bisa dipilih apakah menggunakan metode Hover atau Click. Masing-masing metode itu tentu memiliki kelebihan dan kekurangan masing-masing. Tergantung dengan kondisi dan kebutuhan serta karakteristik Menu yang digunakan di Aplikasi Web tersebut. Intinya, bagaimana supaya kedua metode Trigger Menu tadi bisa dipilih oleh Pengguna dengan mudah dan cepat, dan sesuai dengan kebutuhan.

Alasan kedelapan, karena saya ingin ketika Pengguna sedang menampilkan halaman tertentu, maka item menu dari halaman yang sedang terbuka itu akan otomatis tersorot (highlight). Demikian juga dengan item parent menu dari item menu tersebut akan berusaha untuk ditempatkan di bagian atas dari Vertical Layout. Hal ini sangat berguna jika di Aplikasi Web tersebut memiliki banyak sub-menu, sehingga Pengguna Akhir Aplikasi Web tidak merasa kebingungan mengenai item menu dari halaman mana yang sedang dikunjungi saat itu.

Alasan kesembilan, karena saya ingin menggunakan jenis huruf yang kelihatan lebih modern, bagus, dan rapi dibandingkan dengan jenis huruf yang selama ini sering dipakai dan tidak terlihat begitu bagus, seperti Arial, Verdana, Tahoma, dan sebagainya. Dari dulu saya sudah suka melihat Google Font yang bernama Open Sans. Kelihatan lebih mudah dibaca, sekaligus juga lebih indah dilihat.

Alasan kesepuluh, karena saya ingin ketika sebuah halaman sedang dimuat oleh browser, maka ada status yang ditampilkan kepada Pengguna menyatakan bahwa halaman tersebut sedang dimuat. Jadi, jangan sampai ketika halaman sedang dimuat, tapi tidak ada status apapun yang menyatakan bahwa sistem sedang memuat halaman tadi.

Alasan kesebelas, karena saya ingin membuat Aplikasi Web yang menggunakan sistem notifikasi dan alert yang standar sesuai dengan framework CSS dan Javascript yang digunakan oleh PHPMaker akhir-akhir ini, yaitu Twitter Bootstrap. Saya ingin membuat tampilan peringatan dan kotak dialog yang lebih mudah dipahami oleh Pengguna Akhir, tanpa harus menggunakan kosmetik dan pernak pernik yang berlebihan.

Alasan keduabelas, karena saya ingin menampilkan menu Bantuan (Help Online) di setiap halaman yang dibangkitkan oleh PHPMaker dengan cara atau metode yang seefektif dan seefisien mungkin. Tidak hanya itu saja, konten dari Bantuan tersebut haruslah juga mudah dikelola.

Alasan ketigabelas, karena saya ingin menampilkan konten Terms and Conditions sesaat sebelum Pengguna Akhir ingin mendaftarkan akun di Aplikasi Web tersebut. Hal ini sering kita temui pada form Registrasi User Account di Aplikasi Web. Pengguna Akhir harus setuju dengan konten Syarat dan Ketentuan yang ditetapkan sebelum mendaftarkan akunnya.

Alasan keempatbelas, karena saya ingin menambahkan kemampuan hak akses yang bersifat dinamis (Dynamic Permission) untuk fitur Export Data di Aplikasi Web yang dihasilkan oleh PHPMaker. Seperti yang kita ketahui, PHPMaker belum menangani hal ini secara dinamis. Kita harus men-generate ulang semua file script dari PHPMaker setiap kali kita ingin memberikan hak akses statis untuk tabel atau halaman tertentu. Dengan adanya fitur hak akses dinamis tadi, maka pengaturan bisa dilakukan secara dinamis oleh user Admin dari sisi Aplikasi Web.

Alasan kelimabelas, karena saya ingin menampilkan hitungan mundur (Count Down) di bagian bawah Aplikasi Web, sehingga Pengguna Akhir dapat mengetahui berapa detik lagi session-nya akan berakhir. Dengan adanya fitur ini, maka tidak ada lagi alasan Pengguna Akhir tidak mengetahui berapa lama session yang dia gunakan akan berakhir jika tidak melakukan aktivitas apapun setelah berhasil login.

Alasan keenambelas… sabar ya… masih banyak alasan lainnya lagi… 😛

Selamat, Masino Extensions untuk PHPMaker 2018 Sudah Tersedia!

$
0
0

Tanggal 11 September 2017 yang lalu, saya merilis Masino Extensions untuk PHPMaker 2018. Ada tiga Extension pada versi major sebelumnya yang saya hapus (MasinoCustomCSS13, MasinoHorizontalVertical13, dan MasinoLoadingStatus13) dan satu buah Extension yang baru (MasinoCalendarSchedulerExtension14) saya tambahkan untuk versi 2018 tersebut.

Perubahan terbesar yang bisa Anda nikmati di versi major ini adalah tampilan layout. Baik dari sisi tema dan fitur-fiturnya, juga dari sisi fleksibilitas dalam mengubah pengaturan tema tersebut, yang bisa dilakukan (on-the-fly) dari dalam Aplikasi Web.

Karena adanya perubahan itu, maka 3 Extension yang lama tadi tidak saya ikutkan lagi ke versi baru. Ketiga Extension tersebut sudah ditangani dari sisi template custom yang saya gunakan melalui extension MasinoHeaderFooter14.

Sebagai ganti dari dihapusnya 3 Extension tadi, maka saya menambahkan satu buah Extension baru, yang berfungsi untuk mengelola dan menampilkan informasi penjadwalan kalender (Calendar Scheduler). Anda bisa menambah, mengubah, menghapus, dan menampilkan data penjadwalan dalam format kalender. Dalam hal ini saya menggunakan Javascript library Full Calendar dari fullcalendar.io.

Perubahan lainnya yang paling terasa di Extension yang baru ini adalah, adanya pengurangan pemakaian session variable. Sebagai informasi saja, di Extension versi-versi sebelumnya, saya menggunakan table settings di Database untuk menyimpan beberapa pengaturan yang terkait dengan tampilan atau theme.

Karena pemakaian session variable tersebut, mengakibatkan banyaknya Konstanta PHP yang digunakan untuk menampung nilai tersebut. Untungnya, dengan menggunakan layout dan theme pada Extension yang sekarang, maka pemakaian session variable dan Konstanta PHP tersebut menjadi dapat dikurangi.

Sebagai gantinya, saya menggunakan Cookies untuk menyimpan pengaturan Aplikasi Web, khususnya yang terkait dengan theme dan layout, seperti warna header, sidebar/menubar, footer, background, pattern, sidebar effect, dan sebagainya. Artinya, pengaturan tampilan Aplikasi sekarang disimpan di sisi browser Pengguna Akhir.

Meskipun demikian, ada beberapa pengaturan yang masih disimpan ke dalam session variable. Hanya untuk pengaturan Announcement dan Maintenance yang masih ditangani oleh session variable. Dua fitur ini sepertinya harus tetap mempertahankan penggunaan session variable.

Bagi Anda yang sudah terdaftar sebagai member di situs ILovePHPMaker.com, silahkan langsung download dari sana ya. Semoga bermanfaat, dan selamat menikmati!

MasinoAutoFormatNumber14, Extension untuk Memformat Angka di PHPMaker 2018

$
0
0

Sudah cukup lama juga saya tidak menulis di situs ini. Biasalah, kesibukan rutin di kantor. Apalagi kalau tidak membangun Aplikasi Web; yang tentu saja masih menggunakan PHPMaker. Memasuki masa-masa libur setiap tahun, hari ini saya share satu Extension baru, yang saya yakin pasti bermanfaat buat Anda.

Salah satu Aplikasi Web yang saya kerjakan membutuhkan fitur untuk menampilkan karakter pemisah (separator) Ribuan dan/atau Desimal, saat data angka sedang diketik oleh Pengguna. Contoh, jika data 1234567 (Satu juta dua ratus tiga puluh empat ribu lima ratus enam puluh tujuh) diketik, maka sistem akan otomatis menambahkan karakter pemisah Ribuan, sehingga menjadi 1,234,567.

Demikian juga misalnya jika data angka yang tipenya Desimal diketik (contoh: 0.15), maka karakter Desimal akan otomatis ditambahkan, sehingga Pengguna hanya fokus mengetik nilainya saja. Mereka tidak perlu lagi repot memikirkan apakah data tersebut bertipe Desimal atau bukan, karena sistem sudah otomatis menambahkan separator Desimal di dalamnya.

Tidak itu saja, penggunaan karakter pemisah Ribuan dan Desimal itu pun bisa digunakan bersamaan. Misalkan angka yang diketikkan adalah 1234567.87, maka sistem akan otomatis mengubahnya menjadi 1,234,567.87 saat Pengguna mengetikkan angka tersebut.

Sayangnya, sampai dengan PHPMaker versi 2018, fitur ini belum ada. Seharusnya sudah ada sejak dulu, tapi tidak juga mereka sediakan. PHPMaker baru bisa memformat data Angka tersebut saat ditampilkan di halaman List atau View saja. Sedangkan untuk form Add dan Edit, tidak ada.

Melihat kondisi itu, akhirnya saya berusaha menambahkan fitur tersebut melalui Extension PHPMaker. Itulah enaknya pakai PHPMaker. Fitur apapun yang diinginkan bisa ditambahkan melalui Extension. Tidak perlu mengubah Template PHPMaker.

Extension MasinoAutoFormatNumber14 ini saya buat mulai PHPMaker 2018, di mana angka 14 di sana adalah base-version dari PHPMaker 2018. Seperti namanya, Extension ini akan otomatis memformat data yang bertipe Angka atau Numeric, dengan menambahkan karakter pemisah Ribuan maupun Desimal.

Dengan menggunakan Extension tersebut, maka ada begitu banyak keuntungan yang akan Anda dapatkan, yaitu:

  1. Anda tidak perlu lagi menulis satu baris kode pun dari bagian Server Events maupun Client Scripts dari dalam project PHPMaker. Mungkin selama ini Anda harus menambahkan kode tambahan secara manual dari kedua bagian tadi. Tentu saja cara ini sangat membosankan, dan juga tidak efisien.

    Sebagai gantinya, Anda cukup hanya mengaktifkan MasinoAutoFormatNumber14 dari menu Tools -> Extensions saja, lalu generate ulang semua file script. Ya, sesederhana itu. Biarkan PHPMaker yang mendeteksi sendiri field-field mana saja yang sudah Anda tentukan sebelumnya, supaya dapat menampilkan karakter pemisah Ribuan dan Desimal.

  2. Extension ini akan otomatis mem-format nilai Angka ketika Pengguna Aplikasi Web Anda sedang mengetik data di form. Hal ini tentu saja akan membuat Pengguna Aplikasi Web Anda merasa nyaman dan terbantu, karena mereka dapat langsung mengetahui data yang mereka inginkan.
  3. Anda tidak perlu lagi mem-format data secara manual dari nilai yang sudah memiliki karakter pemisah Ribuan dan/atau Desimal tadi menjadi nilai Angka, sebelum Anda menyimpan data. Artinya, sistem sudah otomatis menangani proses pengkonversian data hasil format menjadi data asli yang sesungguhnya (tanpa karakter pemisah Ribuan dan/atau Desimal). Bayangkan, jika Anda harus menangani proses ini setiap kali data akan disimpan ke Database.
  4. Sistem akan otomatis mem-format semua nilai Angka yang diambil dari Database, ketika data tersebut ditampilkan di form. Mirip seperti poin sebelumnya, tapi kali ini sistem akan langsung menambahkan karakter pemisah Ribuan dan/atau Desimal, sesuai dengan tipe datanya, apakah Number, Currency, atau Percent. Dengan cara ini, Pengguna pun merasa nyaman melihat nilai yang sudah ada karakter pemisah Ribuan dan/atau Desimalnya.
  5. Sistem akan otomatis menghitung nilai tanpa harus menghilangkan terlebih dulu karakter pemisah Ribuan dan/atau Desimal. Artinya, ketika Anda menerapkan business logic yang mengharuskan dapat menghitung data yang sedang dimasukkan, apalagi melibatkan beberapa field, maka Extension ini pun dapat menanganinya sesuai yang diharapkann.

    Data yang terkait dengan proses perhitungan akan diformat dengan menambahkan karakter pemisah Ribuan dan/atau Desimal. Tidak hanya itu saja. Hasil perhitungan pun akan ditampilkan dalam format data yang memiliki karakter pemisah Ribuan dan/atau Desimal. Wouw, kereeen!
  6. Mencegah Pengguna Akhir mengetikkan data angka yang tipenya bukan Angka pada form Tambah/Ubah. Artinya, Pengguna tidak akan bisa memasukkan karakter selain Angka, misalnya huruf, karakter simbol atau karakter spesial. Hanya karakter Angka dan pemisah Ribuan dan Desimal saja yang bisa dimasukkan.
  7. Mendukung semua tipe Angka yang disediakan oleh PHPMaker (Currency, Number, Percent). Pengaturan ini bisa Anda atur dengan sangat mudah dari panel View Tag pada pengaturan Fields project PHPMaker Anda. Inilah kunci yang sebenarnya, bagaimana Extension akan mengenali sebelum melakukan pem-format-an data.
  8. Mendukung fungsi Validasi yang dibangkitkan oleh PHPMaker melalui pengaturan pada panel Edit Tag, dan tidak akan konflik dengan kode yang dihasilkan oleh PHPMaker tadi. Artinya, jika seandainya Anda tidak menggunakan Extension ini lalu menambahkan karakter pemisah Ribuan dan/atau Desimal, maka sistem akan mendeteksi data tersebut bukan tipe data Angka.

    Tapi, dengan menggunakan Extension ini, maka data hasil format yang mengandung karakter pemisah Ribuan dan/atau Desimal tadi, sistem akan mengenalinya sebagai data Angka yang valid. Sudah lama saya menginginkan hal ini terwujud, dan Puji Tuhan, akhirnya sekarang benar-benar terwujud. Keren juga, kan? 😉
  9. Mendukung pengaturan No. of digits after decimal dari panel View Tag dari setiap field yang bertipe Angka pada project PHPMaker Anda. Artinya, Anda dapat menentukan berapa digit di belakang koma yang akan ditampilkan di form untuk nilai Desimal, termasuk nantinya ketika data tersebut disimpan ke Database.
  10. Mendukung fitur Grid-Add, Grid-Edit, Inline-Add, Inline-Copy, Inline-Edit pada project PHPMaker Anda. Artinya, di semua mode atau fitur tersebut, karakter pemisah Ribuan dan/atau Desimal tadi juga akan ditambahkan oleh sistem. Bayangkan, kalau tanpa menggunakan Extension, maka Anda harus menangani satu per satu dengan menggunakan script tambahan. Sangat tidak efektif dan sangat tidak efisien, bukan? Bukan! Hehehe… 😉
  11. Bisa digunakan pada fitur Custom Fields, khususnya untuk proses perhitungan data pada project PHPMaker Anda. Artinya, karakter pemisah Ribuan dan/atau Desimal tadi pun bisa ditampilkan melalui fitur Custom Fields, saat data sedang diketik atau dimasukkan oleh Pengguna pada mode form Add atau Edit.
  12. Mendukung pengaturan karakter pemisah Ribuan dan Desimal dari menu Tools -> Locale Settings project PHPMaker Anda. Artinya, setiap negara bisa saja menggunakan karakter pemisah Ribuan dan/atau Desimal yang berbeda, dan Anda bisa menentukan karakter pemisah yang Anda inginkan dari bagian Locale Settings tadi. Extension ini akan mendukung pengaturan tersebut. Meski demikian, saya sarankan agar tetap menggunakan karakter koma (,) sebagai pemisah Ribuan, dan karakter titik (.) sebagai pemisah Desimal.
  13. Mendukung pemakaian tombol Backspace dan Delete pada control Textbox. Artinya, selain menerima inputan karakter Angka, karakter pemisah Ribuan, dan karakter pemisah Desimal, maka sistem dapat menerima hasil penekanan tombol Delete dan Backspace. Tentu saja, kedua tombol ini sering digunakan ketika Pengguna sedang mengkoreksi data.
  14. Semua field Angka dapat dicari melalui panel Quick Search (bukan pada bagian Extended Search). Artinya, untuk saat ini, disarankan untuk menggunakan pencarian data melalui fitur Quick Search saja, karena data hasil format yang dimasukkan pada kotak pencarian melalui fitur Extended Search, akan ditampilkan beserta karakter pemisahnya di URL saat hasil pencarian dikirim ke server. Akibatnya, proses pencarian akan selalu mengembalikan hasil yang tidak diharapkan.

    Mungkin ini menjadi PR bagi saya, bagaimana membuat supaya Extension ini bisa mendukung penggunaan field pencarian pada bagian Extended Search. Artinya, saat parameter pencarian data Angka tadi ditampilkan di URL, maka karakter pemisah Ribuan harus dihilangkan terlebih dulu.
  15. Aplikasi Web yang Anda bangun menjadi lebih user-friendly, di mana mereka menjadi nyaman saat mengetikkan data Angka. Tentu, dong… saat Pengguna mengetikkan atau memasukkan data Angka, maka mereka langsung dapat melihat hasilnya dengan sangat mudah, karena sudah dibantu dengan adanya pemisah Ribuan dan/atau Desimal tadi.
  16. Dan yang paling penting dari semuanya itu, Extension ini dapat menghemat waktu Anda untuk membangun aplikasi web, khususnya yang di-generate oleh PHPMaker. Aplikasi Web yang Anda buat pun akan terlihat lebih user friendly, sekaligus profesional. Duh, kurang apa lagi ya?

Nah, jika Anda memang tertarik untuk menggunakan Extension tersebut di project PHPMaker Anda, maka silahkan download dari sini.

Simak juga videonya di sini.

Hari gini masih menangani karakter pemisah Ribuan dan Desimal secara manual? Kalo aku sih, ogah! Hohoho…

Fitur-Fitur Terbaru di PHPMaker 2019

$
0
0

Sudah bukan rahasia lagi bahwa di setiap versi major PHPMaker, selalu ada kejutan yang diberikan oleh Team Developer PHPMaker. Adanya penambahan fitur-fitur baru, peningkatan performansi, efisiensi kode, maupun perbaikan bugs di versi major sebelumnya, membuat PHPMaker masih tetap menjadi pilihan terbaik saat ini. Hal yang sama juga terjadi pada PHPMaker 2019.

Perubahan pertama yang paling terasa adalah pemakaian Bootstrap 4 dan template AdminLTE 3. Meskipun versi AdminLTE 3 yang digunakan masih Alpha 2 (saat artikel ini ditulis), namun AdminLTE 3 ini cukup ringan dan relatif stabil, meskipun masih belum terlalu banyak fitur tersedia dibandingkan pada AdminLTE 2 yang digunakan oleh PHPMaker 2018.

Sayangnya, karena AdminLTE 3 tidak menyediakan menu dengan layout Horizontal, maka extension HorizontalMenu sudah tidak tersedia lagi di versi 2019 ini. Meski demikian, kita sebagai Web Developer dapat menggunakan kombinasi menu Vertical di bagian Sidebar, dan menu Horizontal di bagian Navbar dari Bootstrap 4. Cukup dengan mengaktifkan Navbar Item dari bagian Menu Editor.

Fitur berikutnya yang selama ini cukup lama ditunggu-tunggu oleh banyak Web Developer adalah Import Data dari Excel/CSV, akhirnya diimplementasikan juga pada PHPMaker 2019. Dengan fitur ini, maka User dapat langsung mengimpor data dari file Excel atau CSV melalui halaman List pada tabel yang terkait.

Kemudian ada fitur Link untuk menampilkan Modal Dialog melalui pemakaian extension Preview (khusus untuk Pengguna yang sudah membeli PHPMaker secara resmi). Fitur ini adalah salah satu fitur yang sudah cukup lama saya tunggu, dan akhirnya diimplementasikan juga pada versi 2019.

Lalu ada fitur Paging pada Grid-Edit, yang memungkinkan Pengguna Akhir dapat dengan mudah mem-browse lalu mengubah beberapa record sekaligus dari satu halaman ke halaman berikutnya. Tentu saja fitur ini semakin membuat Pengguna Akhir merasa lebih nyaman ketika harus mengubah banyak data sekaligus.

Selain itu, ada juga fitur baru Data Protection Regulation (GDPR). Fitur ini memungkinkan Pengguna Akhir Aplikasi Web dapat mengunduh atau menghapus akun mereka sendiri. Seperti yang kita ketahui, aturan proteksi data ini memang sudah lama diterapkan di sebagian besar negara di dunia, khususnya di Eropa. Ternyata Team Developer PHPMaker pun tidak mau ketinggalan.

Fitur baru lainnya yang belum pernah saya gunakan adalah REST API, yang mengijinkan pengoperasian fungsi Create-Read-Update-Delete (CRUD) untuk tabel tertentu, melalui penggunaan Advanced Security. Suatu saat, fitur ini jelas pasti akan bermanfaat.

Kemudian di versi 2019 ini, PHPMaker mulai mendukung penggunaan Database SQLite. Karena ini belum pernah saya coba dan memang belum ada kebutuhan selama ini, maka saya belum merasakan manfaat fitur tersebut. Semoga saja Database lainnya seperti NoSQL juga bisa didukung.

Sedangkan untuk kode dalamannya, ada begitu banyak perubahan yang dilakukan oleh Team Developer PHPMaker, di antaranya pemisahan kode Class pada file dan folder tersendiri. Hal ini menyebabkan ukuran file script berisi kode untuk antarmuka menjadi lebih kecil. Seperti yang kita ketahui, pada versi 2018 dan sebelumnya, kode Class dan instansiasi dari Class untuk menghasilkan object digabung pada satu file, sehingga mengakibatkan terlalu besarnya ukuran file script.

Fitur dalaman lainnya yang perlu diketahui, adalah adanya pemakaian namespace yang mendukung PHP 7 dan juga fitur Autoload table and page classes. Hal ini mengakibatkan penulisan struktur kode lebih simpel dan menghemat beberapa baris, termasuk juga pada Custom File (mengenai hal ini akan kita bahas pada artikel-artikel selanjutnya).

Team Developer PHPMaker juga mengklaim telah mengubah konvensi penamaan di seluruh script yang mereka gunakan. Yang paling terasa berubah adalah beberapa fungsi yang dimulai dengan prefix ew_, maka mulai versi 2019, prefix itu dihilangkan, sehingga menjadi lebih simpel dan nyaman dibaca. Sepertinya, mereka sedang mempersiapkan untuk menggabungkan produk PHP Report Maker ke dalam PHPMaker. Hmmm, semoga saja ya.

Beberapa server event baru juga mulai diperkenalkan pada versi 2019, yaitu PersonalData_Downloading, PersonalData_Deleted, Page_Importing, Row_Import, dan Page_Imported. Selain itu, mereka juga mengklaim telah menyediakan Server Events dan Client Scripts untuk halaman Add Option dan juga Detail Grid.

Di bagian Advanced Settings tentu saja juga mengalami penambahan. Ada begitu banyak pilihan pengaturan baru terkait dengan fitur-fitur baru yang sudah saya uraikan di atas tadi. Selengkapnya bisa Anda coba sendiri dari aplikasi PHPMaker 2019.

Tidak menyesal jika menggunakan PHPMaker 2019 ini, karena membuat Web Developer yang selama ini menggunakannya akan semakin semangat lagi bekerja dengan segala fitur-fitur baru PHPMaker 2019.

O iya, untuk Masino Extensions, yang selama ini saya buat sejak PHPMaker 9, tentu mengalami perubahan yang cukup signifikan juga. Saya akan merilisnya dalam beberapa hari ke depan. Sabar ya.

Ini Bocoran Fitur di Masino Extensions untuk PHPMaker 2019

$
0
0

Sebelum saya merilis Masino Extensions untuk PHPMaker 2019, saya harus merilis terlebih dulu contoh demo aplikasi web yang berisi fitur-fitur pada Masino Extensions. Hal ini perlu, untuk memberi gambaran kepada Anda, seperti apa sih tampilan aplikasi web yang dihasilkan oleh PHPMaker 2019 dan Masino Extensions.

Selain itu, saya juga ingin memastikan bahwa semua fitur-fitur baru yang saya tambahkan pada Masino Extensions memang berfungsi sebagaimana mestinya. Saya tidak ingin sekedar menambahkan suatu fitur, tanpa melalui proses pengujian pada Aplikasi Web itu sendiri.

Aplikasi Web Demo Masino Extensions dan PHPMaker 2019 bisa Anda akses melalui http://demo15.ilovephpmaker.com. Seperti demo di versi-versi sebelumnya, Anda bisa login menggunakan salah satu dari beberapa akun dengan level pengguna berbeda berikut ini:

User Level: Administrator
Username: admin
Password: master

User Level: Operator
Username: nancy
Password: 1234

User Level: Manager
Username: andrew
Password: 1234

Sebagai informasi, pada Masino Extensions untuk PHPMaker 2019 ini, saya masih mempertahankan AdminLTE 3 yang digunakan oleh PHPMaker 2019. Pertimbangan utamanya, karena theme aplikasi ini sangat ringan. Ukuran filenya kecil, tapi tetap dengan fitur yang bisa memenuhi kebutuhan Sidebar dan Layout sederhana untuk sebuah Aplikasi Web.

Kalau dulu saya tidak suka dengan AdminLTE 2 yang digunakan oleh PHPMaker 2018, tapi tidak untuk AdminLTE 3 yang digunakan oleh PHPMaker 2019. Saya melihat AdminLTE 3 ini ternyata sangat kecil ukuran file-nya, sehingga Aplikasi Web yang dihasilkan oleh PHPMaker 2019 ini relatif sangat cepat dimuat oleh browser.

Itulah alasan utama saya, mengapa saya tidak menggunakan admin theme yang pernah saya buat dan gunakan dulu pada Masino Extensions untuk PHPMaker v2018. Oke deh kalau begitu. Langsung saja, saya uraikan beberapa fitur-fitur pilihan yang bisa Anda gunakan jika menggunakan Masino Extensions untuk PHPMaker 2019.

1. Kebijakan Penggunaan Cookie Sungguh-Sungguh Ditangani oleh Cookie

Maksudnya bagaimana? Jadi begini. Anda akan melihat bahwa di bagian paling atas halaman, terdapat informasi kebijakan penggunaan Cookie aplikasi. Hal ini wajar, jika Anda memang baru pertama sekali mengakses Aplikasi Web Demo tersebut, dan selama Anda belum mengklik tombol Accept, maka informasi ini akan tetap muncul ketika Anda mengakses web demo tersebut selanjutnya.

Jika Anda mengklik tombol Accept, maka itu artinya bagian ini untuk selanjutnya tidak akan ditampilkan lagi. Yang terjadi di belakang layar adalah, sistem akan menyimpan setting yang akan menyembunyikan bagian ini, ke dalam sebuah Cookie; di mana masa berlaku Cookie tersebut secara standar (Default) adalah satu tahun atau 365 hari.

Itu artinya, jika Anda tidak pernah membersihkan Cookie di browser Anda, maka informasi setting Cookie tadi tidak akan pernah ditampilkan lagi sampai dengan 365 hari ke depan. Pada hari ke-366, maka informasi itu akan ditampilkan oleh sistem kembali. Kira-kira seperti itulah yang saya maksud dengan kalimat “Sungguh-Sungguh Ditangani oleh Cookie”.

Pada demo aplikasi web asli yang disediakan oleh PHPMaker 2019, maka settingan Accept tadi hanya disimpan pada sesi browser yang sedang terbuka saja. Artinya, jika kita menekan tombol Accept, maka informasi kebijakan penggunaan Cookie aplikasi tadi hanya akan disembunyikan selama kita masih membuka aplikasi web tersebut pada browser yang sedang kita gunakan.

Jika seluruh jendela browser kita tutup, lalu kita buka kembali jendela browser tadi, kemudian kita akses kembali ke Aplikasi Web tersebut, maka bagian informasi Kebijakan Penggunaan Cokie tadi akan ditampilkan kembali. Aneh, bukan?

2. Fixed Layout dengan Sticky Navbar

Fitur ini masih berkaitan dengan fitur pada poin 1 di atas tadi. Jika kita sudah menerima Kebijakan Penggunaan Cookie tadi, maka bagian tadi akan disembunyikan oleh sistem. Ketika Anda membuka halaman lain atau melakukan refresh atau reload halaman, barulah Anda dapat menikmati fitur Fixed Layout ini.

Fixed Layout maksudnya adalah, bagian Sidebar dan Navbar akan selalu lengket pada posisinya meskipun bagian Content kita scroll ke atas maupun ke bawah. Dalam hal ini, Navbar menjadi selalu kelihatan di bagian paling atas dari jendela browser, meskipun kita scroll halaman ke bawah. Yang terakhir ini biasa disebut dengan istilah Sticky Header atau Sticky Navbar (karena dalam hal ini kita menggunakan Navbar dari Bootstrap 4).

Jadi, supaya kita bisa menggunakan fitur Fixed Layout tadi, maka syaratnya kita harus sudah menerima terlebih dulu Kebijakan Penggunaan Cookie seperti yang sudah dijelaskan pada fitur pertama di atas tadi.

Pada demo aplikasi web asli yang disediakan oleh PHPMaker 2019, maka fitur Sticky Header ini tidak ada. Itu artinya, jika tinggi halaman lebih besar dari tinggi jendela browser, sehingga menyebabkan timbulnya vertical scrollbar di browser, ketika kita scroll ke bawah supaya konten bergeser ke atas, maka bagian Header tadi akan hilang, karena tidak lengket dan tidak kelihatan selamanya di bagian atas jendela browser.

3. Mini-Sidebar dan Sidebar-Off-Canvas

Fitur selanjutnya yang bisa Anda nikmati jika menggunakan Masino Extensions untuk PHPMaker 2019 adalah Mini-Sidebar. Jika Anda sedang mengakses Aplikasi Web demo dalam tampilan Desktop, lalu mengklik icon hamburger menu (tiga garis mendatar yang berada di sebelah kanan Sidebar), maka Sidebar akan disembunyikan sebagian, dan hanya menyisakan area yang menampilkan icon dari setiap item menu yang ada. Inilah yang disebut dengan Mini-Sidebar.

Ketika Sidebar sedang ditampilkan dalam status Mini-Sidebar, maka Anda masih tetap bisa melihat tulisan atau Caption setiap item menu yang tersedia, dengan cara menggeser kursor mouse ke bagian Sidebar tadi, atau istilahnya kita Hover mouse ke Sidebar. Ketika mouse meninggalkan area Sidebar tadi, maka akan kembali lagi kepada status Mini-Sidebar.

Mini-Sidebar ini juga akan otomatis ditampilkan jika Aplikasi Web Demo sedang ditampikan dalam mode Tablet, atau jika lebar browser sama dengan lebar layar tablet, atau jika Anda melakukan resize browser sampai lebarnya sama dengan lebar layar Tablet.

Sedangkan jika Aplikasi Web Demo ditampilkan dalam mode Phone, maka status Sidebar akan berubah menjadi Sidebar-Off-Canvas, yang artinya seluruh area Sidebar akan disembunyikan. Anda bisa membuktikannya dengan cara me-resize jendela browser sampai lebar browser sama dengan lebar layar Handphone.

Pada demo aplikasi web asli yang disediakan oleh PHPMaker 2019, baru status Expanded Sidebar dan Sidebar-Off-Canvas saja yang bisa digunakan. Mini-Sidebar belum bisa digunakan secara standar atau Default.

4. Status Terakhir Sidebar Disimpan dan Digunakan Kembali

Fitur berikut yang masih terkait dengan Sidebar adalah kemampuan untuk menyimpan status terakhir Sidebar, apakah sedang Expanded, Mini-Sidebar, atau Sidebar-Off-Canvas. Contoh, status awal Sidebar adalah Expanded, lalu Anda mengklik icon hamburger menu, maka status Sidebar menjadi Mini-Sidebar. Nah, status Mini-Sidebar ini akan disimpan oleh Aplikasi, dan akan digunakan kembali ketika Anda mengakses atau berpindah ke halaman lainnya.

Dengan cara ini maka Anda tidak perlu lagi menulis kode untuk menangani setiap kemungkinan tadi. Dengan fitur ini, maka Aplikasi Web yang Anda kembangkan menggunakan PHPMaker 2019 dan Masino Extensions menjadi kelihatan lebih profesional dan semakin user-friendly lagi.

Pada demo aplikasi web asli yang disediakan oleh PHPMaker 2019, fitur ini sama sekali belum tersedia.

5. Auto Scroll Sidebar ke Item Menu yang Aktif

Fitur yang tak kalah menarik lainnya adalah kemampuan sistem untuk melakukan otomatis scroll ke bagian item menu yang sedang aktif, atau yang halamannya sedang terbuka. Fitur ini akan sangat terasa manfaatnya, jika jumlah item menu di Sidebar cukup banyak, sehingga muncul vertical scroll pada Sidebar.

Dengan fitur ini, maka Pengguna tidak perlu lagi mencari-cari item menu mana yang sedang aktif, apalagi jika item menu tersebut berada di bagian bawah dari Sidebar yang tidak kelihatan jika scroll otomatis tadi tidak dilakukan. Sistem akan berusaha melakukan scroll pada Sidebar ke bagian atas, sehingga menu yang sedang aktif akan kelihatan.

Pada demo aplikasi web asli yang disediakan oleh PHPMaker 2019, fitur ini sama sekali belum tersedia.

6. Slim Scroll Sidebar Bisa Diklik Bagian Atas dan Bawahnya

Pada demo aplikasi yang disediakan oleh PHPMaker 2019, kita hanya bisa melakukan scroll Sidebar dengan cara menyeret scrollbar, tapi tidak bisa mengklik di bagian atas atau bawah rel scrollbar jika ingin langsung menuju ke bagian paling atas atau paling bawah Sidebar.

Dengan menggunakan Masino Extensions untuk PHPMaker 2019, maka Anda dapat langsung scroll ke paling atas atau paling bawah Sidebar dengan cara mengklik di bagian paling atas atau paling bawah rel Scrollbar. Cara ini kadang-kadang dibutuhkan jika kita tidak ingin melakukan scroll Sidebar dengan cara menyeret Scrollbar-nya.

Hal-hal kecil seperti ini terkadang sering membuat jengkel Pengguna Akhir apabila tidak didukung oleh Aplikasi Web yang kita kembangkan.

7. Help Online di Setiap Halaman Menggunakan AJAX

Dengan fitur ini, maka Anda sekarang akan melihat icon tanda tanya dengan lingkaran berwarna latar biru di sebelah dari judul halamannya. Jika icon ini Anda klik, maka sistem akan menampilkan konten Bantuan atau Help pada jendela Modal Alertify. Konten Help ini bisa diatur hanya untuk menjelaskan halaman yang sedang terbuka atau aktif.

Yang menariknya adalah, jika pada Masino Extensions versi 2018 fitur ini mengambil konten Help dari Database pada saat sedang halaman dimuat, maka pada versi 2019, konten Help akan diambil dari Database hanya pada saat User mengklik icon Help tadi.

Jadi, mulai versi 2019 ini, konten Help akan dimuat menggunakan AJAX. Istilah ini sering disebut dengan lazy loading atau hanya akan dimuat saat dibutuhkan saja. Tentu saja, konten Help tadi bisa dikelola dengan sangat mudah pada halaman yang dibangkitkan oleh aplikasi PHPMaker 2019 itu sendiri.

Pada demo aplikasi web asli yang disediakan oleh PHPMaker 2019, fitur Help Online ini sama sekali belum tersedia.

8. Konten Syarat dan Ketentuan pada Footer Ditampilkan via AJAX

Fitur berikutnya yang mirip dengan fitur sebelumnya adalah Terms and Conditions atau Syarat dan Ketentuan. Anda akan melihat link Syarat dan Ketentuan ini dari bagian Footer, dan jika diklik, maka akan menampilkan jendela Dialog menggunakan Alertify yang berisi Syarat dan Ketentuan yang bisa Anda kelola dengan mudah berdasarkan bahasa atau Language tertentu yang digunakan oleh Pengguna Akhir Aplikasi.

Konten Syarat dan Ketentuan tadi pun akan ditampilkan pada halaman Pendaftaran Akun. Artinya, Pengguna harus menyetujui terlebih dulu Syarat dan Ketentuan ini sebelum dapat lanjut ke proses berikutnya untuk mendaftarkan akunnya. Tidak hanya itu saja, di halaman atau form Ganti Kata Sandi pun, kita dapat mengaktifkan untuk menampilkan link Syarat dan Ketentuan ini. Bahkan, tersedia juga link untuk mengekspor konten tersebut ke dalam file PDF supaya dapat dicetak.

Pada demo aplikasi web asli yang disediakan oleh PHPMaker 2019, fitur Syarat dan Ketentuan ini sama sekali belum tersedia.

9. Konten Tentang Kami pada Footer Ditampilkan via AJAX

Fitur berikutnya yang juga masih mirip dengan fitur sebelumnya adalah About Us atau Tentang Kami. Anda akan melihat link Tentang Kami ini dari bagian Footer, dan jika diklik, maka akan menampilkan jendela Dialog menggunakan Alertify yang berisi informasi Tentang Kami yang bisa Anda kelola dengan mudah berdasarkan bahasa atau Language tertentu yang digunakan oleh Pengguna Akhir Aplikasi.

Pada demo aplikasi web asli yang disediakan oleh PHPMaker 2019, fitur Tentang Kami ini sama sekali belum tersedia.

10. Status Terakhir Panel Pencarian Disimpan dan Digunakan Kembali

Untuk mencoba fitur ini, pastikan Anda sudah login terlebih dulu ke Aplikasi Web Demo menggunakan salah satu akun yang sudah saya cantumkan di atas. Setelah berhasil login, buka menu Orders yang terdapat di bawah OTHER TABLES.

Setelah halaman List yang menampilkan data Orders muncul, silahkan klik icon kaca pembesar yang ada tulisan tooltip Search Panel atau Panel Pencarian. Perhatikan dan ingatlah status panel pencarian yang Anda lihat terakhir tersebut.

Setelah itu, cobalah tekan tombol panah kanan dengan tooltip Next atau Maju pada panel sebelah atas dari tabel, untuk berpindah ke halaman berikutnya. Tunggu beberapa detik, dan setelah sistem memuat data pada halaman berikutnya tadi, maka perhatikan kembali status panel pencarian. Seharusnya sekarang masih sama dengan status terakhir panel pencarian yang Anda ingat.

Demikian seterusnya, Anda bisa mencoba lagi dengan mengklik icon kaca pembesar untuk mengubah status panel pencarian tersebut, lalu ulangi lagi langkah di atas untuk berpindah ke halaman lain. Status terakhir panel pencarian akan diingat oleh sistem, dan dimuat kembali pada kesempatan berikutnya.

Pada demo aplikasi web asli yang disediakan oleh PHPMaker 2019, fitur status terakhir panel pencarian yang disimpan ini sama sekali belum tersedia.

11. Hak Akses Dinamis untuk Export Data

Sama seperti di versi 2018 sebelumnya, fitur ini masih bisa Anda nikmati pada versi 2019. Untuk mencobanya, maka pastikan Anda sudah berhasil login menggunakan akun dengan level Pengguna Administrator. Kemudian, buka menu User Levels atau Level Pengguna yang terdapat di bawah menu Administrator.

Setelah itu, pada record level pengguna Sales, tekan tombol dropdown di sebelah kiri, lalu pilih Permissions atau Ijin. Di halaman Hak Akses Level Pengguna, Anda akan melihat tambahan beberapa kolom baru di sebelah kolom Admin, untuk memberi akses Export Data sesuai dengan jenisnya.

Untuk memastikan apakah hak akses Export Data yang dinamis ini berfungsi sebagaimana mestinya, silahkan Anda logout sebagai admin, lalu login kembali dengan user nancy. Setelah berhasil login, buka menu tabel yang yang sudah Anda ubah atau ingat hak akses Export Data. Pastikan bahwa hak akses Export Data yang diberikan oleh Administrator tadi sama dengan pilihan menu Export Data yang tersedia di sana.

Pada demo aplikasi web asli yang disediakan oleh PHPMaker 2019, fitur ini sama sekali belum tersedia.

12. Breadcrumb Links yang Dapat Ditentukan Sendiri Hirarkinya

Fitur yang terdapat pada Masino Extensions untuk PHPMaker v2018 ini masih digunakan pada Masino Extensions untuk PHPMaker v2019.

Seperti yang kita ketahui, sejak Breadcrumb Links pertama sekali diimplementasikan oleh PHPMaker, maka secara standar, hirarkinya akan berada satu level di bawah Home. Sedangkan untuk table Detail, maka akan berada di bawah level dari tabel masternya. Demikian seterusnya.

Sedangkan Breadcrumb Links yang saya buat pada Masino Extensions, tidak seperti itu. Fitur ini memberikan pilihan alternatif selain yang disediakan oleh PHPMaker tadi. Artinya, dengan menggunakan Masino Extensions, maka Breadcrumb Links bawaan PHPMaker tadi bisa diganti dengan Breadcrumb Links yang urutan hirarki-nya bisa kita tentukan sendiri. Biasanya, acuan yang kita gunakan adalah hirarki pada struktur item menu dari halaman tadi berada.

Enaknya lagi, Breadcrumb Links yang saya buat pada Masino Extensions ini pun sudah mendukung pemakaian multi-bahasa. Syaratnya, phrase untuk Breadcrumb Link tersebut harus sudah ditambahkan terlebih dulu secara manual ke dalam file bahasa .xml yang diigunakan untuk Aplikasi Web. Jika tidak, maka Breadcrumb Link tersebut tidak akan sempurna ketika ditampilkan. Seolah-olah seperti masih ada phrase yang belum didefinsikan di dalam file bahasa tadi.

Sekedar informasi, Breadcrumb Links yang digunakan pada Aplikasi Web Demo ini berasal dari Masino Extensions. Anda bisa mencocokkan hasilnya. Pastikan bahwa Breadcrumb Links yang ditampilkan di pojok kanan atas halaman, sama persis dengan urutan hirarki struktur menu yang ditampilkan pada Sidebar.

O iya, untuk halaman yang ditampilkan dengan jendela Modal, maka Breadcrumb Links pada jendela Modal tersebut tidak akan ditampilkan. Jadi, Breadcrumb Links-nya tetap mengacu kepada halaman List-nya. Tentu saja, karena halaman terakhir yang kita buka dalam hal itu adalah halaman List.

Nah, supaya Anda dapat mengelola sendiri data Breadcrumb Links tadi sesuai kebutuhan, maka saya telah menyediakan 4 (Empat) buah form untuk mengelola Breadcrumb Links tersebut. Anda dapat mencobanya dari bawah menu Administrator pada Aplikasi Web Demo, yaitu:
– Menambah data Breadcrumb Link yang baru,
– Memeriksa alamat atau hirarki dari sebuah Breacrumb Link,
– Memindahkan suatu Breadcrumb Link ke bawah induk Breadcrumb Link yang lain, dan
– Menghapus suatu Breadcrumb Link.

Uniknya lagi, jika sebuah Breadcrumb Link yang dihapus tadi adalah induk (Parent) dari beberapa Breadcrumb Links yang lain, maka seluruh anak atau (Child) Breadcrumb Links tadi akan otomatis dihapus oleh sistem. Oleh karena itu, berhati-hatilah sebelum menghapus sebuah Breadcrumb Links. Sistem akan selalu mengingatkan Anda ketika membuka form untuk menghapus Breadcrumb Links.

13. Alternatif Pilihan untuk Mereset Kata Sandi

Dengan fitur ini, maka Anda sebagai Web Developer dapat menyediakan beberapa pilihan lain, selain hanya mereset Kata Sandi menggunakan data Email saja. Tersedia pilihan Username saja, atau Username dan Email, atau bahkan ketiga pilihan tadi sekaligus.

Tentu saja fitur ini tergantung kebutuhan, karena di beberapa Aplikasi Web, ada yang mengijinkan satu Email bisa digunakan oleh beberapa akun Pengguna. Untuk itu, maka sudah seharusnya tersedia parameter Username dan Email sekaligus untuk mereset Kata Sandi.

Pada demo aplikasi web asli yang disediakan oleh PHPMaker 2019, fitur Reset Kata Sandi baru mendukung satu parameter saja, yaitu Email.

14. Hitung Mundur Session Pengguna di Footer

Untuk melihat fitur ini, pastikan Anda sudah login dengan menggunakan salah satu akun di atas. Selanjutnya, perhatikan di bagian Footer atau paling bawah Aplikasi Web Demo, Anda akan melihat hitung mundur dalam satuan detik, berapa lama lagi sesi pengguna akan berakhir.

Pada 60 detik terakhir, maka sistem akan menampilkan alert menggunakan Alertify Dialog, dan tulisan di bagian atas (title) browser akan berubah menjadi informasi yang memberitahukan hitungan munder tersebut.

Pada demo aplikasi web asli yang disediakan oleh PHPMaker 2019, fitur hitung mundur di Footer ini sama sekali belum tersedia.

15. Pesan Konfirmasi Sebelum Menyimpan Data Pakai Alertify Dialog

Untuk mencoba fitur ini, pastikan Anda sudah login ke Aplikasi Web Demo. Setelah itu, silahkan pilih salah satu menu, misalnya Orders yang berada di bawah OTHER TABLES. Ubah salah satu record, lalu cobalah untuk menyimpan data tersebut.

Anda akan melihat kotak pesan berisi pertanyaan apakah Anda yakin ingin menyimpan data tersebut. Dengan cara ini, maka Pengguna diingatkan oleh sistem untuk selalu memeriksa terlebih dulu data sebelum menyimpannya ke Database.

Pada demo aplikasi web asli yang disediakan oleh PHPMaker 2019, fitur ini sama sekali belum tersedia.

16. Scroll ke Paling Atas Halaman

Fitur ini kelihatan sepele, tapi kalau tidak disediakan, biasanya sering membuat “kesal” pengguna akhir Aplikasi Web Anda, karena mereka harus menyeret scroll atau menekan beberapa kali di bagian atas rell vertical scroll browser.

Untuk mencoba fitur ini, pastikan Anda sudah mengklik menu Home di bagian Navbar pada Aplikasi Web demo, lalu scroll halaman ke bawah. Anda akan melihat icon panah ke atas di bagian pojok kanan bawah halaman. Klik icon tersebut, maka sistem akan melakukan scroll otomatis ke bagian atas halaman.

Pada demo aplikasi web asli yang disediakan oleh PHPMaker 2019, fitur ini sama sekali belum tersedia.

17. Open Sans Font

Anda akan melihat bahwa font yang digunakan di Aplikasi Web Demo yang saya sediakan menggunakan Google Font yang tampilannya modern, bernama Open Sans. Yang enaknya lagi, Anda akan menggunakan font ini tanpa harus selalu terhubung ke Google, karena font ini sudah saya download dan bisa Anda gunakan secara lokal di Aplikasi Web Anda.

Pada demo aplikasi web asli yang disediakan oleh PHPMaker 2019, fitur ini sama sekali belum tersedia.

18. Antar Muka yang Flat atau Square Corner

Perhatikan bahwa hampir semua elemen yang Anda lihat menggunakan style Flat atau Square Corner atau bagian ujungnya siku-siku. Tidak ada lagi elemen yang bagian ujungnya memiliki radius atau melingkar atau Rounded Corner. Biar bagaimanapun, antarmuka yang style-nya Square Corner lebih nyaman dilihat daripada style yang Rounded Corner.

Pada demo aplikasi web asli yang disediakan oleh PHPMaker 2019, style antar muka masih menggunakan bawaan Bootstrap 4 yang Rounded Corner.

Oke, itulah sedikit bocoran berisi fitur-fitur yang akan bisa Anda nikmati pada Aplikasi Web yang dihasilkan oleh PHPMaker 2019 dan Masino Extensions. Ada begitu banyak fitur lainnya yang bisa Anda nikmati. Namun karena keterbatasan waktu, belum semuanya sempat saya uraikan di sini.

Semoga bermanfaat ya. 🙂

Asyiiik, Masino Extensions untuk PHPMaker 2019 Sudah Dirilis!

$
0
0

Kabar gembira. Sekarang Anda sudah bisa mendownload Masino Extensions untuk PHPMaker 2019 melalui situs http://www.ilovephpmaker.com. Tentu saja, Anda harus sudah terdaftar sebagai Member di situs tersebut. Jika belum, sekarang saatnya!

Bersamaan dengan dirilisnya Masino Extensions untuk PHPMaker 2019 tersebut, saya juga merilis contoh file demo project yang bisa Anda gunakan sebagai pedoman untuk mengetes atau bereksperimen dengan beberapa pengaturan yang tersedia di 12 Extensions dalam Masino Extensions tersebut.

Beberapa fitur yang bisa Anda gunakan di dalam project PHPMaker 2019, dapat Anda lihat uraiannya melalui artikel Ini Bocoran Fitur di Masino Extensions untuk PHPMaker 2019.

Semoga bermanfaat, ya. 🙂

Demo Stock Inventory Management dengan PHPMaker 2019

$
0
0

Ada yang masih ingat dengan Aplikasi Web Stock Inventory Management yang pernah saya share gratis di situs sourceforge.net? Sekedar mengingatkan, source code Aplikasi Web itu dibuat dengan PHPMaker 12 pada tahun 2015.

Tidak terasa, sudah empat tahun berlalu. Sekarang kita menggunakan PHPMaker 2019. Beberapa jam yang lalu, saya berhasil memperbarui project dan men-generate ulang semua file script tersebut dengan menggunakan PHPMaker 2019. Hasilnya bisa Anda lihat di http://phpstock.ilovephpmaker.com.

Ada beberapa perubahan yang bisa Anda bandingkan antara versi pertama dengan versi terakhir ini.

1. Tampilan Antar Muka yang Lebih Simpel

Tentu saja, karena versi demo ini saya generate menggunakan Masino Extensions untuk PHPMaker 2019. Jenis huruf yang lebih bagus, elegan, dan enak dipandang, membuat Stock Inventory Management ini menjadi lebih nyaman digunakan.

Demikian juga ukuran huruf dan style antar mukanya, membuat Aplikasi Web tersebut menjadi lebih bagus dan mudah dibaca. Anda juga tidak akan melihat lagi menu untuk mengubah jenis dan ukuran huruf seperti di versi sebelumnya yang membuat kesan Aplikasi Web terlalu rumit.

2. Form Master/Detail yang Lebih Eye-Catching

Anda akan melihat form Master/Detail saat menambah data Purchasing dan Sales beserta data detailnya masing-masing, sekarang menjadi lebih eye-catching lagi.

Di bagian Master, elemen di atas form dibagi menjadi dua kolom. Sedangkan di bagian Detail, bagian Grid-Add sekarang menjadi lebih rapi dan proporsional ditampilkan, karena setiap lebar kolom mewakili jenis control yang digunakan, seperti ComboBox dan TextBox.

Tidak hanya itu saja, bagian Grid-Add juga menggunakan fitur Scrolling Table jika lebar layar lebih kecil dari lebar Grid-Add itu sendiri.

3. Pemisah Ribuan dan Desimal pada Data Bertipe Numerik

Di versi terakhir ini, saya menggunakan salah satu Masino Extensions yang berfungsi untuk menambahkan karakter pemisah ribuan dan desimal saat data angka sedang diketik oleh Pengguna.

Data Angka yang diformat dengan penambahan separator Ribuan dan Desimal tersebut bisa langsung dihitung on-the-fly oleh sistem, sehingga Pengguna langsung dapat mengetahui hasil perhitungan saat data sedang diketik oleh Pengguna.

Dengan kata lain, di versi terakhir ini, kode yang menangani perubahan Angka yang diformat tadi menjadi lebih disederhanakan lagi. Banyak kode yang dihemat.

4. Validasi dan Perhitungan Data Numerik

Di versi terakhir ini, Anda akan melihat bahwa setiap TextBox yang digunakan untuk menginput data bertipe Numerik, dilengkapi dengan validasi dan perhitungan antara satu field dengan field lainnya.

Contoh, ketika Pengguna mencoba untuk mengosongkan data di suatu TextBox, maka sistem akan otomatis menambahkan karakter nol (0). Demikian juga dengan data Total Balance akan otomatis dihitung berdasarkan selisih dari Total Amount dan Total Payment.

Contoh lainnya, jika Pengguna mengubah data Supplier dan Stock Item pada form Sales/Sales Detail, maka seluruh data terkait seperti Purchasing Price, Selling Price, Stock Available, Sales Quantity, dan Total Amount; akan otomatis divalidasi ulang oleh sistem, dan hasilnya langsung dapat diketahui oleh Pengguna pada saat itu juga.

5. Tipe Percentage atau Amount pada Perhitungan Nilai Discount dan Tax

Pada saat Pengguna menambah data Sales dan Detail melalui form Master/Detail Add Sales, maka perhitungan nilai Discount dan Tax sekarang ditentukan dari nilai pada Discount Type, apakah Percentage atau Amount.

Artinya, jika dipilih Percentage, maka data yang bisa diisi masing-masing adalah Discount Percentage dan Tax Percentage. Sedangkan jika dipilih Amount, maka data yang bisa diisi masing-masing adalah Discount Amount dan Tax Amount.

6. Informasi Stok Ditampilkan pada Rincian Detail Penjualan

Di versi yang baru ini Anda akan melihat kolom baru yang bernama Stock Available pada bagian Detail Penjualan saat sedang menginput data Penjualan dan Detail-nya.

Informasi pada kolom Stock Available ini sangat membantu untuk mengetahui berapa jumlah stok yang tersedia, sekaligus digunakan oleh sistem untuk memandu Pengguna supaya tidak menginput jumlah yang lebih besar dari stok.

Sistem akan mencegah jumlah Penjualan yang lebih besar dari stok. Bahkan, saat Pengguna mengubah data Supplier dan Stock Item pun, maka data yang terkait akan otomatis disesuaikan dan divalidasi oleh sistem.

7. Modul Payment Menggunakan Modal Dialog

Di versi sebelumnya, ketika Pengguna mencoba untuk menambah transaksi penambahan Payment, maka sistem akan menampilkan form pada halaman yang baru. Di versi yang baru ini, maka sistem akan menampilkan form pada Modal Dialog.

Dengan cara ini, maka proses penambahan transaksi Payment menjadi lebih nyaman dan cepat dilakukan, karena tidak perlu memuat halaman baru untuk menampilkan form transaksi Payment lanjutan tadi. Aplikasi Web pun terlihat menjadi lebih elegan dan profesional.

8. Payment Awal Sekarang Disimpan ke tabel Payment

Di versi pertama, transaksi Pembayaran atau Payment awal saat input data Pemesanan maupun Penjualan tidak disimpan ke tabel Payment, sehingga data transaksi pembayaran seolah tidak lengkap di tabel Payment tersebut.

Di versi yang baru ini, transaksi Payment awal akan disimpan juga ke dalam tabel Payment, sehingga seluruh histori transaksi pembayaran dapat dilihat dengan lengkap dari tabel Payment.

9. Perubahan Warna Tombol yang Sering Digunakan Menjadi Lebih Eye-Catching

Di versi yang terakhir ini, Anda akan melihat adanya perbedaan warna tombol yang sering digunakan oleh Pengguna, baik di bagian atas dan bawah tabel, maupun yang melekat di setiap record.

Tombol Pay Now yang terkait dengan record yang sudah ada menjadi berwarna biru. Tombol Add Purchase/Purchase Details, dan tombol Add Sales/Sales Details sekarang menjadi berwarna hijau.

10. Pengaturan Aplikasi Menjadi Lebih Simpel

Sesuai dengan fitur pada Masino Extensions untuk PHPMaker 2019 yang menyederhanakan table settings, maka di Aplikasi Web Stock Inventory Management ini pun field pada menu Pengaturan Aplikasi terlihat lebih sederhana.

Hanya field-field yang terkait dengan pengaturan untuk menampilkann informasi Pengumuman dan mode Pemeliharaan saja yang digunakan. Ternyata, simpel itu memang lebih baik.

Nah, itulah beberapa fitur utama yang sangat terasa bedanya antara versi pertama dengan yang terakhir ini. Hal ini sekaligus membuktikan, bahwa project yang dibuat dengan PHPMaker versi 12 bisa diperbarui dengan PHPMaker versi 2019 (atau versi 15).

Anda pasti bertanya, kapan file demo project Inventory Stock Management untuk PHPMaker 2019 ini bisa saya dapatkan? Jawabannya: sabar ya. Dalam beberapa hari ke depan akan saya rilis di situs ILovePHPMaker.com, seperti biasa.


Horeee, Project Stock Inventory Management untuk PHPMaker 2019 Sudah Dirilis!

$
0
0

Akhirnya, yang ditunggu-tunggu selama ini dirilis juga. Senang rasanya bisa men-share file project Stock Inventory Management yang dulu saya buat sejak PHPMaker 12 pada tahun 2015, sekarang bisa dipakai dengan PHPMaker 2019. Anda bisa men-download-nya dari Stock Inventory Management – PHPMaker 2019 Project.

Mengenai file project ini sudah pernah saya bahas melalui artikel Stock Inventory Management: Banyak Hal yang Bisa Anda Pelajari dari Project Ini. Pada prinsipnya, fitur yang sudah saya uraikan di artikel tersebut masih bisa Anda nikmati di project PHPMaker 2019 yang link Download-nya sudah saya share di atas tadi.

Meskipun demikian, untuk PHPMaker 2019 ini, terdapat beberapa perbedaan sekaligus penyempurnaan dari file project yang pertama kali saya buat. Selengkapnya bisa Anda lihat uraiannya melalui artikel Demo Stock Inventory Management dengan PHPMaker 2019.

Dari sisi Web Developer, hal-hal yang bisa Anda pelajari dari project terbaru ini adalah:

  1. Mudahnya membuat fungsi sendiri untuk mengembalikan informasi yang akan ditampilkan pada Dashboard.
  2. Mudahnya memeriksa apakah suatu Record sedang digunakan di tabel lain, sehingga tidak dapat dihapus.
  3. Mudahnya membuat fungsi sendiri yang bisa mengembalikan nomor Stock Item berikutnya saat data baru dientri.
  4. Mudahnya membuat fungsi sendiri yang mengembalikan nomor Supplier berikutnya saat data baru dientri.
  5. Mudahnya membuat fungsi sendiri yang mengembalikan nomor Purchase berikutnya saat data baru dientri.
  6. Mudahnya membuat fungsi sendiri yang mengembalikan nomor Sales berikutnya saat data baru dientri.
  7. Mudahnya menambahkan data transaksi Payment saat data Purchase baru beserta detailnya dientri.
  8. Mudahnya menambahkan data transaksi Payment saat data Sales baru beserta detailnya dientri.
  9. Mudahnya menambahkan atribut baru ke dalam control TextBox saat data yang bertipe Numerik sedang dientri.
  10. Mudahnya mengatur perataan tampilan data khusus pada halaman tertentu sesuai dengan keinginan.
  11. Mudahnya memanipulasi tampilan data di bagian fungsi Aggregate sehingga konsisten di semua tabel terkait.
  12. Mudahnya membuat fungsi Javascript yang terkait dengan perhitungan data Numerik saat data sedang dientri.
  13. Mudahnya membuat Custom Field yang berfungsi untuk membantu validasi data Sales Quantity sedang dientri.
  14. Mudahnya menyembunyikan field yang menggunakan Custom Field pada halaman tertentu.
  15. Mudahnya menyembunyikan tombol Add pada halaman atau bagian tertentu seperti di Preview dari tabel Detail.
  16. Mudahnya menyembunyikan field tertentu hanya pada halaman dan bagian tertentu di tabel Detail.
  17. Mudahnya menyembunyikan tombol Delete; baik untuk Multiple-Delete, maupun yang melekat pada record tertentu.
  18. Mudahnya mengatur lebar kolom pada mode Grid-Add maupun Grid-Edit dengan menggunakan kode jQuery.
  19. Mudahnya menyembunyikan item pada control Combobox yang sudah pernah dipilih sehingga tidak dapat digunakan kembali.
  20. Mudahnya membuat rumus untuk menghitung hasil dari perkalian dan penjumlahan beberapa Stock Item sekaligus.
  21. Mudahnya membuat fungsi untuk mem-validasi data Numerik menggunakan kode jQuery.
  22. Mudahnya menampilkan form Payment dengan menggunakan Bootstrap 4 Modal Dialog.
  23. Mudahnya mengubah warna tombol pada bagian atas dan bawah tabel; termasuk tombol yang melekat pada setiap record di halaman List
  24. Mudahnya menghapus session yang sedang aktif milik suatu Record pada Master/Detail sehingga tidak terbawa ketika memilih Record milik Master/Detail lainnya.
  25. Mudahnya menampilkan icon pada setiap item Menu di bagian Sidebar.
  26. Mudahnya membuat Aplikasi Web yang layout-nya otomatis mendukung tampilan RTL (Right-To-Left)
  27. Mudahnya menghasilkan Aplikasi Web Stock Inventory Management melalui project PHPMaker 2019.

Semua kemudahan itu bisa Anda peroleh ketika menggunakan file project untuk menghasilkan Aplikasi Web Stock Inventory Management tersebut; khususnya yang versi terakhir ini disesuaikan untuk PHPMaker 2019.

Language Selector yang Dilengkapi dengan Bendera Negara di PHPMaker 2019

$
0
0

Salah satu dari sekian banyaknya keuntungan jika menggunakan Masino Extensions pada project PHPMaker 2019 adalah tampilan baru Language Selector, yang kini sudah dilengkapi dengan bendera negara. Tentu saja ini akan membuat Aplikasi Web yang Anda hasilkan dengan PHPMaker 2019 menjadi lebih informatif, sekaligus menjadi lebih profesional lagi.

Sudah lama saya ingin mengubah Language Selector menjadi seperti itu, karena tampilan yang lama sangat tidak informatif dan tidak eye-catching. Akhirnya bisa terwujud juga di Masino Extensions untuk PHPMaker 2019, dan rencananya akan selalu saya terapkan untuk versi major berikutnya.

Tersedia tiga pilihan yang bisa Anda tentukan dari extension MasinoHeaderFooter15; yaitu apakah Anda ingin menggunakan tipe LI, DROPDWON, atau SELECT. Ketiganya bisa ditampilkan di bagian Navbar dari Aplikasi Web yang dihasilkan oleh PHPMaker 2019.

Tipe pertama, yaitu LI akan menampilkan semua bahasa yang digunakan di bagian Navbar. Tipe kedua, yaitu DROPDOWN akan menampilkan icon bola dunia di Navbar, yang jika diklik, maka akan menampilkan menu Dropdown berisi pilihan bahasa yang tersedia. Sedangkan tipe ketiga, yaitu SELECT akan menampilkan bahasa yang terpilih pada control seperti ComboBox, dan jika diklik maka akan menampilkan seluruh pilihan bahasa yang tersedia.

Sekarang mari kita bahas satu per satu pilihan di atas melalui beberapa demo web berikut.

1. Tipe LI, Semua Bahasa dan Benderanya Terlihat di Navbar

Jangan tanya saya ya, mengapa disebut dengan tipe LI. Itu adalah nama Tipe yang diberikan oleh PHPMaker Developer. Mungkin karena ditampilkan dengan tag LI untuk menampilkan beberapa item. Anda bisa melihat demonya melalui web Demo Masino Extensions pada PHPMaker dan PHP Report Maker.

Seperti yang Anda saksikan dari web demo tersebut, ketiga bahasa yang tersedia, yaitu Arabic, English, dan Indonesian berikut benderanya masing-masing; ditampilkan semuanya di bagian Navbar. Tipe ini sangat cocok digunakan jika bahasa yang digunakan oleh Aplikasi Web tidak terlalu banyak, dan Menu Item yang terdapat di Navbar tidak terlalu banyak.

Pengguna dapat mengetahui bahasa yang sedang aktif atau terpilih; ditandai dengan warna latar belakang yang berbeda dengan warna Navbar-nya. Jika Pengguna mengganti ke bahasa yang lain, maka status bahasa yang aktif dan baru tersebut, akan terlihat ketika sistem memuat halaman pada kesempatan berikutnya.

2. Tipe DROPDOWN, Semua Bahasa Disembunyikan, Hanya Icon Globe yang Ditampilkan

Tipe Dropdown akan menyembunyikan semua bahasa dan bendera yang digunakan, lalu digantikan oleh sebuah icon Globe atau Bola Dunia di bagian Navbar. Jika Pengguna mengklik icon ini, maka sistem akan menampilkan semua bahasa yang tersedia berikut benderanya masing-masing; melalui menu Dropdown putih.

Ketika menu Dropdown sedang ditampilkan, maka kita bisa melihat bahasa yang sedang aktif; ditandai dengan warna biru. Jika Pengguna mengganti ke bahasa yang lain, maka status bahasa yang aktif dan baru tersebut, akan diperbarui ketika sistem memuat halaman pada kesempatan berikutnya.

Tipe yang kedua ini sangat cocok jika di bagian Navbar terdapat banyak Item Menu. Jadi, Language Selector yang ditampilkan cukup hanya diwakili oleh icon Globe tadi, dan hal ini tentu saja dapat menghemat banyak ruang di Navbar. Untuk demonya, bisa Anda lihat dari Demo Masino Extensions pada PHPMaker 2019.

3. Tipe SELECT, Hanya Bahasa dan Bendera yang Aktif Terlihat di ComboBox

Tipe yang ketiga, yaitu SELECT, akan menampilkan nama dan bendera dari bahasa yang sedang aktif saja pada control ComboBox. Warna latar belakang dari control ComboBox ini menggunakan abu-abu atau cenderung antara terang ke setengah gelap.

Jika Pengguna mengklik ComboBox tersebut, maka sistem akan menampilkan semua pilihan nama dan bendera bahasa yang tersedia. Tidak hanya itu saja. Ketika sistem sedang menampilkan semua bahasa tadi, maka Pengguna dapat mengetik nama bahasa yang diinginkan, dan sistem akan otomatis menyaring pilihan tersebut.

Tipe ini sangat cocok jika pilihan bahasa yang digunakan relatif banyak. Jadi, Pengguna tidak harus selalu melakukan scroll down untuk mencari bahasa tertentu, seperti layaknya sedang memilih item pada control ComboBox.

Selain itu, biasanya pilihan ini sangat sering digunakan oleh Aplikasi Web, karena lebih informatif dan tidak terlalu banyak menggunakan ruang di bagian Navbar.

Untuk demonya, bisa Anda lihat dari Stock Inventory Management.

Sebenarnya, ada satu tipe lagi yang disediakan oleh PHPMaker 2019; yaitu RADIO. Dari namanya saja kita sudah bisa menebak bahwa pilihan ini menggunakan control Radio Button. Sayangnya, pilihan yang satu ini sudah saya coba tapi tidak berfungsi sebagaimana mestinya.

Kalau menurut saya, ketiga pilihan di atas sudah cukup mewakili kebutuhan Aplikasi Web yang paling sering digunakan. Pilihan mana yang Anda suka atau sering gunakan? Kalau saya lebih suka pilihan yang SELECT.

Nah, bagi Anda yang ingin menggunakan fitur ini, pastikan Anda sudah men-download ulang file Masino Extensions dari situs ILovePHPMaker.com.

Semoga bermanfaat, ya. 🙂

Penanganan Item Menu yang Memiliki Teks Panjang di PHPMaker 2019

$
0
0

Luar biasa memang nikmatnya bekerja dengan tools PHPMaker. Selalu saja ada hal baru yang bisa dipelajari sekaligus diterapkan. Di balik kekuatan fitur dan fleksibilitas yang disediakan oleh PHPMaker, hari ini saya menemukan sedikit celah yang justru menimbulkan kreatifitas Web Developer untuk menutup dan melengkapinya.

Seperti yang sudah kita ketahui, PHPMaker 2019 menggunakan AdminLTE 3; sebuah template yang sangat ringan untuk membangun Aplikasi Web yang dibentuk dari area Header, Sidebar, Navbar, Content, dan Footer. Di balik ringannya template ini, ternyata ada satu hal yang perlu disempurnakan oleh Web Developer.

Mungkin selama ini kita pernah membuat item menu yang tulisannya relatif panjang di Sidebar, sehingga sebagian teks tadi menjadi terpotong. Pasti tidak bisa dihindari, kita harus membuat Caption yang relatif panjang pada satu atau beberapa item menu. Tapi sayangnya, tulisan tersebut menjadi terpotong di Sidebar, jika Anda men-generate dengan PHPMaker 2019, tapi tanpa menggunakan Masino Extensions.

Nah, jika kondisi itu terjadi, maka Pengguna Aplikasi Web Anda akan dibuat penasaran. Aplikasi Web yang Anda bikin pun menjadi terasa kurang informatif. Bagaimana mungkin teks pada item menu tersebut menjadi terpotong tidak sebagaimana mestinya. Akibatnya, si Pengguna menjadi tidak dapat mengetahui apa sih teks yang sebenarnya. Sepele memang, tapi bisa membuat jengkel.

Jika menggunakan Masino Extensions pada project PHPMaker 2019, maka Anda tidak perlu khawatir lagi. Mengapa? Karena hal itu sudah ditangani dengan sangat baik dan elegan dari sisi Masino Extensions, yaitu dari salah satu extension yang bernama MasinoHeaderFooter15. Anda tinggal mengaktifkan semua Masino Extensions untuk PHPMaker 2019 tadi, lalu men-generate ulang semua file script.

Jika sudah di-generate ulang, perhatikan Aplikasi Web yang sudah selesai dibangkitkan tadi. Anda akan melihat bahwa sistem otomatis memotong teks yang panjang tadi sebagaimana yang kita harapkan. Artinya, sistem akan menampilkan karakter tiga titik, atau ellipsis (…) pada bagian teks yang dipotong. Cara ini tentu lebih elegan dibandingkan dengan bawaan asli PHPMaker 2019.

Tidak hanya di situ saja, sistem juga akan otomatis mendeteksi item menu yang memiliki karakteristik tulisan panjang seperti itu, dan otomatis menambahkan attribute title pada link item menu. Hehe, sudah tahu ke mana arahnya kan? Ya, Pengguna Akhir Aplikasi Web Anda menjadi tetap dapat mengetahui teks yang sebenarnya. Cukup dengan menggeser kursor mouse ke atas item menu tadi.

Yang membuat hal ini semakin elegan adalah, hanya item menu yang memiliki teks panjang tadi saja yang ditangani dengan cara tersebut. Artinya, untuk item menu yang lain yang tulisan atau Caption item menunya tidak melebihi dari lebar Sidebar, maka sistem akan mengabaikannya. Wow, keren sekali, kan? 😉

Penasaran ingin melihat hasil akhirnya seperti apa? Silahkan klik di sini, lalu pastikan Anda sudah login dengan menggunakan username admin dan password master, lalu perhatikan menu Trademark atau Merk Dagang.

See? Tulisan pada item menu tersebut akan otomatis dipotong dengan karakter tiga titik, lalu jika Anda menggeser kursor mouse ke atas item menu tadi, maka Anda akan melihat teks yang sebenarnya.

Ya sudah, tidak usah berlama-lama lagi. Jika Anda sudah terdaftar di ILovePHPMaker.com, silahkan download ulang Masino Extensions untuk PHPMaker 2019, lalu timpa ulang yang lama dengan yang baru Anda download tadi, lalu generate ulang semua file script dengan Masino Extensions dan PHPMaker 2019.

Hidup sungguh menyenangkan ketika menggunakan PHPMaker 2019 dan Masino Extensions. Jangankan Anda yang tinggal menikmati hasil akhirnya, saya saja yang membuatnya menjadi semakin bersemangat untuk lebih meningkatkan fitur-fitur di dalamnya, hehehe… Semoga bermanfaat, ya. 🙂

Peningkatan Indentasi Item Sub Menu di Sidebar pada PHPMaker 2019

$
0
0

Di balik ringannya AdminLTE3 yang digunakan pada Aplikasi Web yang dibangkitkan oleh PHPMaker 2019, terdapat satu lagi kekurangan yang wajib untuk disempurnakan. Apa itu?

Setelah di artikel sebelumnya kita membahas mengenai Teks yang panjang di suatu Item Menu, maka lagi-lagi kali ini kita masih fokus pada Menu; atau lebih tepatnya: Sub Menu, yang ditampilkan di Sidebar. Kita akan meningkatkan satu lagi fitur indentasi Sub Menu yang terdapat di Sidebar.

Seperti yang sudah kita ketahui, jika suatu Item Menu memiliki Item Sub Menu, maka posisi paling kiri dari Item Sub Menu tersebut akan selalu sama pada posisi paling kiri dari Item Menu atau induknya. Tentu saja hal ini sering membingungkan Pengguna Akhir Aplikasi, karena mereka sulit untuk membedakan mana saja Item Sub Menu milik Menu induknya.

Biasanya, untuk membedakan antara Item Menu (induk) dan Item Sub Menu (anak), maka kita menambahkan indentasi pada Item Sub Menu supaya terlihat mengarah lebih ke dalam. Artinya, kita harus menambahkan ruang di sebelah kiri dari Item Sub Menu, sehingga antara induk dan anaknya menjadi mudah untuk dibedakan.

Bayangkan jika di Aplikasi Web yang Anda bangun terdapat banyak Item Menu yang level-nya 2, 3, atau 4. Jika kita tidak membuat indentasi di setiap Sub Menu, maka Pengguna Akhir akan merasa kesulitan untuk membedakan mana Item Sub Menu milik item Menu tertentu.

Kini Anda tidak perlu khawatir lagi, karena hari ini saya berhasil menambahkan fitur ini ke dalam Masino Extensions untuk PHPMaker 2019. Cukup download ulang lagi Masino Extensions untuk PHPMaker 2019 dari situs ILovePHPMaker.com, lalu timpa yang lama dengan yang baru Anda download tadi, lalu generate ulang semua file script seperti biasa dengan menggunakan PHPMaker 2019 dan Masino Extensions tersebut.

Jika sudah selesai di-generate, maka Anda akan melihat indentasi di sebelah kiri dari setiap Item Sub Menu pada Sidebar yang sedang terbuka. Meskipun sekarang kita bisa melihat indentasi tersebut, namun jika Sidebar tadi kita ubah menjadi Sidebar-Mini, maka Item Sub Menu tadi akan kembali menjadi rata kiri lagi; sama seperti Item Menu induknya.

Hal ini untuk membuat tampilan icon pada setiap Item Menu dan Sub Menu menjadi rapi kembali di Sidebar yang statusnya dalam keadaan Sidebar-Mini. Demikian juga ketika Pengguna menggeser kursor mouse ke atas Sidebar, maka indentasi tadi tidak akan diterapkan, karena statusnya masih Mini-Sidebar.

Supaya dapat melihat efek indentasi tadi, maka pastikan Sidebar dalam keadaan terbuka atau Expanded (bukan Sidebar-Mini). Anda bisa menikmati fitur indentasi pada Item Sub Menu ini, maksimal sampai 7 Level Sub Menu. Wow, keren kan? 😉

Jika Sub Menu yang Anda gunakan lebih dari 7 Level, maka hanya 7 Level Sub Menu pertama saja yang menggunakan indentasi. Harap maklum, karena 7 Level Sub Menu ini sudah cukup dalam.

Supaya tidak penasaran, Anda bisa melihat demonya dari beberapa link berikut:
Demo Indentasi Sub Menu maksimal sampai dengan 7 Level menggunakan Masino Extensions pada PHPMaker 2019
Stock Inventory Management
Demo Masino Extensions pada PHPMaker 2019 dan PHP Report Maker 12

Kini hidup Web Developer menjadi semakin menyenangkan lagi ketika menggunakan PHPMaker 2019 dan Masino Extensions. Mengapa? Karena untuk urusan yang seperti di atas tadi tidak perlu lagi pusing-pusing Anda pikirkan. Semuanya sudah ditangani dari dalam Masino Extensions.

Itu artinya, Anda jadi hanya perlu berkonsentrasi menerapkan proses bisnis Anda ke dalam project PHPMaker. Waktu pengembangan Aplikasi Web pun bisa menjadi lebih cepat, tanpa mengabaikan kualitas dari Aplikasi Web yang Anda bangun.

Semoga bermanfaat ya. 🙂

Horeeeee … PHPMaker 2020 Sudah Dirilis

$
0
0

Pagi-pagi sudah dapat kabar gembira. PHPMaker versi 2020 baru saja dirilis hari ini, Rabu, 7 Agustus 2019. Tanggal, bulan, dan tahun cantik: 7, 8, 2019. Ujung-ujungnya menandakan peningkatan. 7, 8, dan 9.

Sepertinya PHPMaker 2020 sudah mulai mengintegrasikan sebagian besar fitur-fitur yang terdapat di PHP Report Maker 12 (versi terakhir saat artikel ini ditulis). Sesuatu yang sudah lama ditunggu-tunggu, karena sejak versi 2020 ini, kita tidak perlu lagi membuat dua project terpisah di PHPMaker dan PHP Report Maker.

Hal ini sekaligus menjawab banyaknya masukan di Forum Diskusi pada topik Combine PHPMaker & PHP Report Maker.

Secara umum sepertinya tidak terlalu banyak penambahan fitur lain selain fitur Report yang berasal dari PHP Report Maker dimasukkan ke dalam PHPMaker. Versi 2020 ini sepertinya hanya ingin mengintegrasikan PHP Report Maker ke PHPMaker.

Perubahan yang paling terasa adalah di sisi Template yang di-extract oleh PHPMaker. Kalau di versi 2019 dan sebelumnya, output Template akan di-extract ke folder C:\Users\{user}\Documents\PHPMaker\Templates\{namatemplate}. Sedangkan di PHPMaker 2020, output Template akan di-extract ke folder C:\Users\{user}\AppData\Roaming\PHPMaker\{namatemplate}.

Untuk kode di template juga mengalami perubahan. Bahasa scripting yang digunakan di dalam block script adalah JavaScript seperti yang didukung oleh Node.js. Untuk mengkostumais Template, maka kita harus mengetahui JavaScript. Template Tag di versi 2020 ini mengalami perubahan dari yang sebelumnya <!–## … ##–> menjadi: <# ... #>. Tentu saja lebih simpel yang sekarang.

Kemudian, beberapa file hasil generate yang sering digunakan; seperti phpfn15.php, ewcfg15.php, ewemail15.php, dan seterusnya di versi 2019… maka di versi 2020 ini berubah menjadi tanpa menggunakan akhiran base-version-nya. Jadi, file di atas berubah menjadi phpfn.php, ewcfg.php, ewemail.php, dan seterusnya.

Sepertinya perubahan ini terkait dengan fitur Report dari PHP Report Maker yang digabungkan ke dalam PHPMaker. Jadi supaya tidak membingungkan, karena base version di PHPMaker dan PHP Report Maker berbeda (tidak pernah sama).

Lalu ada penambahan global function baru yang berfungsi untuk mengambil dan mengeset nilai dari dan ke file ewcfg.php. Nama fungsi ini adalah Config(). Info dan contoh selengkapnya bisa Anda baca dari menu Help PHPMaker, lihat sub-topik Some Global Functions yang berada di bawah topik Server Events and Client Scripts.

Perubahan lainnya yang terkait dengan PHPMaker itu sendiri adalah penggunaan domain khusus untuk menampilkan informasi mengenai PHPMaker, yaitu: https://phpmaker.dev/. Cukup keren juga nama domain website-nya sekarang. Lebih to the point, hehehe…

Dari link yang baru tadi, kita seolah diingatkan kembali, bahwa usia PHPMaker ternyata sudah lebih dari 20 tahun berjasa membantu para Web Developer di seluruh dunia. PHPMaker sudah menghasilkan 16 versi major sampai dengan versi 2020 ini. Wouw! 😀

Tak ketinggalan juga perubahan di sisi dokumentasi. Kalau di versi 2019 dan sebelumnya, dokumentasi online-nya belum tertata dengan baik. Sedangkan mulai versi 2020 ini, dokumentasinya sudah mulai rapi, dan mereka menyediakan link khusus yang memudahkan kita mengakses, yaitu: https://phpmaker.dev/doc.

Langsung purchase, aaah… 😀

Silahkan Download, Masino Extensions untuk PHPMaker 2020 Sudah Dirilis

$
0
0

Hari ini, Sabtu, 19 Oktober 2019, satu hari menjelang pelantikan Joko Widodo sebagai Presiden Republik Indonesia untuk periode ke-2, Masino Extensions untuk PHPMaker versi 2020 dirilis. Bagi Anda yang sudah terdaftar menjadi member di situs ILovePHPMaker.com silahkan download atau unduh dari link ini.

Untuk demo aplikasi web yang menggunakan Masino Extensions untuk PHPMaker 2010, bisa Anda lihat dengan mengklik di sini.

Secara umum, fitur-fitur yang terdapat pada Masino Extensions untuk PHPMaker 2020 ini hampir sama dengan PHPMaker 2019. Tentu saja, ada beberapa penambahan dan penyempurnaan dari fitur-fitur sebelumnya yang sudah diimplementasikan pada versi 2019. Selengkapnya bisa Anda lihat di bawah ini.

Fitur Masino Extensions untuk PHPMaker 2020

  1. Menambahkan nomor versi pada file CSS dan JS sehingga versi terakhir akan otomatis dimuat oleh Pengguna Akhir tanpa harus me-reload atau refresh (F5) halaman.
  2. Menyimpan status terakhir Panel Pencarian apakah Collapsed atau Expanded, dan menggunakannya pada saat halaman dimuat berikutnya.
  3. Tampilan komponen Tabs yang lebih baik, termasuk Detail Preview Row dan Detail Preview Overlay, sekarang lebih eye-catching.
  4. Tampilan yang lebih baik saat kursor fokus pada elemen di Form; tidak ada lagi garis biru tebal bawaan Bootstrap 4.
  5. Latar belakang putih untuk area Form di halaman Add, Edit, Update, View, dan Search; sehingga lebih eye-catching.
  6. Tampilan yang lebih baik untuk Item Menu dan Induk Menu; tidak ada lagi ruang/padding yang terlalu besar.
  7. Google Font lokal menggunakan Poppins; tidak perlu terhubung ke Google supaya dapat menggunakannya.
  8. Menyimpan status terakhir Sidebar; apakah Expanded, Mini, atau Off-Canvas; dan akan dimuat saat diakses berikutnya.
  9. Otomatis mengubah status Sidebar (off-canvas) pada layar Tablet dan Phone, dan juga menyimpannya sehingga dapat digunakan saat diakses berikutnya.
  10. Memperbaiki batas kiri (left margin) dari area Cookies Consent, khususnya saat Mini Sidebar sedang ditampilkan.
  11. Pilihan untuk menampilkan Table yang kosong ketika tidak ada record ditemukan di halaman List dan pada bagian Detail Preview.
  12. Otomatis membersihkan session Pengguna jika status Login-nya gantung karena belum logout secara normal (misalnya saat mati listrik).
  13. Kotak Dialog yang lebih bagus dan sederhana menggunakan Alertify Alert and Notification System.
  14. Hak Akses yang Dinamis untuk Export Data dan dapat dikelola dari halaman User Privileges (userpriv.php).
  15. Pilihan Pengaturan untuk menampilkan jendela dialog berisi pesan Konfirmasi sebelum menyimpan data menggunakan Alertify Confirmation dialog.
  16. Memperbaiki perataan Label pada Form, dari rata Kiri ke rata Kanan; sehingga lebih nyaman dipandang.
  17. Kotak Dialog berisi pesan konfirmasi pada mode Grid-Add Dan Grid-Edit mode jika data sudah berubah.
  18. Otomatis menampilkan icon untuk Scroll to Top di bagian kanan bawah, ketika halaman di-scroll ke bawah.
  19. Versi Printer Friendly yang lebih sederhana, menggunakan font Courier New, dan mendukung style di Row_Rendered.
  20. Pilihan posisi Page Size; apakah Kiri atau Kanan dari bagian Paging (secara standar sekarang berada di Kiri).
  21. Perataan Caption Label pada form/halaman Add/Edit/View, sekarang menjadi Rata Kanan.
  22. Link otomatis ke Application Root URL pada bagian Application Title/Logo jika pilihan pengaturan dikosongkan.
  23. Kostumisasi yang lengkap untuk arah Panah di bagian Paging untuk mode/layout RTL (Right-To-Left).
  24. Memperbaiki Modal Dialog untuk form Add/Edit, sekarang tidak dapat ditutup tanpa mengklik Submit atau Cancel.
  25. Pilihan untuk Membandingkan Root URL; berguna untuk memisahkan Aplikasi Web versi Development dan Production.
  26. Memperbaiki Paging RTL, baik untuk List/View/Edit, maupun Detail Preview Row dan Detail Preview Overlay.
  27. Kemampuan untuk memindahkan Cursor ke Field atau Elemen berikutnya pada Form dengan menggunakan Enter.
  28. Jumlah Record Maksimum yang dapat dipilih dari Page Size di halaman List.
  29. Menampilkan pesan gagal dengan waktu-yang-update ketika akun terkunci setelah jumlah maksimum usaha terlampaui.
  30. Menyimpan Tanggal dan Jam ketika user berhasil login dan logout dari Aplikasi Web.
  31. Tautan Help Online di sebelah Judul Halaman menggunakan AJAX; hanya dimuat ketika dibutuhkan.
  32. Tautan About Us pada Footer yang akan ditampilkan menggunakan AJAX; hanya dimuat ketika dibutuhkan.
  33. Tautan Syarat dan Ketentuan pada Footer yang akan ditampilkan menggunakan AJAX; hanya dimuat ketika dibutuhkan.
  34. Link untuk membangkitkan konten Syarat dan Ketentuan ke dalam file PDF supaya bisa dicetak.
  35. Meningkatkan fitur menu dropdown User Profile di bagian pojok kanan atas Header, sekarang lebih bagus.
  36. Pilihan untuk menampilkan Syarat dan Ketentuan di halaman Registration yang harus disetujui oleh Pengguna.
  37. Meningkatkan template Email untuk Ganti Kata Sandi sehingga kompatibel dengan multi-bahasa.
  38. Pilihan baru pada form Ganti Kata Sandi; bisa juga menggunakan Username dan/atau Email.
  39. Pilihan baru untuk mengimplementasikan Kebijakan Kata Sandi pada halaman Registration dan Ganti Kata Sandi.
  40. Pilihan baru untuk mereset Kata Sandi selain hanya Email, sekarang bisa menggunakan Username AND Email, atau berdasarkan Username saja.
  41. Subject di dalam template Email sekarang menyertakan Judul Aplikasi; sangat berguna untuk membedakan dengan aplikasi web lainnya.
  42. Statistik Pengunjung, berdasarkan Browser, Sistem Operasi, per Jam, per Hari, per Bulan, dan per Tahun.
  43. Kalender Jadwal menggunakan fullcalendar.io, termasuk operasi CRUD dengan Jendela Dialog Modal, mendukung drag-drop Event pada Kalender dan juga pencarian event.
  44. Breadcrumb Links yang urutan hirarkinya kostum; tanpa batasan kedalaman hirarki dan mendukung multi-bahasa.
  45. Pengelolaan Breadcrumb Links menggunakan form Tambah, Periksa, Hapus, dan Pemindahan item Breadcrumb Link.
  46. Fixed Layout dengan posisi Fixed Header yang mendukung mode Phone dan Tablet.
  47. Memindahkan tombol ke bagian Preview Other Options untuk menghemat ruang di bagian bawah table Detail.
  48. Item Menu yang Terpilih dan memiliki Submenu sekarang secara standar akan selalu di-expanded.
  49. Status Cursor Mouse berubah menjadi Wait selama sedang memproses AJAX dan kembali ke Default setelah selesai.
  50. Bagian Cookie Policy sekarang benar-benar ditangani oleh pengaturan Cookie browser.
  51. Pilihan untuk mode pemeliharaan (Maintenance) dengan pilihan untuk waktu tersisa dan otomatis kembali ke status Normal setelah berakhir.
  52. Pilihan untuk menampilkan Pengumuman dengan mendukung multi-bahasa dan table Announcement khusus.
  53. Mengingat posisi terakhir dari item menu yang aktif dan otomatis memuatnya kemudian.
  54. Scrollbar di Sidebar sekarang mendukung event Click untuk langsung scroll ke bagian paling atas atau bawah.
  55. Otomatis memformat Angka dengan menambahkan pemisah Ribuan dan Desimal pada Field yang bertipe Numerik saat data sedang diketik pada mode Add atau Edit; mendukung Grid-Add, Grid-Edit, Inline-Add, dan Inline-Edit juga. Klik di sini untuk demonya.
  56. Mendukung atribut onclick pada Item Menu yang bisa didefinisikan via Menu Editor menggunakan sintaks khusus; untuk memanggil fungsi Javascript; lihat contohnya dengan mengklik menu Tentang Kami atau Syarat dan Ketentuan dari demo ini!
  57. Memperbaiki method ExecuteHtml milik class DbHelper untuk nilai bertipe Numerik dengan menambahkan karakter pemisah ribuan.
  58. Menambahkan fungsi elementsToRow ke dalam Framework Javascript yang digunakan oleh PHPMaker untuk memproses banyak record pada mode Grid-Add/Grid-Edit.
  59. Menambahkan class disabled ke dalam CSS untuk menampilkan icon cursor yang bertanda dilarang (not-allowed).
  60. Memperbaiki nilai href milik tombol Dropdown untuk menu Simpan dan Hapus Filter pada halaman List; tidak ada lagi karakter “#” yang menimbulkan masalah pada URL.
  61. Karakter pemisah Ribuan dan Desimal sekarang bisa diterapkan juga pada TextBox dengan status ReadOnly atau Disabled.
  62. Meningkatkan halaman User Privileges (userpriv.php); dengan menampilkan Hak Akses pada atribut title dari setiap control Checkbox, dan menghitung ulang tinggi halaman yang sebenarnya supaya mendukung pemakaian icon Scroll to Top.
  63. Memperbesar lebar Field Lookup Table dengan Modal Dialog untuk menghemat ruang di baris.
  64. Menampilkan informasi pada Title jendela browser dengan menggunakan Judul Halaman yang aktif.
  65. Language Selector di Navbar; sekarang secara standar menggunakan Dropdown; dan juga Bendera negara yang bertalian.
  66. Language Selector sekarang dapat diatur tipenya melalui extension, apakah ingin menggunakan LI, DROPDOWN, SELECT, atau RADIO
  67. Meningkatkan Item Menu yang memiliki tulisan panjang dengan otomatis memotong teks dan menimpanya dengan karakter tiga titik “…”, lalu menambahkan attribute title supaya Pengguna dapat melihat teks yang sebenarnya dengan cara hover mouse ke atas item menu tadi dengan menampilkan semua caption item menunya. Contoh implementasi pada item menu Trademarks atau Merk Dagang.
  68. Meningkatkan indentasi Item Sub Menu di Sidebar yang sedang Terbuka, sekarang terlihat lebih masuk ke dalam, di mana sebelumnya antara Menu dan Sub Menu semuanya rata kiri.
  69. Meningkatkan fitur Quick Actions Link, sekarang dapat diatur secara dinamis melalui server event Language_Load.
  70. Meningkatkan fitur Hak Akses Dinamis dimana sebelumnya hanya untuk Export Data, sekarang berlaku juga untuk Import Data di halaman User Privileges (userpriv.php).
  71. Meningkatkan fitur informasi Debug dan Waktu Pemrosesan Halaman, sekarang menggunakan jendela Portlet yang dapat disembunyikan atau ditutup.
  72. Meningkatkan fitur kotak pesan Sukses atau Berhasil, sekarang bisa diset supaya otomatis menutup sendiri setelah 3 detik
  73. Pilihan untuk menampilkan konten pesan menggunakan warna latar belakang atau tidak; sekarang benar-benar diimplementasikan juga baik untuk pesan yang dihasilkan dari kode PHP maupun Javascript.
  74. Meningkatkan fitur Modal dialog sekarang secara standar ditampilkan tepat di tengah layar dan mendukung scroll di dalam jendela Modal dialog.

Saksikan video berikut mengenai cara mengaktifkan Masino Extensions untuk PHPMaker 2020 (asumsi, semua table terkait; seperti languages, settings, statitics, help, breadcrumblinks, dst… sudah terdapat di dalam database):

Sedangkan video berikut ini menunjukkan kepada Anda bagaimana mudahnya mengubah pengaturan (setting) di Masino Extensions untuk PHPMaker 2020, lalu membangkitkan ulang kode hanya pada file tertentu yang mengalami perubahan pengaturan tadi:

Video Masino Extensions untuk PHPMaker 2020

$
0
0

Seminggu terakhir ini saya mulai membuat dan meng-upload beberapa video berisi fitur-fitur apa saja yang akan Anda dapatkan jika menggunakan Masino Extensions untuk PHPMaker 2020. Hal ini sekaligus untuk memastikan fitur-fitur tersebut bisa Anda gunakan sebagaimana mestinya.

Beberapa video itu yang sudah saya buat dan upload ke YouTube sampai hari Minggu kemarin adalah:
Masino Extensions for PHPMaker 2020 – Overview
Masino Extensions for PHPMaker 2020 – Change Settings
Masino Extensions for PHPMaker 2020 – Help Online
Masino Extensions for PHPMaker 2020 – User Login Locked
Masino Extensions for PHPMaker 2020 – Auto Clear Session and Remember Me
Masino Extensions for PHPMaker 2020 – Quick Actions Panel
Masino Extensions for PHPMaker 2020 – Remember Last Status of Sidebar and Search Panel
Masino Extensions for PHPMaker 2020 – User Privileges Page
Masino Extensions for PHPMaker 2020 – Bootstrap Modal Centered on Screen and Scrollable
Masino Extensions for PHPMaker 2020 – Logo in Horizontal Menu Layout
Masino Extensions for PHPMaker 2020 – Change Password and Password Policy
Masino Extensions for PHPMaker 2020 – Maintenance Mode
Masino Extensions for PHPMaker 2020 – Announcement
Masino Extensions for PHPMaker 2020 – Alertify Confirmation Dialog Message
Masino Extensions for PHPMaker 2020 – Auto Format Numeric Data
Masino Extensions for PHPMaker 2020 – Calendar Scheduler for Managing Events
Masino Extensions for PHPMaker 2020 – Local Google Fonts
Masino Extensions for PHPMaker 2020 – Debug and Processing Time Panels
Masino Extensions for PHPMaker 2020 – Forgot or Recovery Password
Masino Extensions for PHPMaker 2020 – Custom Breadcrumb Links
Masino Extensions for PHPMaker 2020 – Terms and Conditions in Registration Page
Masino Extensions for PHPMaker 2020 – User Privileges Page with Scrolling Table

Untuk video-video terkait lainnya, selengkapnya bisa Anda tonton atau subscribe pada YouTube Channel Masino Sinaga.

Sebenarnya sudah lama saya membuat channel di Youtube, tapi karena kesibukan pekerjaan, belum sempat mengisinya dengan konten-konten seputar PHPMaker. Yang terakhir, saya membuat video berisi penjelasan dari fitur yang akan Anda dapatkan jika menggunakan Masino Extensions untuk project-project PHPMaker versi 2020.

Ada banyak hal positif yang bisa diambil saat saya membuat video ini. Apa saja itu?

Pertama, ketika merekam lalu mendemokan fitur-fitur yang saya jelaskan, ternyata sering ditemukan fitur yang masih belum berfungsi, sehingga saya harus membatalkan dulu merekam demonya. Sudah semangat merekam, eeeh, ternyata harus ditunda dulu. Dengan kata lain, seolah saya diingatkan untuk memperbaiki terlebih dulu fitur yang belum berjalan tadi sebelum videonya saya buat dan upload. Tuh kan? Selalu saja ada hikmahnya jika membuat video.

Kedua, saya harus benar-benar memastikan terlebih dulu bahwa semua fitur yang akan saya jelaskan di video sudah berfungsi sebagaimana mestinya. Kan tidak lucu jika saat saya jelaskan A, ternyata hasilnya B atau C dan seterusnya. Oleh karena itu, sering kali saya harus mengulang beberapa kali rekaman sebuah video. Sudah diperbaiki, eh ternyata masih ada temuan lainnya. Perbaiki dulu Masino Extensions-nya, lalu rekam lagi. Mirip seperti saat pengambilan adegan dalam pembuatan film atau sinetron yang harus diulang sampai beberapa kali, kira-kira seperti itulah juga yang terjadi saat saya merekam video ini.

Ketiga, sering kali saya dituntut untuk bisa bersabar. Bersabar untuk apa? Bersabar untuk memperbaiki terlebih dulu fitur-fitur yang belum berfungsi tadi. Kadang-kadang membutuhkan waktu yang tidak sedikit. Harus mencari penyebabnya sekaligus menemukan solusinya. Tidak boleh menyerah dan pantang mundur. Selain itu, bersabar untuk menunggu waktu yang tepat merekam videonya. Sering kali idenya muncul saat sedang mengerjakan pekerjaan lainnya, akhirnya harus ditahan dulu. Saya harus memastikan terlebih dulu untuk menyediakan waktu luang khusus untuk merekam video tadi.

Keempat, ketika saya membuat video tersebut, sering kali terbersit di pikiran saya… Seandainya saja saya tidak membuat video ini, maka sebagian besar fitur-fitur yang sebelumnya tidak berfungsi tadi, pasti tidak langsung diketahui. Biasanya ketahuannya setelah dicoba oleh Anda, kemudian Anda melaporkan kepada saya bahwa misalnya fitur A, B, dan C tidak berfungsi. Tentu alangkah lebih baik jika sudah saya ketahui sebelum saya rilis. Nah, dengan membuat video ini, seolah proses Beta-Test sedang dilakukan, dan yang melakukan ya saya sendiri, hahaha… 😀

Kelima, dengan membuat video ini, bisa memunculkan ide-ide baru lainnya yang selama ini belum pernah terpikirkan sama sekali. Termasuk hikmah untuk memperbarui fitur, meningkatkan fitur, atau bahkan membuat fitur-fitur baru yang terkait lainnya. Artinya, saat mendemokan melalui rekaman video, kreativitas justru lebih mudah timbul dengan sendirinya, untuk semakin menyempurnakan atau meningkatkan fitur dan kemampuan Masino Extensions tersebut. Seperti ada tantangan untuk menyajikan hasil yang seharusnya melalui media video.

Keenam, saat membuat video, timbul rasa bahagia ketika bisa mengembangkan, memelihara, dan memperbarui Masino Extensions mengikuti perkembangan PHPMaker 2020 itu sendiri. Apalagi di versi yang terbaru ini, semua fitur Advanced Report di PHP Report Maker, sudah digabungkan ke dalam PHPMaker 2020. Demikian juga saat PHPMaker merilis template terbaru, saya harus selalu memastikan Masino Extensions sinkron dengan template versi yang terakhir. Rasa bahagia dan lega juga timbul jika setiap perubahan tadi bisa berhasil saya sinkronkan dengan Masino Extensions tersebut; sekecil apapun perubahan itu, bahkan bila hanya mengubah satu kata saja dalam sintaks di file template.

Ketujuh dan yang terakhir, setiap pagi pas bangun tidur, akan selalu menimbulkan rasa semangat. Biasanya langsung muncul ide atau rencana, hari ini mau mengerjakan apa lagi ya? Oh iya, fitur ini sepertinya cocok tuh di-video-kan, fitur itu juga, eh fitur yang kemarin belum semuanya diimplementasikan, dan seterusnya dan seterusnya. Semuanya itu akan menghasilkan To-Do List yang akan ditambahkan atau diimplementasikan ke dalam Masino Extensions. Demikian juga saat mengetahui adanya hal-hal yang baru di PHPMaker, juga bisa menambah rasa semangat tersendiri.

Begitulah memang yang terjadi. Sudah terbukti, bahwa PHPMaker pun bisa membuat bahagia sekaligus memberikan rasa semangat untuk tetap berbuat yang terbaik. Mungkin, ini salah satu efek ketularan dari Team Developer PHPMaker yang selama ini sudah mengembangkan PHPMaker mulai dari versi awal yang sangat jadul dulu, sampai kepada versi terakhir yang fitur-fiturnya semakin canggih dan fleksibel. Dan yang paling penting lagi, selalu mengikut perkembangan teknologi Web Development itu sendiri.

Jadi, PHPMaker bukanlah sekedar tools untuk membangkitkan kode PHP membuat Aplikasi Web dengan bahasa PHP saja. Tapi lebih dari itu. Banyak hal positif yang bisa kita peroleh darinya. Selain untuk membantu pekerjaan, juga ada nilai-nilai positif yang bisa kita ambil. Semuanya saling terkait.

Tentu saja, jika pekerjaan dilakukan dengan bahagia, hasil dari pekerjaan itu pun akan jauh lebih baik dibandingkan dengan jika dilakukan dengan cara yang terpaksa. Jadi, masih bertahan dengan cara-cara lama membuat Aplikasi Web yang membutuhkan waktu yang lama? Atau segera beralih ke metode pengembangan yang cepat, tanpa mengabaikan kualitas hasilnya, dan bisa menimbulkan rasa bahagia dan semangat? Hohoho… 😀

O iya, buat Anda yang belum menggunakan Masino Extensions untuk PHPMaker, silahkan daftar dulu menjadi member di situs ILovePHPMaker.com, klik menu Membership Options.


Scrolling Table di Halaman User Privileges pada PHPMaker 2020

$
0
0

Kemarin saya menemukan solusi untuk membuat table di halaman User Privileges (userpriv.php) mendukung Scrolling Table. Bagian header tabel menjadi fixed atau lengket di posisinya. Demikian pula dengan kolom pertama akan lengket pada posisinya, atau freeze (mirip seperti fitur Freeze Column di Microsoft Excel).

Buat yang belum tahu apa itu halaman User Privileges, ini adalah halaman untuk mendefinisikan hak akses atau permissions pada Level Pengguna. Kolom paling kiri menampilkan object Table di PHPMaker, sedangkan kolom kedua sampai seterusnya menampilkan nama-nama Permission.

Misalnya, kita bisa memberikan hak akses Tambah, Ubah, Hapus, Daftar (List), View, Search, Export, Import, dan/atau Admin hanya pada table tertentu, dengan memberi tanda centang pada control Checkbox sesuai dengan nama table dan permission-nya. Istilah kerennya Role Based Access Control atau RBAC.

Kembali ke topik semula. Jika jumlah baris item di table ini relatif banyak, maka sistem akan otomatis menampilkan vertical scrollbar. Demikian pula halnya horizontal scrollbar akan muncul, karena di halaman User Privileges ini juga sekarang memiliki beberapa tambahan kolom permissions untuk Export Data (Print, Excel, Export, Word, CSV, XML, HTML, PDF, Email).

Tentu saja hal ini sangat berguna. Administrator tidak perlu lagi sibuk bolak-balik menggeser scrollbar dari kiri ke kanan dan sebaliknya, hanya untuk mengetahui nama table yang permission-nya akan diaktifkan atau dinonaktifkan.

Seperti yang kita ketahui, di Aplikasi Web yang dibangkitkan oleh PHPMaker 2020 (tanpa menggunakan Masino Extensions), table di halaman ini belum mendukung scrolling table. Tentu saja hal ini sering membuat Administrator menjadi kesal.

Mengapa? Karena untuk mengetahui nama table, kita harus menggeser kembali horizontal scrollbar ke kiri, jika sebelumnya kita sudah menggeser horizontal scrollbar ke kanan untuk melihat kolom Permissions yang paling kanan. Tentu saja, hal ini sangat tidak produktif.

O iya. Masih ada lagi. Fitur Scrolling Table ini juga bisa Anda nikmati saat Aplikasi Web ditampilkan dalam mode Tablet atau Phone. Itu artinya, table di halaman ini sudah mobile friendly. Kolom pertama dan header table-nya juga masih tetap lengket di posisinya, sehingga Anda dapat melakukan scroll ke kiri atau kanan, dan juga ke atas atau bawah.

Fitur ini sebenarnya sudah lama saya butuhkan. Bukan saya saja. Anda juga pasti sangat membutuhkan fitur ini. Syukurlah, akhirnya bisa juga diimplementasikan pada Masino Extensions untuk PHPMaker 2020. Hal ini juga sekaligus membuktikan, bahwa di setiap versi terakhir Masino Extensions, selalu saja ada peningkatan berupa fitur baru.

Perubahan ini tentu saja bisa Anda nikmati melalui Masino Extensions untuk PHPMaker 2020. Silahkan download ulang file Masino Extensions dari situs ILovePHPMaker.com, lalu timpa yang lama dengan versi yang terbaru. Setelah itu, generate ulang semua file script seperti biasa. Anda tidak perlu lagi pusing-pusing memikirkan bagaimana cara mengimplementasikannya.

Silahkan lihat demonya melalui video ini: Masino Extensions for PHPMaker 2020 – User Privileges Page with Scrolling Table.

Buat yang masih saja bertahan dengan cara-cara lama untuk membangun Aplikasi Web, coba bayangkan jika fitur ini harus Anda implementasikan secara manual dari nol. Berapa lama waktu yang Anda butuhkan? Tidak halnya jika Anda menggunakan PHPMaker dan Masino Extensions. Hidup Anda menjadi lebih bahagia dan menyenangkan? Hohoho… 😀

Mudahnya Memeriksa Pengguna Apakah Sudah Diaktivasi di PHPMaker 2020

$
0
0

Salah satu Aplikasi Web yang saya generate dengan PHPMaker 2020 memiliki pesan balikan yang sedikit aneh dan tidak nyambung dengan kondisi sebenarnya. Ketika akun Pengguna belum diaktivasi, lalu dia mencoba login, maka sistem akan mengembalikan pesan Username atau Password tidak valid.

Sungguh aneh, bukan? Bagaimana mungkin muncul pesan tersebut, sementara Username dan Password yang dimasukkan Pengguna sudah valid dan diyakini kebenarannya. Seharusnya, jika akun Pengguna belum diaktivasi, maka pesan balikan dari sistem adalah kira-kira seperti ini: Akun Pengguna tersebut belum diaktivasi.

Tapi, ya begitulah yang masih terjadi di PHPMaker 2020. Sayang sekali jika kondisi ini dibiarkan berlarut-larut. Kelihatan sepele, tapi cukup menjengkelkan jika tidak diperbaiki segera.

Jika Anda menggunakan Masino Extensions untuk PHPMaker 2020, maka kondisi di atas tidak terjadi lagi. Sistem akan mengembalikan pesan sesuai dengan kondisi yang sebenarnya. Jika akun Pengguna belum diaktivasi, dan si Pengguna mencoba login, maka sistem akan mengembalikan pesan Akun Pengguna tersebut belum diaktivasi.

Perubahan ini baru saja kemarin saya implementasikan melalui Masino Extensions. Oleh karena itu, jika Anda sudah menjadi member di ILovePHPMaker.com, silahkan download ulang Masino Extensions untuk PHPMaker 2020, lalu extract dan copy ke dalam sub-folder extensions (timpa file yang lama dengan yang baru). Setelah itu, generate ulang semua file script seperti biasa.

Sebagai bocoran, saya hanya cukup menambahkan satu baris kode saja ke salah satu dari Masino Extensions. Ya, satu baris kode tapi sangat menentukan.

Semoga saja perubahan ini bisa diimplementasikan juga di template PHPMaker 2020 di versi berikutnya oleh Team Developer PHPMaker. Jika belum juga, maka Masino Extensions adalah solusi buat Anda, mulai saat ini.

Opsi Modal Centered dan Scrollable di Masino Extensions untuk PHPMaker 2020

$
0
0

Hari Sabtu, 18 Januari 2020 kemarin, ada dua opsi pengaturan yang saya tambahkan di Masino Extensions untuk PHPMaker 2020, yaitu ModalCentered dan ModalScrollable. Lebih tepatnya, kedua opsi ini berada di extension MasinoHeaderFooter16.

Sesuai namanya, masing-masing opsi tersebut berfungsi untuk membuat posisi Modal dialog tepat berada di tengah-tengah layar, dan untuk menampilkan vertical scroll di jendela Modal dialog, jika tinggi konten lebih besar daripada tinggi jendela Modal dialog.

Secara standar (Default), kedua opsi ini adalah aktif (Enabled). Itu artinya, jika Anda tidak mengubah kedua pilihan tadi, maka Modal dialog di Aplikasi Web yang dihasilkan oleh PHPMaker 2020 dan Masino Extensions posisinya akan berada di tengah layar, dan memiliki vertical scroll jika konten halaman di dalam Modal dialog tersebut tidak bisa ditampilkan dalam satu kesempatan.

Tentu saja Anda dapat menonaktifkan satu atau kedua pilihan tersebut sesuai kebutuhan. Tidak semua Aplikasi Web membutuhkan Modal Dialog yang selalu harus ditempatkan di tengah-tengah layar, dan tidak semua Aplikasi Web membutuhkan Modal Dialog yang memiliki vertical scroll jika tinggi halaman lebih besar daripada tinggi jendela Modal Dialog-nya.

Untuk itulah mengapa kedua opsi itu harus saya tambahkan ke Masino Extensions untuk PHPMaker 2020. Lagi-lagi, dengan adanya penambahan kedua opsi yang terkait Modal Dialog ini, semakin membuktikan bahwa Masino Extensions dapat membantu tugas-tugas seorang Web Developer.

Aplikasi Web dapat dibangun dengan sangat fleksibel, dan tentu saja seperti biasa, dalam waktu yang sangat cepat, tanpa mengabaikan kualitasnya. Bayangkan jika kedua fitur ini harus Anda terapkan ke puluhan atau ratusan form/halaman secara manual. Berapa lama waktu yang Anda butuhkan?

Sudah jadi member di ILovePHPMaker.com? Silahkan download ulang file Masino Extensions untuk PHPMaker 2020. Setelah di-extract, copy-kan file-file .zip dan .xml ke dalam sub-folder extensions (timpa yang lama dengan yang baru). Setelah itu, generate ulang semua file script, dan Aplikasi Web Anda akan menggunakan fitur sesuai pengaturan terakhir yang Anda tentukan.

Custom Domain URL di Masino Extensions untuk PHPMaker 2020

$
0
0

Aplikasi Web yang dihasilkan oleh PHPMaker 2020 memiliki kemampuan menghasilkan URL atau Link untuk me-reset Password atau Kata Sandi. Link yang dihasilkan tersebut akan dikirim via Email. Ketika Pengguna Akhir mengklik Link tadi, maka mereka akan diarahkan ke halaman untuk mengganti Kata Sandinya.

Sayangnya, Link yang dibangkitkan tadi tidak selamanya dapat memenuhi kebutuhan di Aplikasi Web kita. Hal ini baru saya temukan beberapa hari yang lalu, ketika salah satu Aplikasi Web yang saya kembangkan dengan PHPMaker 2020, menghasilkan Link yang “kurang tepat”.

Istilah “kurang tepat” ini karena ketika Link tersebut diklik, maka browser tidak dapat menampilkan halaman Ganti Kata Sandi. Setelah saya cek, ternyata ada beberapa bagian di URL atau Link tadi yang ditambahkan. Di antaranya adalah sub-direktori setelah bagian nama domain dari Aplikasi Web-nya.

Selidik punya selidik, ternyata Aplikasi Web ini ditempatkan di dalam sub-direktori khusus di web server, namun alamat utama Aplikasi Web-nya tidak menyertakan nama sub-direktori tadi. Kondisi ini saya temukan ketika sistem membangkitkan URL atau Link untuk keperluan mengganti Kata Sandi. Mungkin, kondisi yang sama terjadi juga saat membangkitkan Link untuk aktivasi akun saat Pendaftaran Pengguna.

Kondisi ini seharusnya tidak terjadi. Sayangnya, PHPMaker 2020 “tidak perduli” atau dengan kata lain, belum menangani kemungkinan tersebut. Oleh karena itu, sudah seharusnya ditangani. Masino Extensions untuk PHPMaker 2020 adalah jawabannya. Saya menambahkan beberapa opsi baru ke dalam extension MasinoHeaderFooter16.

Beberapa opsi baru yang terkait dengan perubahan URL atau Link yang dibangkitkan oleh sistem adalah:

UseCustomDomainURL: berfungsi untuk mengaktifkan atau menonaktifkan fitur URL Domain yang dapat kita tentukan pada opsi berikutnya di bawah ini. Secara standar (Default), opsi ini dalam keadaan non-aktif/tidak tercentang (Disabled). Jika diaktifkan, maka sistem akan menggunakan nama domain yang didefinisikan pada pengaturan selanjutnya di bawah ini.

CustomDomainURL: adalah nama domain yang bisa kita tentukan sendiri berikut protocol yang digunakan oleh Aplikasi Web kita, apakah http atau https. Contoh, di pengaturan ini saya memasukkan https://www.domainku.com, maka itu artinya, jika UseCustomDomainURL di atas diaktifkan, maka sistem akan menggunakan domain https://www.domainku.com.

Beberapa pengaturan opsi yang terkait lainnya adalah sebagai berikut:

RemovePortURL: berfungsi untuk mengaktifkan atau menonaktifkan fitur penghapusan port yang ditambahkan oleh sistem ke dalam URL yang dibangkitkan oleh sistem. Jika fitur ini diaktifkan, maka sistem akan menghilangkan port yang terdapat di URL.

RemoveDirPath: berfungsi untuk mengaktifkan atau menonaktifkan fitur penghapusan direktori pada bagian path dari URL yang dibangkitkan oleh sistem. Secara standar, fitur ini tidak diaktifkan (Disabled). Jika fitur ini diaktifkan, maka sistem akan menghilangkan nama direktori (lihat pengaturan opsi berikutnya di bawah) setelah bagian nama domain dari Aplikasi Web kita.

DirPathName: nama direktori dari bagian path di URL yang akan dihilangkan. Jika opsi RemoveDirPath di atas diaktifkan, maka sistem akan menggunakan opsi DirPathName ini sebagai dasar untuk menghapus direktori pada bagian path di URL.

Contoh, jika Link yang dibangkitkan oleh sistem terkait fitur Reset Kata Sandi di atas tadi adalah http://www.domainku.com/script/forgotpwd.php?action=reset&user=adi&code=aKzwVKlqeY5hUQaD, maka Link tersebut akan otomatis diubah oleh sistem menjadi http://www.domainku.com/forgotpwd.php?action=reset&user=adi&code=aKzwVKlqeY5hUQaD.

Ya, betul… direktori script akan dihilangkan dari Link tersebut. Artinya, di bagian DirPathName tadi, kita harus isi dengan script. Hal ini sangat bermanfaat jika Anda yakin tidak ingin menyertakan nama direktori tersebut sebagai bagian dari alamat Aplikasi Web Anda.

Mungkin Anda bertanya, kok bisa sistem menambahkan direktori script ke URL tadi? Jawabannya begini. Jika kita misalnya numpang hosting di suatu web server, biasanya si pemilik hosting akan menempatkan semua file script Aplikasi Web kita di folder tertentu. Dalam contoh di atas di folder script.

Nah, ketika nama domain digunakan sebagai alamat utama dari Aplikasi Web (dalam contoh di atas adalah http://www.domainku.com), maka itu artinya kita tidak menyertakan direktori script di alamat utama Aplikasi Web. Sampai di sini sebenarnya tidak ada masalah. Link untuk fungsi Tambah, Ubah, Hapus, List, View, Search, dan seterusnya bisa diakses sebagaimana mestinya.

Persoalan akan timbul, jika sistem membangkitkan URL atau Link untuk kebutuhan Reset Kata Sandi atau Aktivasi Akun Pengguna. Di sini, sistem “tidak perduli” apakah alamat utama Aplikasi Web kita tidak menyertakan direktori script tadi.

Sistem akan membaca lokasi fisik tempat file script yang terkait dengan fungsi Reset Kata Sandi atau Aktivasi Akun Pengguna tersebut. Jadi, dalam contoh di atas, sistem akan menambahkan direktori script.

Untuk itulah, maka kita harus menangani terjadinya kemungkinan seperti itu, dengan menyediakan opsi untuk menghilangkan direktori script tadi. Jika tidak ditangani, maka URL atau Link yang dibangkitkan oleh sistem menjadi tidak berfungsi (broken link) ketika diklik oleh Pengguna.

Sampai di sini semoga Anda paham mengapa kita perlu menangani Link tersebut sesuai kebutuhan.

Dengan adanya beberapa opsi di atas tadi, maka permasalahan broken link tersebut menjadi tersolusikan. Anda bisa menyesuaikan pengaturan-pengaturan tadi sesuai dengan kebutuhan. Itu artinya, jika PHPMaker 2020 belum bisa menanganinya, maka Masino Extensions adalah solusi yang tepat untuk Anda gunakan, mulai dari sekarang sampai seterusnya.

Bagi Anda yang sudah terdaftar menjadi member di ILovePHPMaker.com, silahkan download ulang file Masino Extensions untuk PHPMaker 2020. Jika sudah di-download, silahkan extract, lalu copy-kan file-file .xml dan .zip ke dalam sub-direktori extensions di bawah folder PHPMaker 2020 Anda di-instal. Timpa yang lama dengan yang baru ini.

Setelah Anda menyesuaikan pengaturan opsi di atas sesuai kebutuhan, maka pastikan Anda sudah men-generate ulang semua file script seperti biasa. Ya, secepat dan sesimpel itu Anda membangun Aplikasi Web dengan Masino Extensions untuk PHPMaker 2020. Hidup Anda sebagai Web Developer sekarang menjadi jauh lebih menyenangkan.

Username dan Password Sekarang Sudah Dienkripsi di File Config PHPMaker 2020

$
0
0

Sejak PHPMaker 2019 (dan juga masih diimplementasikan pada PHPMaker 2020), data Username dan Password yang tersimpan di file Config pada Aplikasi Web yang dihasilkan oleh PHPMaker sudah dienkripsi. Tentu saja ini kabar baik bagi Anda yang biasanya menaruh script file di server hosting.

Supaya dapat menggunakan fitur ini, maka pastikan kita sudah mengaktifkan opsi Encrypt user names and passwords dari menu Tools -> Advanced Settings dari project PHPMaker Anda. Selain itu, masukkan nilai kunci yang bisa kita tentukan sendiri datanya dari opsi Encryption key for data protection.

Data Username dan Password apa saja yang dienkripsi? Jawabannya, data yang terkait dengan Username dan Password untuk SMTP Email, Username dan Password untuk akun Admin User (hard coded), dan Username dan Password untuk setting koneksi database.

Seperti yang kita ketahui bersama, keamanan berbanding terbalik dengan kenyamanan. Artinya, jika fitur enkripsi tadi diaktifkan di Aplikasi Web kita, kenyamanan Pengguna Akhir akan sedikit “terganggu”, karena akan ada tambahan waktu yang dibutuhkan oleh sistem untuk menggunakan data Username dan Password yang terenkripsi.

Jadi, harap maklum ya jika menggunakan fitur ini, maka kenyamanan kita sedikit terganggu, karena adanya waktu tambahan sekian detik untuk memproses data yang dienkripsi tadi, sehingga waktu balikan dari Aplikasi Web sedikit bertambah. Tapi tidak apa-apa… yang penting, sekarang tingkat keamanan Aplikasi Web kita sudah bertambah lagi level-nya.

Viewing all 176 articles
Browse latest View live