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.
[…] dapat membaca artikel Custom Domain URL di Masino Extensions untuk PHPMaker 2020 untuk informasi dan contoh lebih […]