Prinsip Membangun Web dengan PHPMaker
Prinsip Membangun Web dengan PHPMaker
PHPMaker
Author: Masino Sinaga · Published: October 18, 2014 · Category: Pemrograman PHP
Membangun Aplikasi Web merupakan kegiatan yang gampang-gampang susah. Gampang jika sudah tahu trik dan celahnya. Susah jika kurang/tidak
tahu bagaimana untuk memulai dan atau mengerjakannya. Kondisi yang terakhir sering dialami oleh sebagian besar Web Developer, khususnya yang
masih pemula.
Tapi tunggu dulu, bukankah saya tadi mengatakan gampang-gampang susah? Bukankah tanpa disadari kita sering menggunakan istilah itu dalam
kehidupan sehari-sehari? Coba perhatikan kembali dengan teliti. Ada dua kata gampang dan satu kata susah di sana. Lalu, apa artinya? Artinya adalah,
masih lebih banyak gampangnya daripada susahnya. Masih ada nada optimis di sana, ‘kan?
Nah, saya hanya mau bilang, bahwa Anda sebagai Web Developer sangat beruntung jika menggunakan PHPMaker sebagai tools dalam membangun
Aplikasi Web. Pekerjaan Anda menjadi jauh lebih gampang dikerjakan dan diselesaikan. Apalagi jika Anda menggunakan PHPMaker secara optimal.
Oleh karena itu, sudah selayaknya Anda wajib mengetahui prinsip-prinsip dalam membangun Aplikasi Web dengan menggunakan PHPMaker.
Di artikel kali ini saya akan menyampaikan beberapa prinsip dasar yang penting Anda ketahui jika menggunakan PHPMaker supaya lebih optimal.
Sayang sekali jika Anda menggunakan PHPMaker tapi tidak mengetahui prinsip-prinsip ini, sehingga dapat mengakibatkan terbengkalainya waktu yang
Anda gunakan dalam fase pengembangan. Percuma saja jika Anda menggunakan tools secanggih, sehebat, dan sefleksibel PHPMaker, tapi tidak
1. Prinsip Pertama: Gunakan Tables dan Views dari Database, Hindari Penggunaan Custom Views!
PHPMaker selalu hanya mengekstrak object Tables dan Views dari Database Anda. PHPMaker akan menggunakan kedua object ini sebagai dasar
untuk membuat kerangka kerja Anda dalam membangun Aplikasi Web. Itu artinya, object lain seperti Stored Procedures tidak bisa digunakan untuk
menghasilkan object di dalam project PHPMaker Anda (meskipun mereka masih tetap bisa digunakan dengan cara memanggilnya melalui fitur
Server Events).
Sekalipun PHPMaker memberi kesempatan kepada Web Developer untuk dapat membuat Custom Views dari dalam project PHPMaker:
usahakanlah untuk tetap selalu membuat Views dari dalam Database. Lalu, gunakan Views dari Database ini di dalam project Anda dengan cara
Views yang dibuat di dalam Database memiliki keunggulan dibandingkan jika Anda membuatnya secara manual melalui fitur Custom Views. Jika
Views mengalami perubahan, maka Anda tinggal mensinkronkan project Anda dengan struktur Database (hanya dibutuhkan waktu beberapa detik
saja) dan hasilnya selalu akurat. Sementara jika menggunakan Custom Views, maka Anda harus memastikan dan menyesuaikan satu per satu Field
secara manual. Hal ini tentu saja di samping membutuhkan waktu relatif lebih lama, faktor human-error-nya pun menjadi lebih besar.
2. Prinsip Kedua: Jangan Pernah Mengubah Kode secara Langsung dari File yang Sudah Dihasilkan!
Mengapa? Karena jika Anda mengubah kode secara langsung pada file yang sudah dihasilkan oleh PHPMaker, maka di samping akan
membingungkan Anda sendiri (karena harus mencari-cari file yang akan diubah di antara ratusan atau bahkan ribuan file yang dihasilkan),
kostumisasi atau modifikasi yang Anda lakukan tadi akan hilang dalam sekejap bak dibawa angin, karena akan ditimpa kembali oleh file yang akan
Bayangkan jika modifikasi yang Anda lakukan itu sangat penting dan Anda tidak memiliki backup, maka semua usaha yang sudah Anda lakukan tadi
menjadi sia-sia belaka. Betapa kecewanya Anda jika mengalami hal ini, bukan? Lalu apa solusinya? Tidak perlu khawatir. Cukup ikuti prinsip
3. Prinsip Ketiga: Gunakan Server Events, Client Scripts, Custom Templates, dan Custom Files jika Ingin
Memodifikasi Aplikasi Web Anda!
Setiap kali Anda ingin memodifikasi Aplikasi Web yang akan dihasilkan oleh PHPMaker, maka selalu gunakan fitur Server Events, Client Scripts,
Custom Templates, dan atau Custom Files dari dalam project PHPMaker Anda. Alasannya? Semua kostumisasi/modifikasi yang Anda lakukan dari
fitur tadi, akan selalu otomatis tersimpan di dalam project PHPMaker Anda. Artinya? Anda tidak perlu lagi mengelolanya di tempat lain di luar project
Anda. Anda juga dapat memanggilnya kembali jika Aplikasi Web Anda ingin diperbarui di waktu mendatang, cukup dengan membuka file project
tadi.
Hal yang lebih penting lagi adalah, setiap kode yang Anda tambahkan melalui fitur-fitur tadi akan dapat diketahui dengan mudah dan cepat hanya
dengan melihat nama lokasi kode tersebut berada. Anda akan melihat nama lokasi kode tersebut dalam cetakan tebal (Bold). Artinya, Anda sebagai
Web Developer dapat mempelajari sebuah project PHPMaker cukup dengan melihat kostumisasi yang terjadi di lokasi yang sudah diperbarui tadi.
Dari sini, Anda dapat mengetahui business-logic apa saja yang sudah diterapkan.
4. Prinsip Keempat: Jangan Ragu untuk Menggunakan Extensions pada Project PHPMaker Anda!
Karena dengan menggunakan Extensions, Anda dapat menghemat waktu development sampai lebih dari 90%. Selain itu, Extensions di PHPMaker
dapat digunakan untuk project PHPMaker Anda lainnya. Bahkan, Web Developer lainnya pun yang sama-sama menggunakan PHPMaker bisa
Perlu Anda ketahui, bahwa Extensions di PHPMaker sangat berguna dalam menambah, mengubah, atau bahkan menghilangkan fitur tertentu saat
kode untuk Aplikasi Web Anda dibangkitkan oleh PHPMaker. Apalagi jika Anda memiliki beberapa project pengembangan Aplikasi Web yang
5. Prinsip Kelima: Usahakan Selalu Project PHPMaker Sinkron dengan Struktur Database Anda!
Karena dengan selalu menjaga project PHPMaker Anda tetap sinkron dengan struktur Database yang terakhir, maka Aplikasi Web yang dihasilkan
akan dapat dipastikan selalu berfungsi dengan baik. Selain itu, secara tidak langsung Anda menjadi tidak pernah lagi menunda-nunda pekerjaan jika
Bayangkan jika antara Aplikasi Web yang dihasilkan oleh PHPMaker tidak sinkron dengan struktur Database Anda yang terakhir saat ini, maka tentu
saja hal ini berpotensi akan menimbulkan error yang bersifat fatal. Hal ini bisa diatasi dengan selalu mensinkronkan antara project PHPMaker Anda
6. Prinsip Keenam: Selalu Generate Ulang SEMUA File Script dengan Menggunakan PHPMaker!
Meskipun untuk beberapa kasus Anda dapat mengetahui hanya file-file tertentu saja yang harus di-generate ulang setiap kali Anda selesai
melakukan kostumisasi/modifikasi dari project PHPMaker Anda, saya tetap menyarankan agar Anda selalu men-generate ulang semua file script
Ini merupakan cara yang paling aman, sekaligus untuk memastikan bahwa project PHPMaker Anda valid dalam kondisi terakhir sebelum Anda
menyimpan file project tersebut. Dalam banyak hal, sering kali karena tidak semua file script di-generate ulang, maka akan menyebabkan tidak
7. Prinsip Ketujuh: Backup, Backup, dan Backup Selalu File Project PHPMaker Anda!
Rasanya ini bukanlah sesuatu yang baru dan aneh di dunia IT. Ketika Anda sudah selesai bekerja, janganlah lupa untuk selalu membackup file
project PHPMaker Anda ke lokasi lain. File project PHPMaker menjadi sesuatu yang sangat penting sekarang, karena Anda tidak dapat
menghasilkan file project dari file-file script Aplikasi Web yang sudah dibangkitkan oleh PHPMaker.
Meskipun PHPMaker secara standar selalu otomatis membackup file project PHPMaker Anda setiap kali Anda menyimpan perubahan pada file
project tersebut, jangan pernah lupa untuk mengamankan (backup) file project PHPMaker Anda ke lokasi lain buat berjaga-jaga. Jangan sampai
penyesalan datang terlambat hanya karena hal ini tidak Anda lakukan. Sering kali hal yang kelihatan sepele, tapi membawa dampak sangat besar
Di jaman sekarang ini, adalah bukan sesuatu yang aneh ketika sebuah Aplikasi Web harus menggunakan koneksi ke Database lain selain koneksi
Database yang utama untuk Aplikasi Web itu sendiri. Hal ini biasanya perlu dilakukan untuk mengambil lalu menampilkan data dari yang terdapat di luar
dari Database yang sedang digunakan. Oleh karena itu, dibutuhkan penanganan khusus untuk koneksi ke Database lain tadi, dan biasanya sering diatasi
Di Aplikasi Web yang dihasilkan oleh PHPMaker, Anda sebagai Web Developer dapat memanfaatkan sebuah class yang berfungsi sebagai penolong
untuk menghubungi Database tertentu. Istilah di PHPMaker disebut dengan Database Helper Class.
Untuk membuat class penolong koneksi ke Database tersebut, maka pastikan Anda sudah mengaktifkan item pengaturan yang bernama Generate
database helper dari menu Tools -> Advanced Settings, lalu setelah itu men-generate ulang file-file script yang bertalian, khususnya yang terdapat di
Harus diakui, bahwa memang masih ada keterbatasan mengenai jenis Database yang digunakan oleh class ini. Artinya, Anda tidak bisa membuat class
ini menggunakan Database SQL Server, sementara koneksi ke Database utama untuk Aplikasi Web yang akan Anda bangun menggunakan MySQL.
Jadi, jika koneksi ke Database utama Aplikasi Web Anda menggunakan MySQL, maka jenis Database yang digunakan oleh Database Helper Class tadi
Lalu, bagaimana jika seandainya Anda ingin membuat class penolong Database tadi yang jenis Database-nya berbeda dengan Database utama,
katakanlah ke SQL Server? Jangan khawatir, karena secara logika Anda bisa membuat sebuah project PHPMaker baru dengan menggunakan koneksi
Database utama ke SQL Server sambil men-generate Database Helper Class. Hasilnya, Anda bisa menggunakan file Database Helpder Class tadi di
Bagian terakhir yang akan kita bahas yang terdapat di dalam pengaturan level Table di dalam Table Setup dari Aplikasi PHPMaker
adalah Master/Detail. Ini merupakan bagian untuk mengatur tabel-tabel yang memiliki relasi Parent dan Child atau sering dikenal dengan istilah
Master/Detail.
Di dunia nyata, semua entitas biasanya memiliki relasi antara yang satu dengan lainnya. Ada yang memiliki relasi satu ke satu atau One-to-One, ada
yang memiliki relasi satu ke banyak atau One-to-Many, atau bahkan relasi banyak ke banyak atau Many-to-Many.
Di PHPMaker, relasi antar dua tabel disederhanakan menjadi relasi One-to-Many. Di sinilah esensi dari Master/Detail yang sebenarnya di PHPMaker.
Implementasinya tentu tidak semua harus One-to-Many, tapi, sekali lagi, hal ini untuk menyederhanakan relasi dari berbagai kemungkinan tadi,
Jika pada implementasinya ada yang One-to-One atau bahkan Many-to-Many, maka hal itu bisa diatasi dengan membuat beberapa kali relasi dari
beberapa tabel yang terkait sampai memenuhi relasi selain One-to-Many tadi.
Contoh, untuk Many-to-Many, maka Anda sebagai Web Developer cukup hanya membuat relasi One-to-Many, dan yang satunya Many-to-One. Hasil
akhirnya tentu saja menjadi Many-to-Many. Sampai di sini, mudah-mudahan Anda tidak bingung, karena konsep ini cukup sederhana dan mudah
dimengerti.
Sekali lagi, pastikan Anda sudah memilih salah satu Table yang terdapat di panel Database, lalu klik tab Table di panel sebelah kanan. Di bagian bawah
sebelah kanan dari tab Table tadi, akan muncul panel Master/Detail.
Di dalam panel Master/Detail, Anda dapat mengatur relasi antara dua tabel dengan cara mengklik tombol Modify<. Selanjutnya sistem akan
menampilkan jendela baru bernama Master/Detail – help. Di jendela baru ini terdapat dua buah panel. Panel pertama di sebelah kiri berisi
daftar Table atau object yang terdapat di project PHPMaker Anda. Panel kedua di sebelah kanan merupakan area tempat Anda mendefinsikan relasi
Caranya cukup dengan menyeret (drag) object Table-Table yang diinginkan dari panel kiri lalu menjatuhkannya (drop) ke panel sebelah kanan. Konsep
Master/Detail di PHPMaker diusahakan menempatkan tabel Master di sebelah kiri, sedangkan tabel Detail di sebelah kanan dari tabel Master. Keduanya
Setelah itu, seret salah satu Field dari tabel Master lalu jatuhkan ke Field terkait di tabel Detail. Selanjutnya Anda akan melihat angka/simbol 1 di sebelah
kiri, dan simbol oo di sebelah kanan. Seperti yang sudah dijelaskan sebelumnya, hal itu menunjukkan bahwa tabel tempat pertama kali Anda menyeret
Field akan berperan sebagai tabel Master, sedangkan tabel tempat Field tersebut dijatuhkan merupakan tabel Detail.
Lakukan hal yang sama dengan langkah-langkah tadi untuk merelasikan tabel yang lain. Jika sudah selesai, klik tombol OKpada jendela Master/Detail –
help tadi. Selanjutnya Anda akan dibawa kembali ke panel Master/Detail, dan di sana akan ditampilkan hasil dari relasi tabel yang sudah Anda tentukan
tadi.
Di sebelah kanan dari setiap relasi tabel Anda akan melihat tiga buah kolom sebagai berikut:
1. Referential Integrity, jika diaktifkan, maka PHPMaker akan membangkitkan kode yang memastikan bahwa Pengguna tidak boleh
menambah/mengubah Record di tabel Detail kecuali jika Foreign Key merujuk ke Record yang valid di tabel Master.
2. Cascade Delete, jika diaktifkan, maka PHPMaker akan membangkitkan kode yang akan memastikan jika Record di tabel Master dihapus, maka
3. Cascade Update, jika diaktifkan, maka PHPMaker akan membangkitkan kode yang akan memastikan jika Record di tabel Master diubah/diperbarui,
maka semua Record yang terkait di tabel Detail akan ikut diperbarui juga.
Penting untuk diingat, bahwa jika Database yang Anda gunakan sudah mendukung fitur ON DELETE CASCADE dan atau ON UPDATE CASCADE,
maka Anda tidak perlu menggunakan dua item pengaturan yang terakhir tadi.
Berdasarkan pengalaman Penulis, fitur ini benar-benar sangat membantu Web Developer dalam membangun Aplikasi Web yang membutuhkan fitur
Master/Detail dengan aturan ketat seperti di atas. Apalagi jika jumlah Table yang terlibat dalam relasi Master/Detail tadi jumlahnya sangat banyak, maka
akan sangat banyak waktu Development yang bisa dihemat, sehingga Anda sebagai Web Developer bisa lebih fokus dalam
PHPMaker
Author: Masino Sinaga · Published: October 15, 2014 · Category: Pemrograman PHP
Sebenarnya banyak istilah di dunia IT dalam bahasa Inggris yang langsung dapat kita pahami dari artinya. Demikian halnya dengan istilah Table-
specific Options, yang artinya adalah Pilihan-pilihan yang spesifik pada level Table. Tentu saja dalam hal ini kita membahas pilihan pengaturan
Untuk menampilkan dan melihat pengaturan ini, tentu saja Anda harus mengklik salah satu Table yang Anda inginkan dari panel Database dalam project
PHPMaker Anda. Di sebelah kanan, klik tab Table, lalu di panel sebelah kanan di dalam tab tadi ada panel yang bernama Table-specific Options.
Secara standar, di dalam panel Table-specific Options tadi terdapat beberapa bagian yang masih dalam keadaan tersembunyi collapsed. Anda dapat
melihat item-item pengaturan apa saja yang terdapat di dalam setiap bagian tadi, dengan mengklik icon plus (+). Semua item pengaturan yang terdapat
Perlu diketahui, bahwa semua item pengaturan yang terdapat di panel Table-specific Options tersebut juga terdapat di level Global yang dapat Anda lihat
pada item Use global settings. Artinya, karena saat ini Anda masih menggunakan pengaturan level global, maka pengaturan di level Table saat ini
Selanjutnya, PHPMaker akan menampilkan kotak dialog yang berisi pertanyaan apakah Anda akan menyalin pengaturan yang sama dari level Global ke
level Table. Jika Anda memilih Yes, maka PHPMaker akan menyalin semua item pengaturan yang sama dari level Global ke level Table. Sebaliknya, jika
Anda memilih No, maka PHPMaker akan menggunakan pilihan standar yang terdapat di level Table.
1. Paging, berisikan item pengaturan untuk menghasilkan fitur pembagian halaman pada halaman List, yaitu mengenai gaya Paging apakah dalam
bentuk tombol atau link, dan lokasi Paging apakah di bagian atas, bawah, atau atas dan bawah dari tabel yang terdapat di halaman List.
2. Export, berisikan item pengaturan untuk mengeksport data ke beberapa media, seperti: Printer Friendly, Export to Excel, Export to Word, Export to
CSV, Export to HTML, Export to XML, Export to PDF, dan Send to Email. Tersedia juga pilihan untuk membuat menu export tersebut apakah dalam
3. List Page, berisikan item pengaturan untuk menentukan jumlah record per halaman, pilihan jumlah record, posisi link di dalam tabel apakah kiri atau
kanan, style menu pilihan di dalam tabel apakah dalam style button, DropDown, penghapusan tanpa konfirmasi, penghapusan banyak Record, tipe
pengurutan, apakah Single Column, Multi-Column, fitur Export Data (untuk mengaktifkan atau tidak), tipe Export Data, apakah hanya untuk Record
terpilih, untuk halaman yang aktif, atau untuk semua halaman, serta yang terakhir adalah item pengaturan untuk menampilkan halaman pencarian
4. View Page, berisikan item pengaturan untuk menampilkan bagian Paging di halaman View, serta untuk mengaktifkan atau menonaktifkan fitur
5. Edit Page, berisikan item pengaturan apakah ingin menampilkan bagian Paging di halaman Edit atau tidak.
Pengaturan di level Table ini tentu sangat bermanfaat jika Anda tidak ingin menerapkan pengaturan level Global pada satu dan atau
beberapa Table tertentu. Dan memang untuk itulah pengaturan level Table ini disediakan oleh PHPMaker.
Return Pages artinya Halaman Balik, yaitu halaman yang dikembalikan oleh sistem setelah terjadinya event tertentu. Aplikasi Web yang dihasilkan oleh
PHPMaker dapat menentukan halaman balik yang akan dituju setelah event penambahan (Add) atau pengubahan (Edit) data.
Jadi, PHPMaker menyediakan pengaturan di level Table untuk mengarahkan Pengguna ke halaman tertentu jika mereka telah selesai menambah data
baru atau mengubah data yang sudah ada. Istilah lain dari fitur ini adalah me-redirect ke halaman tertentu.
Pastikan sekali lagi Anda sudah memilih salah satu Table dari panel Database di dalam project PHPMaker Anda. Setelah itu, klik tab Table yang
terdapat di sebelah kanan. Di bagian bawah, cari tulisan yang bernama Return Pages, dan di bawahnya terdapat dua item pengaturan sebagai berikut:
1. After add, tersedia 5 pilihan, apakah akan menampilkan Add Page, Delete Page, Edit Page, List Page, atau View Page setelah proses
2. After edit, tersedia 5 pilihan, apakah akan menampilkan Add Page, Delete Page, Edit Page, List Page, atau View Page setelah proses pengubahan
Sekalipun pada dua item pengaturan tersebut sudah tersedia masing-masing 5 item pilihan yang bisa Anda pilih salah satu di antaranya, Anda sebagai
Web Developer masih diberi kesempatan oleh PHPMaker untuk tidak menggunakan pilihan tersebut, tapi menentukan alamat halaman lain yang sifatnya
kostum.
[Link]?a=gridadd&showmaster=customers
Selain pengaturan di level Table tersebut, PHPMaker juga menyediakan pengaturan terkait di lokasi lain, yaitu di bagian Server Events (masih ingat
‘kan?).
Karena di atas kita fokus pada event setelah penambahan dan pengubahan data, maka masing-masing server event yang bisa digunakan
Contoh kode untuk mengarahkan ke halaman yang bernama [Link] yang bisa digunakan di kedua server tadi, adalah:
$this->Page_Terminate("[Link]");
Seperti artinya dalam bahasa Indonesia, Multi-Page berarti Multi-Halaman. Di PHPMaker, pengertian multi-halaman sama artinya dengan membagi satu
Fitur Multi-Page di PHPMaker sangat bermanfaat ketika di dalam sebuah halaman memiliki terlalu banyak Field yang harus ditampilkan sekaligus. Anda
sebagai Web Developer dapat membagi control-control atau elemen-elemen yang terdapat di sebuah halaman ke dalam beberapa tab.
Pastikan Anda sudah memilih salah satu Table yang terdapat di panel Database, lalu di sebelah kanan klik tab Table. Di bawahnya, lihat bagian yang
bertuliskan Multi-Page. Ada 6 item pengaturan yang terkait dengan fitur ini:
1. Multi-Page Type, tersedia tiga pilihan tipe yang dapat Anda pilih salah satu, yaitu apakah Tabs, Pills, atau Accordion. Secara standar, jika Anda
tidak memilih salah satu di antaranya, maka tipe Tabs yang akan digunakan oleh PHPMaker.
2. Page labels, merupakan label atau judul dari Tab yang bertalian. Jika Anda mengklik tombol di pilihan ini, maka Anda akan dibawa ke sebuah
jendela popup baru tempat mendefinisikan label untuk setiap halaman. Bahkan, Anda juga bisa menterjemahkan label halaman tersebut sesuai
3. Add page, jika diaktifkan, maka PHPMaker akan memangkitkan kode untuk menghasilkan fitur Multi-Page di halaman Add.
4. Edit page, jika diaktifkan, maka PHPMaker akan memangkitkan kode untuk menghasilkan fitur Multi-Page di halaman Edit.
5. View page, jika diaktifkan, maka PHPMaker akan memangkitkan kode untuk menghasilkan fitur Multi-Page di halaman View.
6. Search page, jika diaktifkan, maka PHPMaker akan memangkitkan kode untuk menghasilkan fitur Multi-Page di halaman Search.
Pengaturan Multi-Page ini memiliki keterkaitan pengaturan di bagian Fields Setup untuk menentukan suatu Field berada di halaman yang keberapa.
Cukup Anda tentukan nomor halamannya dari kolom Page No. yang terdapat di Fields Setup tadi.
Meskipun control seperti Tabs hanya bisa digunakan di Aplikasi Web yang dihasilkan oleh PHPMaker untuk fitur Multi-Pagesaja untuk saat ini, tapi
menurut Penulis hal ini sudah cukup mewakili fungsi dari tab tersebut. Dan yang jelas, fitur ini pun sangat membantu Web Developer dalam membuat
layout atau tata letak penyusunan control-control di sebuah halaman atau form, apalagi jika jumlah control atau Field relatif sangat banyak.
PHPMaker
Author: Masino Sinaga · Published: October 11, 2014 · Category: Pemrograman PHP
Email Notification sesuai dengan definisinya berarti adalah Pemberitahuan Email. Karena konteks-nya di Aplikasi Web yang dihasilkan oleh
PHPMaker, maka Email ini berisi pemberitahuan kepada Pengguna mengenai sesuatu kejadian yang sudah terjadi di dalam Aplikasi Web yang
Pastikan sekali lagi Anda sebagai Web Developer sudah memilih salah satu Table dari panel Database di dalam project PHPMaker Anda, lalu klik
PHPMaker, yaitu:
1. On Add, jika diaktifkan, maka PHPMaker akan menghasilkan fitur di Aplikasi Web yang akan mengirim Email kepada Penerima yang sebelumya
sudah diset dari menu PHP -> Email Settings setiap kali telah terjadi penambahan Record di tabel yang terkait.
2. On Edit, jika diaktifkan, maka PHPMaker akan menghasilkan fitur di Aplikasi Web yang akan mengirim Email kepada Penerima yang sebelumya
sudah diset dari menu PHP -> Email Settings setiap kali telah terjadi perubahan Record di tabel yang terkait.
3. On Delete, jika diaktifkan, maka PHPMaker akan menghasilkan fitur di Aplikasi Web yang akan mengirim Email kepada Penerima yang sebelumya
sudah diset dari menu PHP -> Email Settings setiap kali telah terjadi penghapusanRecord di tabel yang terkait.
Fitur Email Notification akan berfungsi jika Anda sudah mendefinisikan item-item pengaturan yang terdapat di menu PHP -> Email Settings. Jadi,
pastikan sekali lagi Anda sudah mengisi pengaturan yang terkait dengan pengiriman Email ini, seperti: SMTP Server, SMTP Username, SMTP
Pastikan juga bahwa Web Server Anda bisa menghubungi SMTP Server tersebut, atau pastikan bahwa Web Server Anda mendukung untuk pengiriman
Email.
Fitur Email Notification ini sangat bermanfaat jika di Aplikasi Web yang akan Anda bangun membutuhkan fitur pengawasan terhadap setiap data yang
baru saja ditambah, baru saja diubah, dan baru saja dihapus. Berdasarkan pengalaman Penulis, fitur ini sangat membantu Web Developer dalam
Audit Trail merupakan fitur di sebuah Aplikasi yang memungkinkan sistem merekam setiap kegiatan atau aktivitas yang dilakukan oleh Pengguna. Fitur
ini sangat bermanfaat untuk memantau siapa yang melakukan apa serta kapan kegiatan tersebut terjadi di dalam sistem. Contoh, Administrator dapat
melacak siapa yang sudah menginput data transaksi penjualan, siapa yang sudah mempebarui data profil, dan sebagainya.
PHPMaker yang lebih dari sekedar Tools PHP Code Generator menyediakan fitur ini pada Aplikasi Web yang dihasilkan olehnya. Pengaturan untuk
menghasilkan fitur ini dapat dilihat melalui Table Setup dari dalam project PHPMaker.
Pastikan Anda sebagai Web Developer sudah memilih salah satu Table dari panel Database yang terdapat di project PHPMaker, lalu klik tab Table yang
terdapat di sebelah kanannya. Untuk menghasilkan fitur Audit Trail, pastikan Anda sudah mengaktifkan item pengaturan yang bernama Audit Trail dari
Meskipun hanya satu item pengaturan yang terkait dengan Audit Trail di dalam Table Setup, tapi pengaturan untuk menghasilkan fitur ini terkait juga
dengan pengaturan di menu lain, yaitu: PHP -> General Options -> Audit Trail. Di sini, Anda sebagai Web Developer dapat menentukan ke media
Tersedia dua pilihan yang hanya dapat dipilih salah satu. Pertama, disimpan ke Database. Kedua, disimpan ke File Log. Untuk setiap masing-masing
pilihan ini, Anda harus mengisi atau memilih item pengaturan yang terkait.
Misalnya, jika disimpan ke Database, maka Anda harus memilih table tempat Audit Trail ini akan disimpan. PHPMaker bahkan sudah menyediakan
pilihan apakah Anda ingin membangkitkan tabel Audit Trail jika seandainya tabel ini belum terdapat di dalam Database Anda.
Sedangkan jika Audit Trail disimpan ke File Log, maka Anda harus menentukan lokasi sub-direktori tempat File Log tersebut akan disimpan di web server
Anda. Lokasi folder ini harus relatif ke folder utama dari Aplikasi Anda.
Untuk informasi lebih lanjut, silahkan baca topik Audit Trail yang terdapat di bagian Table Setup pada menu Help PHPMaker.
Seperti artinya, Multi-Update merupakan fitur untuk memperbarui beberapa Record sekaligus. Sering kali Anda sebagai Web Developer harus
menambahkan fitur ini di Aplikasi Web yang Anda bangun. Beruntunglah Anda jika menggunakan PHPMaker, karena fitur ini dapat dihasilkan dengan
Tak kenal maka tak sayang. Oleh karena itu, mari kita mengenal lebih dalam beberapa item pengaturan yang terkait dengan fitur ini. Pastikan Anda
sudah memilih salah satu Table dari panel Database di dalam project PHPMaker Anda. Selanjutnya, klik tab Table yang berada di panel sebelah kanan.
Di dalam tab ini, cari bagian Multi-Update Page, dan di dalamnya terdapat dua item pengaturan sebagai berikut:
1. Multi-Update, jika diaktifkan, maka PHPMaker akan membangkitkan halaman untuk memperbarui beberapa Record sekaligus.
2. Confirm, jika diaktifkan, maka PHPMaker akan menampilkan halaman konfirmasi sebelum Pengguna yakin ingin menyimpan atau membatalkan
Meskipun jumlah item pengaturan ini hanya dua saja, tapi fitur ini terkait juga dengan beberapa item pengaturan di tempat lain, yang sebelumnya sudah
pernah kita bahas, yaitu di Field Setup. Pastikan Anda sudah memilih Field yang disertakan dalam fitur ini dengan mengaktifkannya melalui kolom Multi-
Lagi-lagi, syarat utama untuk mengimplementasikan fitur ini, di Table terkait harus sudah memiliki kunci utama (Primary Key) sebagai penanda unik
antara satu Record dengan Record lainnya. Jika kunci utama di tabel tersebut belum ada, maka PHPMaker tidak akan pernah membangkitkan fitur ini di
Setelah Anda men-generate ulang file script dengan menggunakan PHPMaker, maka Pengguna Aplikasi Web Anda dapat menggunakan fitur ini melalui
halaman List. Di sana seharusnya akan muncul control CheckBox di sebelah kiri dari setiap Record yang terdapat di tabel, dan di bagian atas dan/atau
bawah dari tabel tadi akan muncul tombol yang akan men-triggerke halaman Multi-Update.
Pengguna harus memilih satu dan/atau beberapa Record dengan cara memberi tanda centang pada control CheckBox tadi, lalu mengklik tombol untuk
menampilkan halaman Multi-Update. Di halaman Multi-Update tersebut, maka Pengguna harus memberi tanda centang pada Field yang dia inginkan
Sekali lagi, berdasarkan pengalaman Penulis, fitur ini benar-benar sangat membantu Web Developer dalam menghemat waktu pengembangan.
Sekarang, cobalah bandingkan jika fitur ini harus Anda kerjakan secara manual, apalagi jika fitur ini harus diimplementasikan pada beberapa tabel.
Di artikel ini kita akan membahas mengenai pengaturan untuk menghasilkan fitur Edit di Aplikasi Web yang dibangun oleh PHPMaker. Pengaturan ini
berada di dalam Table Setup, yang artinya dia dapat dikostumisasi untuk setiap object Table yang terdapat di dalam project PHPMaker Anda.
Pastikan Anda sudah mengklik salah satu Table yang Anda inginkan dan terdapat di panel Database dari dalam project PHPMaker Anda, lalu klik
tab Table yang terdapat di panel sebelah kanannya. Di bagian Edit Page, Anda akan melihat beberapa item pengaturan sebagai berikut:
1. Edit, jika diaktifkan, maka PHPMaker akan membangkitkan halaman Edit yang berfungsi untuk memperbarui Record yang sudah ada di Database.
2. CAPTCHA, jika diaktifkan, maka PHPMaker akan menampilkan kode keamanan di form Edit. Tentu saja dibutuhkan extension CAPTCHA dalam hal
ini, yang bisa Anda aktifkan dari menu Tools -> Extensions.
3. Confirm, jika diaktifkan, maka PHPMaker akan membangkitkan halaman konfirmasi yang memungkinkan Pengguna untuk membatalkan atau
4. Check conflicts, jika diaktifkan, maka PHPMaker akan menghasilkan fitur di Aplikasi Web yang memeriksa apakah Record yang sedang diubah
oleh Pengguna sudah diubah oleh Pengguna lainnya sebelum Record tersebut disimpan ke Database.
Item CAPTCHA, Confirm, dan Check conflicts hanya berlaku kepada pengubahan satu buah Record saja. Artinya, dia tidak berlaku jika menggunakan
menambahkan business-logic melalui kode PHP di server event tersebut untuk mengatasi jika terjadi konflik ketika Pengguna sedang mengubah sebuah
Record.
Syarat utama untuk menghasilkan halaman Edit adalah, di Table yang terkait sudah memiliki kunci utama (Primary Key) sebagai penanda unik antara
Pengaturan selanjutnya yang berada di dalam Table Setup pada project PHPMaker adalah untuk mengatur halaman Delete. Fitur ini adalah fungsi untuk
Sebagai Web Developer, Anda dapat memutuskan apakah ingin menghasilkan fitur Delete dengan cara mengaktifkan item Delete yang berada di
bagian Delete Page dalam tab Table di project PHPMaker Anda, lalu men-generate ulang semua file script dengan menggunakan PHPMaker.
Ada dua tipe penghapusan data yang didukung oleh PHPMaker. Pertama, penghapusan data dengan menampilkan halaman konfirmasi yang berisi data
yang akan dihapus. Kedua, penghapusan data dengan menampilkan kotak dialog konfirmasi Javascript. Perbedaan utama di antara kedua tipe itu
adalah, tipe pertama membutuhkan satu buah http-request ke server sehingga membutuhkan sedikit waktu yang lebih lama dibandingkan dengan tipe
kedua.
Untuk mengimplementasikan tipe penghapusan yang pertama, maka pastikan Anda tidak mengaktifkan item pengaturan Inline delete yang terdapat di
bawah tab PHP -> Page Options (Global), atau yang terdapat di bawah tab Table -> Table-specific Options -> List Page. Artinya, jika Anda ingin
mengimplementasikan tipe penghapusan yang kedua, maka Anda harus mengaktifkan pengaturan tadi.
PHPMaker juga memiliki kemampuan untuk menghasilkan fitur penghapusan lebih dari satu Record sekaligus. Anda sebagai Web Developer cukup
hanya mengaktifkan item pengaturan Multiple delete yang terdapat di lokasi sebelumnya. Jika fitur penghapusan beberapa Record ini diaktifkan, maka
di halaman List akan ditampilkan control CheckBox di kolom paling kiri dari setiap Record yang terdapat di tabel.
Berdasarkan pengalaman Penulis, fitur penghapusan yang disediakan oleh PHPMaker ini dapat menghemat waktu Web Developer dalam
mengembangkan Aplikasi Web yang membutuhkan fitur tersebut. Bandingkan jika fitur ini harus Anda kerjakan secara manual di setiap halaman/tabel
Sekarang tibalah saatnya kita membahas item-item pengaturan apa saja yang terdapat di bagian Add Page dalam pengaturan tabel atau Table Setup di
project PHPMaker. Pengaturan ini bisa dioptimalkan sebelum membangkitkan kode dalam halaman Add untuk Table tertentu.
Perlu diketahui juga, bahwa yang dimaksud dengan halaman Add di sini adalah halaman yang digunakan oleh Pengguna untuk menambah data baru, di
mana satu Record akan ditambahkan melalui sebuah halaman. Selain itu, halaman Add dapat digunakan juga untuk menyalin data yang sebelumnya
sudah ada, sehingga proses penambahan Record bisa lebih cepat karena tidak perlu menginput semua Field dari awal.
1. Add, jika diaktifkan, maka PHPMaker akan membangkitkan kode untuk halaman Add yang berfungsi untuk menambah atau menyalin data.
2. Copy, jika diaktifkan, maka PHPMaker akan membangkitkan kode untuk halaman Add, dan link Copy juga akan dibangkitkan di
3. CAPTCHA, jika diaktifkan, maka PHPMaker akan menambahkan kode keamanan di halaman Add. Dalam hal ini pastikan extension CAPTCHA
ke Database. Halaman konfirmasi ini tidak berlaku untuk fitur Grid-Add maupun Inline-Copy.
Persyaratan utama supaya halaman Add dapat dihasilkan oleh PHPMaker adalah di Table terkait sudah memiliki kunci utama (Primary Key). Jika
Primary Key belum didefinisikan di table tersebut, maka PHPMaker tidak akan pernah membangkitkan halaman Add tersebut.
Harap dibedakan, bahwa Add Page berbeda dengan Grid-Add Page dan Inline-Copy Page. Halaman Add atau Add Page berisikan sebuah form untuk
menginput satu Record dalam satu halaman, sedangkan Halaman Grid-Add halaman yang berisi Grid yang memungkinkan Pengguna dapat menambah
beberapa Record sekaligus dalam sebuah Grid. Sementara halaman Inline-Copy memungkinkan Pengguna untuk menyalin data pada baris yang
Salah satu bagian yang terdapat di dalam Table Setup di PHPMaker adalah pengaturan untuk menghasilkan halaman View. Halaman View adalah
halaman yang menampilkan satu Record dalam satu halaman. Pengguna dapat melakukan navigasi ke Record berikutnya, ke Record sebelumnya, ke
Anda sebagai Web Developer cukup hanya dengan mengaktifkan pengaturan View di bagian View Page yang terdapat di dalam tab Table, lalu men-
Syarat utama agar Anda dapat menghasilkan halaman View adalah, pada object Table yang Anda inginkan di project PHPMaker sudah memiliki kunci
utama atau Primary Key. Jika hal ini tidak dipenuhi, maka halaman View tidak akan pernah dihasilkan oleh PHPMaker. Bahkan, jika pengaturan ini
sebelumnya sudah diaktifkan atau diberi tanda centang, maka PHPMaker akan menghapus tanda centang tersebut.
Untuk menyertakan Field mana saja yang akan ditampilkan di halaman View, maka Anda sebagai Web Developer dapat menentukannya melalui
tab Fields atau dalam PHPMaker dikenal dengan istilah Fields Setup.
Di halaman View yang dihasilkan oleh PHPMaker, Anda juga dapat melihat beberapa link/menu/tombol ke beberapa fungsi tertentu, seperti untuk
mengekspor data, menambah data, mengubah data, menghapus data, dan sebagainya. Fungsi-fungsi tersebut akan dihasilkan di halaman tersebut
tergantung pada pengaturan fungsi terkait pada level Global atau level Table.
Pernah mengalami kesulitan ketika akan membuat fitur pencarian data di sebuah Aplikasi Web? Jika ya, maka artikel ini akan membantu Anda.
PHPMaker dapat menghasilkan Aplikasi Web yang memiliki fitur pencarian data. Biasanya fitur ini berada di halaman List, yaitu halaman yang
menampilkan beberapa Record dalam sebuah tabel. Panel pencarian akan berada di bagian atas dari tabel tadi.
Umumnya, fitur pencarian ini dibagi atas dua bagian. Pertama, untuk mencari data dengan cepat dan biasa disebut dengan Quick Search. Kedua, untuk
mencari data melalui beberapa kriteria dan biasa disebut dengan Advanced Search. Selain kedua itu, ada satu fitur lagi yang disebut dengan Extended
Search. Fitur ini merupakan fitur pencarian yang ditampilkan di bagian Quick Search, tapi terkait dengan Field yang biasanya ditampilkan di Advanced
Search.
Beruntunglah Anda sebagai Web Developer jika menggunakan PHPMaker, karena fitur pencarian tersebut dapat dihasilkan dengan cepat. Tidak hanya
cepat, tapi fitur pencarian ini cukup powerful dalam mencari data melalui beberapa pilihan atau kriteria pencarian yang dinamis.
Sebelum membuat fitur pencarian di Aplikasi Web, maka ada baiknya Anda mengetahui beberapa item pengaturan yang terkait dengan fitur Search yang
1. Quick, jika diaktifkan, maka PHPMaker akan menghasilkan panel pencarian di bagian atas dari tabel yang terdapat di halaman List.
2. Default value (Quick), merupakan nilai standar yang digunakan oleh fitur pencarian jika seandainya Pengguna tidak memasukkan kriteria
3. Default search type (Quick), merupakan tipe pencarian yang terdapat di bagian Quick Search. Tersedia tiga pilihan, yaitu Any words, All words,
dan Exact match. Ketiga jenis ini akan kita bahas lebih detail pada artikel terpisah mendatang, disertai dengan beberapa contoh penerapan.
4. Extended, jika diaktifkan, maka PHPMaker akan menampilkan kriteria pencarian pada panel Quick Search.
5. Fields per row (Extended), merupakan nilai jumlah Field per baris yang akan mengatur tampilan Field kriteria pencarian pada panel Quick Search.
6. Advanced, jika diaktifkan, maka PHPMaker akan menampilkan link di dalam panel Quick Search, dan ketika Pengguna mengklik link tadi, maka
sistem akan menampilkan halaman baru berisi pencarian tingkat lanjutan yang berisi beberapa Field kriteria pencarian.
7. Highlight, jika diaktifkan, maka kriteria pencarian akan disorot (highlight) pada halaman yang menampilkan hasil pencarian.
Di artikel berikutnya, kita akan membahas mengenai pengaturan untuk menghasilkan halaman View.
Sesuai dengan janji saya di artikel sebelumnya, kali ini kita akan membahas lebih detail mengenai item-item pengaturan yang terdapat di bagian List
Page. Semua pengaturan yang terdapat di bagian ini digunakan untuk menghasilkan kode di halaman List dari Aplikasi Web yang dihasilkan oleh
PHPMaker.
Sebelum membahas lebih detail, maka pastikan Anda sudah mengklik tab yang bernama Table setelah sebelumnya Anda memilih salah satu Table yang
Anda inginkan dari panel Database di sebelah kiri dari project PHPMaker Anda.
Baiklah kalau begitu. Kita mulai saja dengan pengaturan-pengaturan yang terdapat di bagian List Page dalam tab Table. Apa saja itu? Silahkan simak di
bawah ini.
1. Inline Add, jika diaktifkan, maka PHPMaker akan membangkitkan fitur untuk menambah data pada baris yang terdapat di Grid atau Tabel.
2. Inline Copy, jika diaktifkan, maka PHPMaker akan membangkitkan fitur untuk menyalin dari data yang sudah ada pada baris yang terdapat di Grid
atau Tabel.
3. Inline Edit, jika diaktifkan, maka PHPMaker akan membangkitkan fitur untuk mengubah data yang sudah ada pada baris yang terdapat di Grid atau
Tabel.
4. Grid Add, jika diaktifkan, maka PHPMaker akan membangkitkan fitur yang memungkinkan Pengguna menambah beberapa Record sekaligus pada
mode Grid atau Tabel. Hal ini sangat bermanfaat jika Pengguna tidak ingin menambah beberapa Record tadi secara berulang-ulang menggunakan
5. Grid Edit, jika diaktifkan, maka PHPMaker akan membangkitkan fitur yang memungkinkan Pengguna mengubah beberapa Record sekaligus pada
mode Grid atau Tabel. Hal ini sangat bermanfaat jika Pengguna tidak ingin mengubah beberapa Record tadi secara berulang-ulang menggunakan
6. Master/Detail Add (as Detail), jika diaktifkan, maka PHPMaker akan membangkitkan fitur yang memungkinkan Pengguna menambah data yang
memiliki relasi master-detail atau parent-child, di mana data di bagian detail tersebut dapat ditambahkan dalam mode Grid atau Tabel seperti Grid
7. Master/Detail Edit (as Detail), jika diaktifkan, maka PHPMaker akan membangkitkan fitur yang memungkinkan Pengguna mengubah data yang
memiliki relasi master-detail atau parent-child, di mana data di bagian detail tersebut dapat diubah dalam mode Grid atau Tabel seperti Grid Edit di
atas tadi.
8. Master/Detail View (as Detail), jika diaktifkan, maka PHPMaker akan membangkitkan fitur yang memungkinkan Pengguna dapat mem-browse data
yang memiliki relasi master-detail atau parent-child, di mana data di bagian detail berasal dari Table yang terpilih.
9. Multipel detail tables, jika diaktifkan, maka PHPMaker akan membangkitkan fitur master-detail di mana satu master dapat memiliki lebih dari satu
tabel detail. Perlu untuk diketahui, bahwa setiap pasang tabel master-detail ditangani secara terpisah. Artinya, setiap satu tabel master dan satu
tabel detail keduanya ditampilkan dalam satu halaman. Tabel master adalah tabel terpilih. Jadi, jika pilihan ini diaktifkan maka semua tabel detail
yang memiliki relasi master-detail dengan tabel terpilih akan ditampilkan secara bersamaan dalam halaman yang sama (satu master tabel dengan
beberapa tabel detail). Dengan mengaktifkan pilihan ini, berarti pula akan menyembunyikan pasangan tabel Master/Detail secara individu (satu tabel
10. Detail record count, jika diaktifkan, maka PHPMaker akan menampilkan jumlah record yang terdapat di tabel detail pada bagian tabel master.
11. Requires search criteria, jika diaktifkan, maka ketika halaman List pertama kali ditampilkan tidak akan mengandung Record apapun. Pengguna
harus melakukan pencarian terlebih dulu untuk melihat Record di halaman List tersebut.
12. Sequence number, jika diaktifkan, maka PHPMaker akan membangkitkan fitur kolom nomor urut Record di bagian Tabel. Hal ini sangat bermanfaat
bagi Pengguna untuk mengetahui nomor urut setiap Record jika mereka sedang mem-browse Record di halaman List.
Di artikel saya berikutnya, kita akan membahas lebih detail mengenai pengaturan untuk menghasilkan fitur Search; baik untuk pencarian cepat (Quick
Table Setup di PHPMaker berarti pengaturan yang dilakukan dari sisi level Table. Sekedar mengingatkan kembali, bahwa Table di project PHPMaker
merupakan istilah yang mewakili object Tables, Views, dan Custom Views. Jadi, istilah Tabledi sini untuk menyederhanakan beberapa object yang
biasanya dibuat berdasarkan object Tables dan Views di Database, di tambah dengan object Custom View yang juga mengacu kepada View yang dibuat
Ketika salah satu object Table diklik yang terdapat di panel Database pada project PHPMaker Anda, maka PHPMaker akan menampilkan tab yang
bernama Table di panel khusus pada sebelah kanan. Anda sebagai Web Developer dapat mengoptimalkan beberapa pengaturan di dalam tab ini.
Semua pengaturan yang terdapat di dalamnya merupakan pengaturan yang akan bekerja pada level Table. Artinya, pengaturan ini dapat menimpa atau
meng-override pengaturan yang sama yang sebelumnya sudah didefinisikan dari level Global pada sub-tab Page Options (Global) di bawah tab PHP.
Mulai artikel ini, kita akan membahas mengenai bagian-bagian yang terdapat di dalam tab Table atau sering dikenal dengan istilah Table Setup di
PHPMaker.
Bagian yang pertama Anda akan lihat dan posisinya berada paling atas adalah General. Bagian ini berisi beberapa item pengaturan sebagai berikut:
1. Name, merupakan nama Table yang juga digunakan sebagai nama object Table pada file script yang dihasilkan oleh PHPMaker. Nilai pengaturan
2. Generate, jika diaktifkan, maka PHPMaker akan men-generate file script untuk Table yang bertalian.
3. Caption, merupakan label dari Table yang sedang terpilih. Di sebelah kanan dari nilai pengaturan ini terdapat tombol kecil yang ketika diklik akan
menampilkan jendela Multi-Language Property Editor, dan langsung link ke bagian Table Caption. Artinya, Anda dapat mengubah nilai ini selain
dari Table Setup, juga bisa melalui jendela Multi-Language Property Editor tadi.
4. Filter, merupakan nilai parameter filter (klausa WHERE) dari Table yang terpilih. Anda dapat mengklik tombol [K] di pengaturan ini, dan PHPMaker
akan menampilkan jendela Filter Editor. Anda dapat memasukkan nilai dari string Filter untuk menyaring record pada Table yang terkait. Anda juga
dapat menyeret salah satu Field dari panel sebelah kiri ke dalam teks editor. Karakter kutipan pengenal SQL juga akan ditambahkan secara
otomatis. String filter haruslah merupakan sebuah pernyataan PHP yang valid dan dia akan digabungkan dengan SQL milik Table tersebut pada file
script yang akan di-generate oleh PHPMaker. Karena parameter filter merupakan sebuah string, maka dia harus diapit dengan petik ganda.
5. Sort, merupakan nilai dari Field yang akan diurutkan (klausa ORDER BY) untuk Table yang sedang terpilih. Anda dapat mengklik tombol [K] di
pengaturan ini, dan PHPMaker akan menampilkan jendela khusus. Anda sebagai Web Developer dapat menentukan maksimal sampai 6 Field yang
akan diurutkan pada saat Aplikasi Web menampilkan halaman List yang berisi data di Table ini, baik dalam urutan dari kecil ke besar (Ascending)
6. Default, jika diaktifkan, maka Table yang terpilih akan pertama kali ditampilkan oleh Aplikasi Web. Hanya salah satu Table saja yang bisa dijadikan
sebagai standar Table yang ditampilkan pertama kali ketika Aplikasi Web diakses oleh Pengguna.
Di artikel berikutnya, kita akan membahas lebih detail mengenai item-item pengaturan yang terdapat di bagian List Page pada Table Setup PHPMaker.
Ketika Anda mengklik salah satu object Table pada panel Database di PHPMaker, maka di sebelah kanan akan muncul tab Fields. Di bagian atas dari
tab Fields ini merupakan grid yang berisi beberapa item pengaturan yang terkait dengan Field yang terdapat di sebuah Table, seperti: General, List
1. General, berisikan pengaturan untuk mengganti Caption dari Field, pengaturan untuk menentukan Primary Key sesuai kebutuhan, pengaturan untuk
membagi Field ke dalam beberapa halaman (dalam bentuk Tab), dan pengaturan untuk menentukan nilai otomatis yang akan digunakan oleh Field
(Auto-Update Value).
2. List Page, berisikan pengaturan untuk menampilkan Field pada halaman List, pengaturan untuk menentukan Field yang memiliki fungsi Aggregate,
lebar Field, text-wrap Field, Field yang akan ditampilkan di panel Quick Search, serta pengaturan untuk menyertakan field Extended Search.
3. View Page, berisikan pengaturan untuk menampilkan Field pada halaman View yang menampilkan satu record per satu halaman.
4. Edit Page, berisikan pengaturan untuk menampilkan Field pada halaman Edit, pengaturan untuk menentukan teks yang muncul jika mouse berada
di atas sebuah Field, pengaturan untuk membuat Field menjadi Read-Only, dan pengaturan control yang akan digunakan di sebuah Field.
5. Add Page, berisikan pengaturan untuk menampilkan Field pada halaman Add, dan pengaturan untuk menentukan nilai yang otomatis terisi pada
6. Multi-Update, berisikan pengaturan untuk menampilkan Field yang terlibat di halaman pemutahiran beberapa Record sekaligus (Multi-Update).
7. Advanced Search Page, berisikan pengaturan untuk menampilkan Field pada halaman Pencarian Lanjutan (Advanced Search), pengaturan untuk
menentukan operator yang digunakan pada sebuah Field, serta pengaturan untuk menentukan nilai standar (default) yang akan ditampilkan di Field
Setiap kali Anda mengklik salah satu Field, maka di bagian bawah dari pengaturan-pengaturan tadi akan muncul dua panel yang masing-masing
bernama View Tag dan Edit Tag. Panel View Tag berisikan pengaturan-pengaturan yang terkait dengan DIV Tag Attributes, Hyperlink, dan Tooltip.
Sedangkan panel Edit Tag berisikan pengaturan-pengaturan yang terkait dengan control yang digunakan oleh Field, apakah TextBox, Password, Radio
Button, CheckBox, ComboBox, List, TextArea, File, dan Hidden Field. Untuk masing-masing tipe control tersebut PHPMaker juga menyediakan
pengaturan yang lebih detail lagi. Informasi lebih lanjut dan lebih detail mengenai fitur-fitur pendukung untuk setiap control tadi dapat Anda baca melalui
Jika control yang digunakan adalah ComboBox atau SELECT yang isinya akan lookup ke sebuah tabel tertentu, maka akan muncul satu panel
tambahan lainnya yang bernama Lookup Table. Di panel baru ini Anda sebagai Web Developer dapat menentukan pengaturan yagn terkait dengan
Field Lookup tersebut. Sangat rinci dan sangat lengkap pengaturan yang ada di sini.
Dari semua penjelasan di atas, satu kesimpulan yang diambil oleh Penulis, bahwa antar-muka PHPMaker dibuat sangat intuitive, user-friendly, dan
terintegrasi dengan baik antara satu fitur dengan fitur terkait lainnya. Semuanya berada pada satu jendela yang sama, dan hanya dipisahkan oleh panel
Alangkah sayangnya jika Web Developer tidak mengoptimalkan fitur-fitur hebat dan fleksibel ini untuk membangun Aplikasi Web yang hasilnya pun
Di artikel saya sebelumnya, kita sudah membahas bahwa setiap kali PHPMaker menghubungi Database dari sebuah project, maka PHPMaker akan
menampilkan empat object utama di panel Database di sebelah kiri. Keempat object tersebut adalah Tables, Views, Custom Views, dan Reports. Di
panel sebelah kanan, maka akan muncul tab Fields atau lebih sering dikenal di PHPMaker dengan istilah Field Setup.
Di sebelah kanan dari tab Fields tadi ada tab yang bernama Table. Tab Table berisikan item-item pengaturan yang dapat Anda optimalkan pada Aplikasi
Web yang akan dihasilkan oleh PHPMaker. Kedua tab tadi akan sama-sama muncul setiap kali Anda mengklik atau memilih salah satu dari keempat
object di atas tadi. Di PHPMaker, tab Table ini sering dikenal dengan istilah Table Setup.
Khusus untuk tab Table, maka di dalamnya terdiri dari beberapa bagian utama, yaitu:
1. Table, berisi item-item pengaturan yang terkait dengan halaman tertentu, seperti List, Search, View, Add, Delete, Edit, Multi-Update, Audit Trail,
2. Table-specific Options, berisi item-item pengaturan yang diwariskan dari pengaturan level global.
3. Master/Detail, berisikan pengaturan untuk membuat halaman yang mengandung tabel master dan tabel detail.
Umumnya pengaturan-pengaturan yang terdapat di Table Setup terkait dengan pengaturan untuk sebuah halaman berdasarkan Table tertentu. Itulah
mengapa disebut dengan Table Setup. Contoh, apakah halaman Add, Edit, View, List, dan Search untuk tabel tertentu akan di-generate atau tidak. Anda
juga bisa menentukan apakah fitur Export Data untuk Tabletertentu di-generate atau tidak, dan sebagainya. Selain itu, pengaturan di Table Setup juga
biasanya merupakan turunan dari pengaturan yang diatur dari level Global. Jadi, pengaturan di Tabel Setup dapat meng-override pengaturan yang
Dari sini kita dapat mengetahui perbedaan antara Field Setup dan Table Setup. Jadi, dari namanya saja kita tahu bahwa Field Setup berkaitan dengan
pengaturan-pengaturan terhadap Field di sebuah Table, sedangkan Table Setup berkaitan dengan pengaturan-pengaturan yang terkait erat dengan
Jangan khawatir, karena kita akan membahas dari setiap bagian yang terdapat di tab Table tadi di beberapa artikel mendatang secara lebih detail lagi.
PHPMaker merupakan Tools PHP Code Generator yang juga berperan sebagai framework atau kerangka kerja Web Developer ketika membangun
sebuah Aplikasi Web. Disebut dengan kerangka kerja, karena PHPMaker akan mengekstrak informasi yang terdapat di Database, mulai dari
object Table sampai dengan View (kedua object ini dikenal dengan istilah Table di PHPMaker), untuk selanjutnya sebagai pondasi bagi Web Developer
untuk bekerja.
Perlu untuk diketahui, bahwa setelah PHPMaker berhasil menghubungi sebuah Database, maka dia akan memuat object-object tadi. PHPMaker hanya
mengenali kedua object tadi di Database. Namun, di dalam sebuah project PHPMaker, kedua object tadi bisa dikembangkan menjadi empat object utama
di dalam project PHPMaker, yaitu: Tables, Views, Custom Views, dan Reports.
Keempat object utama tadi akan ditampilkan di panel sebelah kiri (panel Database). Ketika salah satu object tadi Anda pilih atau klik, maka PHPMaker
akan menampilkan tab yang berisi item-item pengaturan dan dikenal dengan istilah Field Setup. Nah, Anda sebagai Web Developer nantinya akan
sering bermain-main dari tab ini untuk mengubah tampilan sebuah Field, misalnya ingin Anda jadikan sebagai Lookup Field, atau bahkan menggunakan
PHPMaker tentu saja sudah mendukung hampir semua tipe data di Database. Jika seandainya ada tipe field yang belum dikenali atau didukung oleh
PHPMaker terdapat di sebuah Table, maka PHPMaker akan menampilkan field tersebut ke dalam sebuah tab yang bernama Unsupported Fields. Anda
dapat mengklik tab tersebut untuk melihat rincian Field mana saja yang tipe-nya belum didukung oleh PHPMaker.
Ketika Anda sebagai Web Developer mengklik tab Field Setup, maka di bagian bawah tab ini akan muncul dua bagian. Bagian atas merupakan sebuah
grid yang menampilkan semua Field. Sedangkan bagian di bawah terdiri dari dua panel. Yang pertama adalah panel Edit tag, dan yang lainnya
panel View tag. Kedua panel ini akan ditampilkan jika Anda mengklik salah satu Field di bagian grid atas tadi.
Untuk bagian atas yang merupakan grid, maka dibagi lagi menjadi beberapa kolom, sebagai berikut:
1. General
2. List Page
3. View Page
4. Edit Page
5. Add Page
6. Multi-Update Page
Di beberapa artikel mendatang, saya akan menjelaskan lebih detail lagi dari setiap kolom yang terdapat di bagian grid dari tab Field Setup.
Di artikel saya sebelumnya kita sudah membahas bagaimana mudahnya Anda sebagai Web Developer dapat menentukan nilai tertentu pada pengaturan
yang digunakan untuk menghasilkan kode CSS di Aplikasi Web yang dibangun dengan PHPMaker. Pengaturan tersebut dapat dikelola melalui
Sering kali kita sebagai Web Developer ingin mengubah atau menimpa kode CSS yang sudah dihasilkan oleh PHPMaker. Karena tentu saja tidak semua
PHPMaker sudah menyediakan fitur yang memungkinkan Web Developer dapat menimpa kode CSS yang sudah dihasilkan olehnya. Cukup dengan
mengklik sub-tab Styles yang terdapat di bawah menu HTML -> Theme, lalu klik tombol Edit styles.
Pada jendela berikutnya yang muncul, Anda akan melihat CSS Editor, lalu scroll ke bagian paling bawah, di 5 baris paling bawah Anda akan melihat
/*END_USER_STYLES*/
Nah, Anda sebagai Web Developer cukup meletakkan kode CSS yang Anda inginkan di dalam blok tersebut.
Di beberapa artikel saya yang terdahulu, sudah diuraikan bahwa PHPMaker bukanlah sekedar Tools PHP Code Generatorsaja, melainkan lebih dari itu.
Di samping sebagai alat untuk menghasilkan kode PHP untuk membangun Aplikasi Web, PHPMaker juga merupakan sebuah paket yang di dalamnya
Tentu saja CSS dan Javascript Framework yang digunakan oleh PHPMaker dibuat khusus sedemikian rupa, sehingga dapat diimplementasikan pada
Aplikasi Web yang dihasilkan olehnya. Aplikasi Web yang dihasilkan oleh PHPMaker bukanlah hanya terdiri dari kode PHP, tapi dilengkapi dengan kode
CSS dan Javascript yang digunakan di bagian Front-End dari Aplikasi Web tersebut.
Sejak versi 11, PHPMaker menggunakan Twitter Bootstrap 3 yang selama ini sudah kita ketahui sebagai sebuah Framework yang sangat bagus, dan
banyak digunakan oleh Web Developer untuk membangun Aplikasi Web dengan mudah dan cepat. Itu artinya, Fitur CSS dan Javascript Framework yang
sebelumnya sudah lama digunakan oleh PHPMaker menjadi lebih kaya lagi, karena ditambah dengan CSS Framework yang berasal dari Twitter
Bootstrap 3.
PHPMaker telah menyediakan fitur Theme yang memungkinkan Web Developer dapat mengkostumisasi beberapa variabel yang sangat menentukan
untuk menghasilkan CSS Framework tadi. Anda cukup hanya mengklik menu HTML, lalu mengklik sub-tab yang bernama Theme.
Di sana sudah tersedia 12 (Dua belas) Theme dasar yang bisa Anda kembangkan dengan mengubah nilai dari variabel yang terdapat di bawahnya.
Dalam hal ini, PHPMaker juga menggunakan LESS, sehingga file-file .css yang dibangkitkan oleh PHPMaker berasal dari nilai pengaturan yang
Adapun bagian-bagian yang telah disediakan oleh PHPMaker agar bisa Anda kostumisasi nilai pengaturannya dengan sangat mudah adalah sebagai
berikut:
1. Site Header
3. Site Footer
4. Table Header
5. Table Body
6. Table Footer
7. Grid
8. Grid Lines
Berdasarkan pengalaman Penulis, fitur Theme di PHPMaker ini sangat membantu sekali bagi Web Developer, apalagi mereka yang masih pemula dan
belum terlalu mengenal Twitter Bootstrap 3. Itu artinya, Aplikasi Web yang dihasilkan oleh PHPMaker sangat mendukung untuk menggunakan Multi-
Theme. Anda sebagai Web Developer dapat membuat theme yang jumlahnya tidak terbatas! Bayangkan!
Bahkan, tidak berhenti di situ saja. PHPMaker juga sudah menyediakan fitur yang memungkinkan file-file .css (CSS) dan .js (Javascript) yang dihasilkan
nantinya sudah dalam format yang telah dipadatkan/dikompres (compressed), sehingga Aplikasi Web Anda dapat diakses relatif lebih cepat
Betapa banyaknya waktu yang dapat dihemat dengan menggunakan PHPMaker dalam menghasilkan Aplikasi Web.
Sekarang ini sudah bukan jamannya lagi membangun Aplikasi Web yang hanya bisa menggunakan satu bahasa. Ketika Anda sebagai Web Developer
membangun sebuah Aplikasi Web dan menaruhnya di jaringan Internet, maka sudah barang tentu Aplikasi Web Anda itu menjadi dapat diakses oleh
siapa saja dan dari negara manapun. Oleh karena itu, sudah sewajarnya jika mulai sekarang Anda memikirkan supaya Aplikasi Web itu mendukung
Meskipun sekarang ada layanan situs penterjemah secara online yang disediakan oleh Google melalui Google Translate, tapi itu bukan berarti Anda
dapat mengandalkan kemampuan layanan ini secara 100%. Pasti ada frase atau kata tertentu yang tidak tepat diterjemahkan oleh Google Translate
sehingga dampaknya bukannya menjadi lebih bagus, tapi menjadi lebih berantakan.
Seperti yang sudah kita ketahui, Aplikasi Web yang dihasilkan oleh PHPMaker mendukung pemakaian lebih dari satu bahasa. Itu artinya, Web Developer
diberi kemudahan untuk menambahkan bahasa apapun yang ingin disertakan di Aplikasi Web yang dibangunnya dengan PHPMaker. Apalagi sekarang
sudah banyak tersedia file-file .xml yang berisi frase-frase dalam berbagai bahasa dari seluruh penjuru dunia melalui Forum Diskusi PHPMaker. Anda
sebagai Web Developer tinggal menyalin file-file .xml tadi ke sub-direktori languages dari direktori tujuan instalasi PHPMaker Anda.
PHPMaker juga sudah menyediakan sebuah editor untuk memudahkan Web Developer dalam mengelola frase-frase yang dihasilkan dari Database di
dalam project PHPMaker. Fitur itu disebut dengan Multi-Language Property Editor. Seperti artinya, ini merupakan editor untuk mengelola frase bahasa
yang dihasilkan dari Property milik object Table di Database. Masih ingat bahwa PHPMaker akan menggunakan data atau Property yang diekstrak dari
Dengan menggunakan editor khusus PHPMaker untuk mengelola frase dari beberapa bahasa yang digunakan di Aplikasi Web yang Anda bangun, maka
Anda menjadi lebih mudah menterjemahkan frase-frase tertentu yang dihasilkan oleh project PHPMaker Anda. Frase-frase tersebut ditampilkan
sedemikian rupa saling sejajar (side-by-side) sehingga proses menterjemahkan dari satu bahasa ke bahasa lain menjadi lebih mudah dan cepat.
Bahkan, melalui Multi-Language Property Editor ini, Anda sebagai Web Developer dapat memanipulasi frase tertentu yang ditampilkan di bagian Menu
Aplikasi Web supaya memiliki icon di sebelah teks dari item menu tersebut. Seperti yang kita ketahui, sejak versi 11, PHPMaker memberi kesempatan
yang sangat luas kepada Anda untuk dapat menampilkan icon dengan cukup menggunakan class dari icon tertentu yang disediakan dalam paket
glyphicon-nya.
Ketika Anda sebagai Web Developer membangun sebuah Aplikasi Web, sebuah Table biasanya direpresentasikan sebagai sebuah object. Object ini
berperan sebagai pondasi untuk membangun beberapa halaman yang mewakili beberapa fungsi untuk mengolah data di Table tadi. Contoh, ada
halaman untuk menambah data, ada halaman untuk mengubah data, ada halaman untuk mencari data, ada halaman untuk menghapus data, dan
sebagainya. Semua halaman tersebut mengacu kepada object yang sama, yang dalam hal ini adalah salah satu Table di Database.
Dalam dunia nyata, sering kali Web Developer harus membuat object lain berdasarkan object yang sudah ada. Kalau dalam Object Oriented
Programming, hal ini dikenal dengan istilah Inheritance atau pewarisan dari satu object ke object lain. Pewarisan object sering dilakukan, karena object
baru yang akan dibuat memiliki karakteristik yang berbeda dari object yang sudah ada, tapi sebagian besar properties yang terdapat di dalam object yang
baru tadi memiliki persamaan dengan properties yang terdapat di dalam object yang sudah ada sebelumnya.
Di dalam project PHPMaker, sebuah object merupakan representasi dari Table atau View di Database. Sering kali Web Developer harus membuat object
baru berdasarkan object yang sudah ada, karena beberapa properties di object baru memiliki kesamaan dengan yang terdapat di object yang sudah ada.
Beruntunglah Anda sebagai Web Developer yang menggunakan PHPMaker, karena hal ini bisa dilakukan dengan sangat cepat dan mudah. PHPMaker
sudah menyediakan fitur untuk menyalin properties-properties yang terdapat di sebuah object ke dalam object lainnya yang sudah dibuat berdasarkan
object tadi.
Cukup dengan memanggil menu Copy Table Settings dan Copy Field Settings yang terdapat di bawah menu Toolspada project PHPMaker Anda. Lalu
Berdasarkan pengalaman Penulis, fitur ini sangat membantu Web Developer untuk mempercepat proses pengembangan Aplikasi Web, apalagi jika
jumlah properties yang akan disalin dari satu Table ke Table lain relatif banyak. Bandingkanlah dengan kondisi ketika Anda harus melakukan hal ini
secara manual; betapa rumitnya proses tersebut, dan juga betapa lamanya waktu yang harus Anda butuhkan.
Sebagai Web Developer, saya yakin Anda tidak akan pernah luput dari pekerjaan melakukan sinkronisasi ulang antara perubahan yang terjadi pada
struktur Tabel-Tabel di Database dengan coding yang sudah atau akan Anda tulis di sisi Aplikasi Web. Siapapun itu, apakah Web Developer pemula atau
mahir sekalipun, ini adalah hal yang sering terjadi, dan sekali lagi, tidak akan pernah bisa Anda hindari.
Ada yang bilang bahwa perubahan struktur Tabel di Database sebaiknya jangan terlalu sering dilakukan, tapi yang lainnya lagi mengatakan bahwa
perubahan tersebut harus dilakukan karena mengikuti perubahan kebutuhan Client yang business process-nya pun cenderung berubah. Tentu saja kita
tidak bisa memperdebatkan hal ini. Dan, kita pun tidak bisa mengikuti mereka yang mengatakan pertama tadi. Biar bagaimanapun, kita harus bisa
mengakomodir setiap kebutuhan di Aplikasi Web yang kita bangun, sekecil apapun itu!
Ketika perubahan itu terjadi di satu atau dua Tabel saja tentu tidak terlalu menjadi masalah, karena Web Developer dapat menyesuaikannya relatif lebih
mudah dan cepat. Tetap jika perubahan itu melibatkan banyak Tabel, katakanlah sampai berpuluh-puluh Tabel, maka hal ini menjadi pekerjaan yang
cukup merepotkan. Bayangkan, Anda harus memastikan bahwa perubahan itu juga harus sinkron dengan kode yang Anda tulis di sisi Aplikasi Web!
PHPMaker yang bukan hanya sekedar Tools PHP Code Generator, sudah memikirkan hal ini. PHPMaker menyediakan fitur Synchronize yang dapat
membantu Web Developer melakukan proses sinkronisasi antara perubahan struktur Tabel di dalam Database dengan kode di sisi Aplikasi Web. Cukup
dengan mengklik menu Synchronize yang terdapat di bawah menu Tools pada project PHPMaker Anda, maka semua perubahan tadi akan disinkronkan
Ketika mendeteksi bahwa telah terjadi perbedaan struktur Tabel antara di Database dengan di dalam project PHPMaker Anda, maka PHPMaker akan
mengkonfirmasikan mengenai hal ini kepada Anda sebagai Web Developer. Anda masih diberi kesempatan apakah ingin menerapkan perubahan ini
pada project PHPMaker Anda atau tidak. Jika iya, maka hanya dalam hitungan beberapa detik saja perubahan ini langsung diimplementasikan ke dalam
project PHPMaker. Hasilnya pun selalu akurat. Bahkan, PHPMaker akan membangkitkan hasil perubahan yang terjadi tersebut ke dalam file log, dan ini
bisa Anda gunakan sebagai catatan perubahan (Change Log) perubahan versi Aplikasi Web, jika suatu saat dibutuhkan.
Lalu, cobalah bandingkan jika Anda sebagai Web Developer harus melakukan pekerjaan ini secara manual. Besar kemungkinan ada perubahan yang
tidak bisa disinkronkan 100% dengan kode di sisi Aplikasi Web Anda. Belum lagi waktu yang dibutuhkan relatif sangat lama dan jelas sangat tidak efektif.
Selain itu, Anda harus mencatat perubahan tadi secara satu per satu secara manual. Wuih, betapa repotnya.
Fitur Synchronize di PHPMaker jelas sangat membantu Web Developer dalam menghemat waktu pengembangan secara signifikan.
PHPMaker
Author: Masino Sinaga · Published: September 21, 2014 · Category: Pemrograman PHP
Hal terakhir yang akan kita bahas mengenai fitur Security di Aplikasi Web yang dihasilkan oleh PHPMaker adalah beberapa Field yang wajib ada di tabel
users. Tabel ini adalah tabel untuk menyimpan data Pengguna yang juga digunakan untuk memverifikasi data Pengguna saat Login.
Login Name Field, merupakan field yang sering disebut dengan Username dan digunakan di halaman Login.
Email field, merupakan field Email yang berguna untuk mengirimkan hasil Registrasi Akun Pengguna, Perubahan Kata Sandi, dan event-
event lainnya yang dibangkitkan oleh sistem.
Activated field, field yang menandakan apakah Akun Pengguna statusnya aktif atau tidak.
Profile field (memo), field ini digunakan untuk menyimpan informasi lainnya yang terkait dengan aktivitas Pengguna, seperti Tanggal terakhir
Password diganti, Tanggal dan Jam si Pengguna terakhir kali gagal login, ID Session, dan lain sebagainya.
Dua Field pertama dapat ditentukan dari menu Security -> Use Existing Table. Sedangkan Tiga Field terakhir dapat Anda tentukan dari
menu Security -> Advanced -> User Login Options -> User Table Fields.
Kelima Field ini wajib digunakan oleh Aplikasi Web yang dihasilkan oleh PHPMaker, khususnya jika menggunakan fitur Security. Oleh karena itu, jika
Anda sebagai Web Developer ingin membangun Aplikasi Web dengan menggunakan PHPMaker, pastikan kelima Field tersebut sudah tersedia di tabel
users Anda.
oleh PHPMaker
Author: Masino Sinaga · Published: September 20, 2014 · Category: Pemrograman PHP
Aplikasi Web yang baik seharusnya dapat “memaksa” Penggunanya untuk mengganti Password secara berkala. Sekilas terkesan tidak baik karena ada
unsur “pemaksaan”, tapi tujuannya sangatlah baik. Pengguna cenderung menggunakan Password yang itu-itu saja dan tidak pernah diganti dalam jangka
waktu yang relatif lama. Tentu saja hal ini bisa mengakibatkan pihak-pihak yang tidak bertanggung jawab lebih mudah menebak Password seseorang,
Aplikasi Web yang dihasilkan oleh PHPMaker sudah menyediakan fitur untuk membangkitkan halaman Change Passwordatau Ganti Kata Sandi. Anda
sebagai Web Developer cukup hanya mengaktifkan item Enable yang terdapat di bawah pengaturan Advanced Security -> User Login Options.
Selain itu, tersedia pengaturan yang bernama Send email yang jika diaktifkan akan membuat sistem secara otomatis mengirim Email ketika Pengguna
berhasil mengganti Password-nya. Email ini berisi Password yang baru yang merupakan hasil penggantian tadi.
Terakhir, tersedia juga pengaturan bernama CAPTCHA (requires extension) yang jika diaktifkan akan menampilkan kode keamanan di
Enaknya lagi, halaman Change Password ini akan ditampilkan oleh sistem ketika Password Pengguna sudah expired atau habis masa berlakunya.
Halaman ini akan muncul setelah Pengguna berhasil login dan sistem berhasil mendeteksi bahwa Password si Pengguna sudah tidak berlaku lagi saat
itu. Sistem akan memaksa Pengguna untuk mengganti Password-nya saat itu juga. Jika si Pengguna tidak melakukan penggantian, maka dia tidak bisa
Berdasarkan pengalaman Penulis, fitur ini sangat bermanfaat untuk mendisiplinkan Pengguna yang cenderung malas dan selalu mempertahankan
Password-nya. Kalau Pengguna tidak bisa tertib dengan kesadaran sendiri, maka biarkan sistem yang menertibkannya!
PHPMaker
Author: Masino Sinaga · Published: September 18, 2014 · Category: Pemrograman PHP
PHPMaker menyediakan pilihan kepada Web Developer untuk membangkitkan halaman Registrasi atau Pendaftaran Akun Pengguna atau tidak. Artinya,
Pengguna dapat mendaftarkan akunnya sendiri melalui halaman khusus yang dibuat secara otomatis oleh PHPMaker. Tentu saja halaman ini disertai
Pilihan ini bisa dilihat melalui menu Security -> klik tombol Advanced, lalu di jendela Advanced Security, klik User Login Options, dan di sebelah
Tentu saja Anda harus mengaktifkan terlebih dulu pilihan untuk membangkitkan halaman ini. Cukup dengan memberi tanda centang di item Enable.
Fields, field-field dari tabel Pengguna yang akan ditampilkan pada form Registrasi. Tentu saja Anda harus memilih beberapa field yang terkait
dengan data Pengguna yang ingin Anda wajibkan diisi oleh mereka saat mendaftarkan akunnya.
CAPTCHA (requires extension), jika diaktifkan, maka kode keamanan akan ditampilkan pada form Registrasi. Pilihan ini tidak wajib digunakan.
Confirm before submit, jika diaktifkan, maka akan menampilkan halaman konfirmasi yang berisi data Pengguna yang diisi sebelum benar-benar
dikirim ke server. Pilihan ini tidak wajib.
Send email, jika diaktifkan, maka sistem akan otomatis mengirim Email ke si calon Pengguna berisi data yang sudah dimasukkannya pada form
Registrasi. Pilihan ini tidak wajib.
Requires activation, jika diaktifkan, maka calon Pengguna harus mengaktifkan terlebih dulu akunnya sebelum dapat login ke Aplikasi Web. Pilihan
ini tidak wajib.
Auto login after registration/activation, jika diaktifkan, maka setelah calon Pengguna mengaktifkan akunnya, dia akan otomatis login ke dalam
Aplikasi Web tanpa harus memasukkan data Username dan Password. Pilihan ini tidak wajib.
Betapa mudahnya Web Developer membuat halaman Registrasi Akun Pengguna dengan menggunakan PHPMaker. Bahkan, saya sudah berhasil
membuat extension untuk lebih meningkatkan fitur-fitur dan kemampuan di halaman Registrasi Pengguna ini melalui website saya
di [Link] Fitur-fitur tambahan itu di antaranya: Password Strength Meter, Password Security Policy, dan menampilkan
halaman Terms and Conditions yang harus disetujui terlebih dulu sebelum mendaftarkan akun.
Mengenal Fitur Password Recovery di Aplikasi Web yang Dihasilkan
PHPMaker
Author: Masino Sinaga · Published: September 17, 2014 · Category: Pemrograman PHP
Setiap Aplikasi Web yang memiliki form Login sejatinya harus memiliki mekanisme untuk mendapatkan kembali Password yang baru jika si Pengguna
lupa dengan Password-nya sendiri. Biasanya proses ini dikenal dengan istilah Password Recovery. Jika Anda pernah mengamati beberapa web di
Internet yang mengharuskan Anda login, maka di form Login tersebut terdapat link yang kira-kira bertuliskan Forgot Password?.
Fitur Password Recovery sudah merupakan sebuah kebutuhan di setiap Aplikasi Web yang mengharuskan si Pengguna login untuk dapat mengakses
menu atau fitur tertentu. Itulah kenapa saya sering heran dan geram, jika melihat Aplikasi Web yang mengharuskan si Pengguna login, tapi tidak
menyediakan fitur atau mekanisme untuk mendapatkan Password yang baru jika si Pengguna lupa dengan Password-nya.
Aplikasi Web yang dihasilkan oleh PHPMaker enaknya sudah menyertakan fitur ini. Anda sebagai Web Developer tinggal mengaktifkan pengaturan ini
dari menu Security -> klik tombol Advanced, lalu di jendela Advanced Security, klik pilihan User Login Options. Di sebelah kanan ada
bagian Password Recovery Page. Pastikan Anda sudah memberi tanda centang pada item Enable, lalu generate ulang file script untuk Aplikasi Web
Hasilnya, di halaman Login akan terdapat link Forgot Password, dan jika link tersebut diklik, maka si Pengguna diminta untuk memasukkan alamat
Email atau data Username-nya, lalu mengklik tombol di form tersebut. Nah, setelah itu apa yang sebenarnya terjadi? Penasaran?
Di belakang layar, sistem akan memeriksa apakah data Email atau Username yang dimasukkan sudah terdapat di database. Jika ya, maka sistem
selanjutnya akan mengirim Email yang berisi instruksi selanjutnya yang harus dilakukan oleh Pengguna. Biasanya, di dalam Email ini terdapat link yang
harus diklik untuk mengkonfirmasikan bahwa si Pengguna yang menerima Email tersebut adalah benar yang meminta untuk mereset Password tadi.
Setelah diklik, maka selanjutnya sistem akan membangkitkan Password yang isi karakternya diacak, lalu mengirimkannya ke Email si Pengguna.
Satu lagi fitur Security yang kelihatan sepele tapi sangat penting yang sudah disediakan oleh PHPMaker untuk Aplikasi Web yang Anda bangun
dengannya.
Password merupakan bagian penting dari Keamanan Sistem yang perlu diperhatikan di dalam sebuah Aplikasi Web. Jika Anda sebagai Web Developer
membangun Aplikasi Web menggunakan PHPMaker, maka Anda dapat menentukan beberapa pengaturan yang terkait dengan Password.
Dari dalam project PHPMaker Anda, klik menu Security, lalu klik tombol Advanced. Di jendela berikutnya yang berjudul Advanced Security, klik User
Login Options, lalu perhatikan di sebelah kanan terdapat bagian Password. Di bawahnya ada 4 (Empat) item pengaturan sebagai berikut:
1. MD5 password, jika diaktifkan, maka pastikan data Password yang disimpan di tabel users sudah dalam format MD5 (32 karakter angka
2. Case-sensitive password, jika pengaturan ini tidak diaktifkan tapi pengaturan MD5 password di atas tadi diaktifkan, maka Anda harus
mengkonversi password asli menjadi huruf kecil semuanya sebelum menghasilkan format MD5. Jika tidak, maka Pengguna tidak akan dapat login.
3. Enable password expiry, jika diaktifkan, maka Password Pengguna akan habis masa lakunya sesuai dengan periode waktu yang dapat ditentukan
melalui pengaturan di bawah ini (kecuali Password hard-coded Administrator tidak akan pernah habis masa berlakunya). Untuk membiasakan
Pengguna mengganti Password-nya secara berkala, maka disarankan untuk mengaktifkan pengaturan ini.
4. Password expiry time (days), lamanya waktu (dalam satuan hari) Password Pengguna akan habis masa berlakunya. Pengaturan ini terkait dengan
pengaturan sebelumnya, dan sangat disarankan untuk mengisi nilai yang tidak terlalu besar. Misalnya: 7, yang artinya Pengguna harus mengganti
dengan Password-nya, maka Password tersebut dapat direset sendiri oleh Pengguna dari Aplikasi Web dengan menggunakan fitur Password
Kita akan membahas lebih lanjut mengenai proses Password Recovery di Aplikasi Web yang dihasilkan oleh PHPMaker pada beberapa artikel
mendatang.
PHPMaker
Author: Masino Sinaga · Published: September 15, 2014 · Category: Pemrograman PHP
Setiap Aplikasi Web pasti memiliki halaman Login. Pengguna harus memasukkan terlebih dulu data Username dan Passwordakunnya melalui halaman
Login agar dapat diverifikasi oleh sistem. Jika verifikasi berhasil, maka Pengguna dapat mengakses Aplikasi Web sesuai dengan peran dan tanggung
jawabnya. Sedangkan Pengguna yang akunnya belum terdaftar atau jika akun Pengguna sudah terdaftar tapi proses verifikasi gagal, maka Pengguna
PHPMaker memiliki kemampuan untuk menghasilkan halaman Login. Sebagai Web Developer, Anda dapat memutuskan untuk membangkitkan halaman
Login pada sebuah Aplikasi Web yang dihasilkan oleh PHPMaker. Persyaratan utama adalah: pastikan Anda sudah mengaktifkan pilihan Use Existing
Table yang dilanjutkan dengan memilih tiga parameter terkait, yaitu: Table, Login Name Field, dan Password Field dari menu Security di dalam project
PHPMaker Anda.
Untuk menggunakan beberapa pengaturan tingkat lanjutan yang terkait dengan halaman Login tersebut, klik tombol Advanced. Selanjutnya, pilih User
Login Options, dan di sebelah kanan pada bagian atas terdapat Login.
Ada tujuh item pengaturan keamanan yang dapat Anda optimalkan di bagian Login ini, yaitu:
1. Track failed attempts, jika diaktifkan, akan mendeteksi jumlah kegagalan login yang terjadi. Jika melebihi nilai jumlah maksimum yang ditentukan
(lihat pengaturan di bawah ini), maka akun Pengguna akan terkunci dan Kata Sandi harus direset.
2. Maximum failed attempts, merupakan nilai jumlah maksimum usaha login yang gagal. Nilai standar (default) adalah 3, artinya: hanya tiga kali
usaha gagal login yang diijinkan sebelum akhirnya akun akan dikunci oleh sistem, jika pengaturan di atas tadi diaktifkan.
3. Failed attempts windows (minutes), merupakan nilai durasi waktu dalam satuan menit, yang akan mendeteksi usaha-usaha login yang gagal.
Contoh, jika bernilai 20, maka artinya sistem akan mendeteksi usaha-usaha login yang gagal dalam kurun waktu 20 menit. Artinya, jika usaha gagal
login yang kedua berada pada menit kelima dari usaha gagal login yang pertama, maka ketika usaha gagal login ketiga dilakukan pada menit
kesepuluh, lalu usaha keempat pada menit kelima belas, semua usaha-usaha yang gagal tadi akan dideteksi telah melebihi usaha maksimum
sebanyak nilai pada pengaturan sebelumnya, yaitu dalam hal ini 3 kali.
4. Disallow concurrent login, jika diaktifkan, hanya satu sesi login (nilai default) yang diijinkan untuk setiap Pengguna (kecuali login hard-coded
Administrator). Jika seorang Pengguna sudah berhasil login, maka Pengguna lainnya yang menggunakan akun tadi akan ditolak oleh sistem.
5. Maximum concurrent user session count, merupakan jumlah maksimum sesi login yang diijinkan, jika pengaturan yang sebelumnya ini diaktifkan.
Nilai default adalah 1, yang artinya setiap Pengguna hanya boleh menggunakan satu sesi login.
6. Login status timeout (minutes), merupakan lamanya waktu idle (tidak melakukan aktivitas apapun) setelah status login akan dipertimbangkan
sebagai logout, dan login akan diijinkan kembali. Contoh, jika seorang Pengguna yang sudah berhasil login tidak melakukan logout secara eksplisit
(misalnya, menutup jendela browser secara langsung), maka sesi login si Pengguna tadi di sistem masih diakui sebagai belum ditutup dan status
Pengguna masih terekam sebagai login. Usaha-usaha login kembali akan gagal. Waktu timeout ini memastikan, bahwa login akan diijinkan kembali
7. CAPTCHA (requires extension), merupakan kode keamanan yang akan ditampilkan di halaman Login. Kode keamanan ini membutuhkan
Keamanan yang terkait dengan proses verifikasi Pengguna di sebuah Aplikasi Web. Meskipun tidak wajib digunakan semua, tapi disarankan untuk
mengoptimalkan pengaturan tadi supaya keamanan Aplikasi Web menjadi lebih terjamin.
Di tulisan berikutnya, saya akan menguraikan lebih detail lagi mengenai pengaturan yang terkait dengan Password atau Kata Sandi yang digunakan di
Aplikasi Web yang dihasilkan oleh PHPMaker. Hal ini juga merupakan salah satu faktor keamanan yang sangat penting dan sangat perlu diperhatikan
User Login Options adalah pengaturan-pengaturan atau parameter-parameter yang terkait dengan proses Login Pengguna di Aplikasi Web yang
Login
menggunakan Aplikasi Web. Mulai dari saat Login, saat mendaftarkan akun, saat mengganti password, dan saat mereset password.
Pengaturan-pengaturan ini sifatnya tidak wajib digunakan semua, meskipun sebagian besar di antaranya disarankan untuk digunakan dalam optimasi
keamanan Aplikasi Web yang Anda bangun dengan PHPMaker. Banyak sekali keuntungan yang dapat Anda dapatkan dari pengaturan-pengaturan ini.
Selain untuk keempat halaman tersebut, tersedia juga pengaturan yang terkait dengan 3 (Tiga) buah Field yang dibutuhkan oleh Aplikasi Web yang
Aktivasi
Profil
Kita akan membahas secara lebih detail lagi pengaturan-pengaturan tersebut di beberapa artikel saya mendatang.
Seperti yang sudah kita ketahui bersama melalui artikel saya sebelumnya, User Levels di PHPMaker terbagi atas dua bagian. Static dan Dynamic.
Keduanya bisa sama-sama digunakan, atau hanya salah satu saja yang digunakan.
Kali ini kita akan membahas lebih detail lagi mengenai perbedaan antara Static User Levels dan Dynamic User Levels di PHPMaker.
Seperti namanya, Static User Levels berarti Level Pengguna yang bersifat Statis atau Tetap. Disebut dengan statis, karena sifatnya yang memang
statis. Untuk mengubah pengaturan User Level yang Statis, maka kita harus mengubahnya dari dalam project PHPMaker, dan setelah itu men-
Sedangkan Dynamic User Levels yang artinya Level Pengguna yang bersifat Dinamis atau Berubah-ubah. Disebut demikian, karena untuk
mengubah pengaturan User Level yang Dinamis, maka kita tidak perlu mengubahnya dari dalam project PHPMaker. Tapi cukup dilakukan dari sisi
Kebutuhan. Jadi, tidak ada istilah yang satu lebih bagus dari yang lain, karena semuanya kembali lagi kepada kebutuhan di Aplikasi Web yang akan
Anda bangun.
Meskipun demikian, perlu untuk diketahui bahwa Static User Levels cocok digunakan jika Aplikasi Web yang Anda bangun tidak terlalu banyak
membutuhkan jenis User Level. Selain itu, tingkat perubahan User Level dan Hak Akses (Permissions) pun cenderung tetap dalam waktu yang relatif
lama pula. Artinya, dengan kondisi seperti itu, maka Static User Levelsmenjadi lebih optimal digunakan.
Sedangkan Dynamic User Levels cocok digunakan jika tingkat perubahan User Level dan Hak Akses (Permissions) yang harus dikelola di Aplikasi Web
Anda cenderung berubah dalam waktu yang relatif singkat. Dengan menggunakan Dynamic User Levels, maka Anda sebagai Web Developer tidak
perlu repot-repot mengubah terlebih dulu dari dalam project PHPMaker dan kemudian men-generate ulang file script dengan menggunakan PHPMaker.
Perubahan User Level dan Hak Akses-nya cukup dilakukan oleh Pengguna yang memiliki level Administrator langsung dari dalam Aplikasi Web.
Sekedar mengingatkan kembali, Anda sebagai Web Developer dapat memilih salah satu di antara keduanya; apakah yang Static atau yang Dynamic.
Atau bahkan Anda dapat menggunakan keduanya sekaligus, di mana antara yang satu dengan yang lain akan saling melengkapi.
Di artikel saya sebelumnya, kita sudah membahas mengenai User ID Security di PHPMaker; salah satu fitur Security tingkat lanjut di PHPMaker. Di
artikel ini kita akan membahas User Levels Security yang juga merupakan fitur Security tingkat lanjut lainnya di Aplikasi Web yang dihasilkan oleh
PHPMaker.
Apa itu User Levels? Lagi-lagi, cukup dari terjemahan ke bahasa Indonesia, kita dapat langsung mengetahui artinya, yaitu Level Pengguna. Lebih detail
lagi, terminologi User Levels di PHPMaker mirip dengan User Groups yang merupakan istilah untuk mengelompokkan beberapa Pengguna sesuai
Dengan menggunakan User Levels, maka Pengguna dengan level Administrator dapat mengatur pemberian ijin untuk mengakses (Permissions) Table,
fungsi-fungsi, atau bahkan halaman tertentu, kepada User dengan level tertentu pula. Hal ini sangat terasa bermanfaat, ketika Aplikasi Web yang Anda
bangun memiliki banyak Pengguna, dan Anda harus mengelompokkan Pengguna tadi ke dalam beberapa kelompok sesuai dengan fungsi dan tanggung
Untuk mendefinisikan pengaturan User Levels di Aplikasi Web yang akan dibangun dengan PHPMaker, Anda sebagai Web Developer cukup
mengakses menu Security -> klik tombol Advanced dari dalam project PHPMaker Anda. Selanjutnya, di jendela Advanced Security klik item User
Levels.
Syarat utama untuk mengimplementasikan User Levels adalah, di tabel users (tabel yang digunakan untuk memverifikasi Pengguna saat login) sudah
memiliki field yang menyimpan data User Levels. Nama field ini tidak harus User Levels, tapi disarankan mendekati itu, supaya tidak membingungkan
Anda sendiri.
Persyaratan lainnya, tipe Field untuk menyimpan data User Levels adalah Integer atau angka. Jika Field ini sudah ada di tabel tersebut, maka Anda
sebagai Web Developer tinggal memilih Field tersebut dari bagian User Level Field (Integer).
Selanjutnya, Anda sebagai Web Developer dapat langsung menambahkan data User Level sesuai yang Anda inginkan dari pengaturan ini. Caranya,
cukup dengan mengklik kanan item User Levels, lalu pilih menu Add user level.
Enaknya lagi, PHPMaker menyediakan dua tipe dalam pengimplementasian User Levels. Yang pertama Static, dan yang kedua Dynamic.
Untuk setiap User Level yang telah Anda tambahkan pada item User Levels tadi, Anda dapat menentukan hak akses pada object Table tertentu dengan
sangat mudah melalui tab Static User Levels. Caranya, tinggal memberi tanda centang pada object yang sesuai dengan fungsinya.
Fungsi-fungsi yang tersedia adalah: Add/Copy, Delete, Edit, List, Search, dan View.
Sedangkan jika Anda ingin menggunakan User Level yang dinamis, maka dari bagian Dynamic User Levels, Anda dapat men-generate dua buah tabel
yang terkait dengan hal ini, yaitu User Level Table dan User Level Permission Table. Caranya cukup dengan mengklik tombol Create tables.
Anda dapat mengimplementasikan hanya salah satu tipe User Level tadi, apakah Static, atau Dynamic, atau bahkan mengimplementasikan kedua-
duanya di mana mereka akan saling melengkapi. Mereka tidak akan bentrok antara satu dengan lainnya.
Anda bahkan dapat memigrasikan semua pengaturan Static User Levels yang sudah Anda tentukan sebelumnya ke dalam pengaturan Dynamic User
Levels. Cukup hanya dengan mengklik tombol Migrate pada bagian Dynamic User Levels. Semudah dan secepat itu!
Dari semua uraian di atas, dapat disimpulkan bahwa betapa mudahnya Web Developer mengimplementasikan User Levels di Aplikasi Web yang
dibangun oleh PHPMaker. Betapa banyaknya waktu yang dapat dihemat oleh Web Developer dengan menggunakan PHPMaker.
User ID; dalam bahasa Indonesia diartikan sebagai ID Pengguna. Di PHPMaker, User ID merupakan ID atau identitas yang menandakan apakah
User ID di PHPMaker mengamankan data pada level Record. Tabel yang dilindungi harus memiliki sebuah field yang berisi data User ID untuk
Ketika User ID diaktifkan di project PHPMaker Anda, maka Pengguna yang terkait dengan data User ID itu saja yang dapat mengakses data tersebut.
Nama field User ID dapat berbeda di semua tabel. Artinya, jika di tabel A nama field yang menyimpan data User ID tersebut adalah ID_Pengguna, maka
di tabel B bisa menggunakan nama field ID_User. Meskipun demikian, disarankan untuk menggunakan nama field yang sama, supaya lebih mudah
dikenali dan tidak membingungkan antara satu tabel dengan tabel lainnya.
Pengaturan User ID Security ini bisa Anda lihat dari menu Security -> tombol Advanced -> User ID dalam project PHPMaker Anda.
Anda bisa melihat bahwa di sana ada dua parameter tersedia yang terkait dengan User ID. Yang pertama adalah User ID Field yaitu field User ID, dan
Field Parent User ID menyimpan data Induk Pengguna tempat dari User ID. Baik field User ID maupun field Parent User ID, harus terdapat di
tabel users. Tabel users adalah tabel tempat menyimpan data Pengguna yang juga bisa digunakan untuk memverifikasi Login Pengguna.
Sebagai contoh, Pengguna A dapat berperan sebagai Manager di mana para Karyawan bawahannya (B, C, dan D) melapor kepada A. Dalam hal ini,
maka Anda dapat memilih Parent User ID untuk Pengguna A. Dampaknya, Pengguna A dapat memodifikasi Record-record milik Pengguna yang berada
Secara standar, kedua pengaturan Field tadi dinonaktifkan di project PHPMaker Anda. Sebagai Web Developer, Anda dapat menggunakan User ID saja,
Selain membatasi hak akses Record kepada Pengguna berdasarkan data User ID, PHPMaker menyediakan fleksibilitas untuk menampilkan data atau
Record milik Pengguna lain dari pengaturan ini. Cukup Anda aktifkan pada object Table di kolom Allow View All. Hal ini bersifat opsional. Kadang-
kadang, kebutuhan ini diperlukan bagi Pengguna tertentu yang dapat melihat Record lain, tapi tidak dapat melakukan operasi Tambah, Ubah, dan Hapus.
Sebagai penutup tulisan ini, perlu Anda ketahui, bahwa hanya Pengguna dengan level Administrator yang dapat mengelola data User ID dan Parent
User ID.
PHPMaker sebagai Tools PHP Code Generator menyediakan beberapa pengaturan keamanan (Security) tingkat lanjut. Salah satu di antaranya adalah
pengaturan hak akses untuk Anonymous User. Fitur ini mengijinkan Web Developer mengatur hak akses bagi Pengguna yang belum login ke Aplikasi
User pada jendela Advanced Security. Di bagian sebelah kanan Anda dapat melihat daftar berupa matriks yang mengandung semua object yang
terdapat di project PHPMaker Anda disertai dengan fungsi atau hak akses yang bisa Anda tentukan. Fungsi-fungsi tersebut
Untuk memberikan hak akses, maka Anda cukup memberi tanda centang pada object dan fungsi tertentu supaya Pengguna dengan level Anonymous
User tadi bisa mengakses halaman atau fungsi tersebut di Aplikasi Web Anda. Setelah itu, klik tombol OK, lalu generate ulang semua file script dari
Tergantung pada fungsi-fungsi yang Anda aktifkan untuk object tertentu dari project PHPMaker Anda, maka PHPMaker akan menghasilkan file-file script
untuk Aplikasi Web Anda sesuai dengan pengaturan tersebut. Jadi, sekalipun Anda misalnya memberikan hak akses Edit pada sebuah object, tapi
pengaturan halaman Edit tidak Anda aktifkan untuk object tersebut, maka Pengguna tidak akan pernah dapat menggunakan fungsi Edit yang bertalian.
Biasanya, fitur Anonymous User sering digunakan hanya untuk memberikan hak akses ke halaman List, View, dan Search saja. Artinya, Pengguna
yang belum login hanya dapat mengakses ketiga halaman tersebut pada object tertentu yang Anda berikan dari pengaturan di atas tadi.
Fungsi-fungsi seperti Add/Copy, Edit, dan Delete tidak diaktifkan di menu Anonymous User, karena fungsi-fungsi ini biasanya hanya diberikan kepada
Security merupakan salah satu faktor penting yang wajib diperhatikan oleh setiap Web Developer ketika membangun sebuah Aplikasi Web. Fitur ini
dapat membatasi hak akses sebuah halaman kepada Pengguna dengan level tertentu, atau membatasi aksi tertentu yang dapat dilakukan oleh
PHPMaker menangani Security di Aplikasi Web yang dihasilkannya dengan sangat baik. Fitur ini bahkan terintegrasi ke semua halaman yang
dibangkitkannya. Jika Anda menggunakan PHPMaker dalam membangun Aplikasi Web, maka Anda dapat menentukan beberapa pengaturan keamanan
Dari menu Security tadi, tersedia pilihan apakah ingin menggunakan akun Admin untuk mengatur fitur keamanan langsung dari sisi Aplikasi Web. Di
samping itu, PHPMaker juga memberi kesempatan kepada Web Developer untuk menggunakan tabel users yang sudah dibuat sebelumnya, agar saat
PHPMaker bahkan sudah menyediakan pilihan Advanced Security yang memungkinkan Web Developer dapat menentukan beberapa pengaturan
keamanan Aplikasi Web tingkat lanjutan atau yang lebih detail lagi. Beberapa di antaranya adalah:
Anonymous User, untuk memberikan hak akses halaman tertentu kepada Pengguna level Guest atau pengunjung biasa yang tidak login.
User ID, untuk membatasi hak akses Pengguna terhadap sebuah halaman/tabel berdasarkan data ID Pengguna yang terdapat di setiap tabel. Fitur
ini memungkinkan untuk membatasi record tertentu hanya dapat dilihat oleh Pengguna tertentu.
User Levels, ini mirip dengan User Group untuk mengelompokkan satu dan atau beberapa Pengguna pada satu kelompok tertentu.
User Login Options, berisi beberapa pilihan yang tersedia di halaman Login, Registrasi User, Change Password, Forgot Password, dan beberapa
pengaturan terkait lainnya.
Sekilas, fitur-fitur ini kelihatan sederhana, karena dikelompokkan hanya ke dalam empat point itu saja. Tapi sesungguhnya, ada banyak fitur-fitur lainnya
di dalam setiap point tadi yang layak untuk diketahui dan sayang jika tidak dioptimalkan oleh Web Developer. Fitur-fitur tersebut akan kita bahas lebih
Berdasarkan pengalaman Penulis, fitur Security yang disediakan oleh PHPMaker sudah sangat membantu Web Developer dalam mengimplementasikan
keamanan Aplikasi Web yang dibangunnya. Bahkan, fitur ini bisa dijadikan sebagai pedoman bagi Web Developer pemula yang masih awam atau buta
sama sekali dengan fitur keamanan yang wajib ada di dalam Aplikasi Web.
Mengenal Extensions di PHPMaker
Author: Masino Sinaga · Published: September 8, 2014 · Category: Pemrograman PHP
Di beberapa artikel saya terdahulu, kita sudah membahas beberapa fitur di PHPMaker yang memberikan kesempatan kepada Web Developer untuk
memodifikasi Aplikasi Web yang dihasilkan oleh PHPMaker dengan sangat mudah dan cepat, yaitu melalui:
– Server Events
– Client Scripts
– Custom Templates
– Custom Files
– User Code
Sama seperti namanya, Extensions berarti Tambahan. Tambahan apa? Tambahan fitur atau fungsi yang bisa diaktifkan dari sisi project PHPMaker
Anda. Karena fitur ini ditambahkan dari sisi project, maka dia hanya berfungsi ketika Anda men-generate ulang (semua) file script untuk Aplikasi Web
Anda. Dengan konsep ini, maka Anda dapat menggunakan ulang Extensions tersebut untuk project-project PHPMaker yang lainnya.
Tahukah Anda bahwa cara kerja file Extensions di PHPMaker sama persis dengan cara kerja file Template yang digunakan oleh PHPMaker? Apa
artinya? Artinya adalah, ketika Anda sebagai Web Developer menggunakan PHPMaker untuk membangun Aplikasi Web dengan bahasa skripting PHP,
maka Anda bisa mengubah, menimpa (atau istilah kerennya: meng-override), menghilangkan, atau bahkan menambahkan fitur di Aplikasi Web Anda
Anda tidak perlu sama sekali memodifikasi file Template yang digunakan oleh PHPMaker. Anda juga tidak perlu sama sekali mengubah file script yang
dihasilkan oleh PHPMaker. Anda cukup hanya mengaktifkan Extensions dari dalam project PHPMaker Anda, lalu men-generate ulang semua file script
untuk Aplikasi Web Anda. Semudah itu! Secepat itu! Betapa menyenangkannya!
Dapatkah sekarang Anda bayangkan bahwa ketika Anda mampu memodifikasi Template PHPMaker tanpa harus menyentuh file Tempalate tersebut,
betapa powerful dan flexible-nya PHPMaker sebagai tools untuk membantu Web Developer dalam membangun sebuah atau bahkan beberapa Aplikasi
Web secara bersamaan? Betapa Web Developer dituntun menjadi lebih kreatif dalam memanfaatkan tools ini untuk memenuhi kebutuhannya.
Anda sebagai Web Developer bahkan dapat membuat Extensions sendiri untuk project PHPMaker Anda. Extensions tersebut bisa digunakan kembali
untuk project-project PHPMaker Anda. Bahkan, Anda pun bisa berbagi Extensions dengan Web Developer lain yang sama-sama menggunakan
PHPMaker. Kesempatan ini sudah terbuka luas di PHPMaker. Itu semua bisa terjadi karena PHPMaker memiliki tingkat fleksibiltas yang sangat tinggi.
Beberapa contoh perubahan atau penambahan fitur baru di Aplikasi Web yang dapat diatasi dengan penggunaan Extensions di PHPMaker adalah:
– Menambahkan Password Strength Meter di halaman Pendaftaran User dan Ganti Kata Sandi
– Menghilangkan navigasi halaman jika jumlah Record di halaman List lebih kecil dari jumlah record per halaman
– Memudahkan Pengguna untuk mengganti Jenis Huruf, Ukuran Huruf, Theme/Warna Aplikasi Web
– Memudahkan dalam penggantian lokasi menu, apakah di atas (Horizontal) atau di kiri (Vertical)
Dengan menggunakan Extensions di project PHPMaker, maka Anda dapat menghemat waktu pengembangan. Apalagi jika Anda harus membangun
beberapa Aplikasi Web dalam waktu yang hampir bersamaan, di mana sebagian besar Aplikasi Web tersebut membutuhkan perubahan fitur yang relatif
sama. Daripada menerapkan perubahan tersebut satu per satu secara manual, maka dengan menggunakan Extensions akan sangat menghemat waktu
yang signifikan.
Kabar baiknya lagi adalah, fitur Extensions di PHPMaker bisa digunakan secara bersamaan dengan semua fitur yang sudah saya sebutkan pada alinea
pertama artikel ini. Mereka tidak akan bentrok antara satu dengan yang lainnya. Mereka bisa digunakan dan bekerja secara bersama-sama, atau bisa
hanya digunakan dan bekerja sebagian saja. Mereka semua saling melengkapi, saling bersinergi, sesuai dengan kebutuhan Anda.
Sudah banyak fleksibilitas yang disediakan oleh PHPMaker, supaya Web Developer dapat mengkostumisasi Aplikasi Web yang dihasilkan olehnya.
Beberapa fitur yang membuat PHPMaker fleksibel dalam membangun Aplikasi Web yang sudah kita bahas di beberapa artikel saya sebelumnya, yaitu:
Server Events
Client Scripts
Custom Templates
Custom Files
membuktikan, bahwa PHPMaker sangat fleksibel dan transparan dalam menghasilkan kode PHP. Fitur itu disebut dengan User Code.
Tentu seperti namanya, fitur ini sama artinya dengan Kode Pengguna. Sekilas mungkin seperti mirip-mirip dengan beberapa fitur di atas tadi, tapi
sebenarnya User Code jauh berbeda dengan yang sudah kita bahas di atas. Fitur User Code sangat terkait erat dengan pengaturan property dari sisi
Perlu untuk diketahui, bahwa ternyata ada juga kode PHP yang dihasilkan langsung dari dalam aplikasi PHPMaker. Artinya, kode PHP dihasilkan saat
aplikasi PHPMaker men-generate kode PHP (mode run-time). Kode PHP tersebut tidak tersedia di dalam Template dan Project PHPMaker. Akibatnya,
Web Developer tidak dapat mengubah kode PHP ini baik dari dalam Template maupun Project PHPMaker.
Fitur User Code di PHPMaker disediakan supaya Web Developer dapat mengubah kode PHP yang tidak dihasilkan dari file Template dan Project
PHPMaker tadi. Dengan fitur ini, maka Web Developer dapat menimpa (override) atau bahkan menambahkan kode PHP yang ditulis sendiri oleh Web
Umumnya, kode-kode PHP yang seperti ini terkait erat dengan fitur System Function yang digunakan oleh PHPMaker. PHPMaker akan menghasilkan
kode tersebut berdasarkan beberapa pengaturan project yang Anda tetapkan dari PHPMaker, seperti Security, Table, atau Field, dan lainnya. Itulah
kenapa akhirnya PHPMaker “membungkus” kode-kode tersebut dalam satu paket khusus yang tidak ditampilkan ke dalam file Template.
Untuk informasi lebih lanjut mengenai User Code di PHPMaker, Anda dapat membaca topik Using User Code melalui menu Help pada aplikasi
PHPMaker.
Mengenal Custom Validation Function di PHPMaker
Author: Masino Sinaga · Published: September 3, 2014 · Category: Pemrograman PHP
Apa itu Custom Validation Function? Sesuai dengan namanya, ini adalah fungsi validasi yang bersifat kostum atau dapat dikostumisasi oleh Web
Developer. PHPMaker menyediakan fitur ini untuk memberikan kemudahan kepada Web Developer untuk menggunakan fungsi validasi buatannya
sendiri. Hal ini sekaligus membuktikan bahwa PHPMaker sangat fleksibel digunakan untuk membangun Aplikasi Web, karena dia bukan hanya
Fungsi validasi kostum di Aplikasi Web yang dihasilkan oleh PHPMaker dapat dijalankan dari sisi server (server-side) dan/atau dari sisi client (client-side).
Untuk server-side menggunakan kode PHP, sedangkan untuk client-side menggunakan kode Javascript atau jQuery.
Untuk menambahkan fungsi validasi kostum di PHPMaker hanya dibutuhkan tiga langkah saja.
Pertama, letakkan kode fungsi validasi kostum yang Anda buat di dalam bagian Global Code. Jika server-side, maka lokasi ini ada di bawah Server
Events -> Global -> All Pages. Sedangkan jika client-side, maka lokasi ini ada di bawah Client Scripts -> Global -> Pages with header/footer pada
Kedua, klik menu Tools -> Advanced Settings, lalu masukkan nama fungsi tersebut ke bagian Custom validation functions dari dalam project
PHPMaker Anda. Jika fungsi Anda lebih dari satu, pisahkan dengan karakter koma antara nama fungsi yang satu dengan nama fungsi lainnya.
Ketiga, masih dari project PHPMaker Anda, pergi ke pengaturan Fields, lalu dari bagian Edit Tag -> Validation -> Validate, pilih salah satu fungsi yang
Anda inginkan.
Manfaat yang paling dirasakan oleh Web Developer dengan menggunakan fungsi validasi kostum ini adalah, fungsi validasi dapat dikelola sendiri dengan
lebih baik dan cepat. Mengapa? Karena fungsi-fungsi ini ditempatkan pada kerangka kerja project PHPMaker sesuai dengan scope-nya; yaitu di sisi
Manfaat lainnya, Anda sebagai Web Developer dapat menggunakan ulang fungsi validasi kostum tersebut dengan sangat mudah dan cepat, karena
Anda tinggal mengeset pengaturan Validate yang dimiliki oleh setiap Field dari dalam project PHPMaker Anda. Bayangkan jika ada banyak Field yang
membutuhkan fungsi validasi kostum tadi, maka dengan fitur ini begitu banyak waktu yang dapat dihemat.
Setelah membahas mengenai Custom Templates di artikel saya sebelumnya, kini kita akan membahas Custom Files di PHPMaker. Sekilas namanya
mirip, karena sama-sama menggunakan kata Custom, tapi mereka adalah dua fitur yang jauh berbeda. Sedangkan persamaan di antara keduanya
adalah mereka tidak wajib digunakan. Kedua fitur ini sama-sama bersifat fleksibel untuk ditambahkan dari dalam project PHPMaker.
Sekedar mengingatkan kembali, bahwa Custom Templates di PHPMaker adalah fitur yang memungkinkan Web Developer dapat menimpa atau meng-
override tampilan atau layout standar yang digunakan PHPMaker dengan tampilan atau layout buatan Web Developer sendiri. Konsep ini sangat mirip
Files berarti Files yang bersifat Custom. Lebih rinci lagi, fitur ini adalah file yang isinya bebas bisa ditentukan oleh Web Developer. Fitur ini mulai
ditambahkan oleh PHPMaker sejak versi 11, menggantikan fitur Generate a blank pageyang terdapat di versi 10 dan sebelumnya.
Dengan menggunakan Custom Files, maka Web Developer dapat menambahkan file sendiri yang berisi kode PHP atau HTML atau campuran keduanya
dari dalam project PHPMaker. Artinya, Web Developer tidak perlu menambahkan file ini secara langsung ke direktori tujuan tempat file-file script
Tentu ada filosofi mengapa PHPMaker menambahkan fitur Custom Files ini.
Pertama, untuk memudahkan Web Developer dalam membuat halaman yang tampilannya konsisten dengan halaman yang kodenya dihasilkan oleh
PHPMaker itu sendiri. Fitur Custom Files dilengkapi dengan pilihan apakah akan menyertakan bagian Header/Footer saat akan di-generate atau tidak.
Kedua, dengan menempatkan Custom Files ini di dalam project PHPMaker (bukan di luar project PHPMaker), maka file-file yang bersifat kostum tadi
menjadi dapat dikelola dengan lebih mudah dan cepat oleh Web Developer.
Ketiga, fitur Custom Files juga sudah terintegrasi dengan fitur-fitur hebat lainnya yang terdapat di PHPMaker, seperti Security dan Menu. Anda sebagai
Web Developer dapat memutuskan apakah ingin memberikan hak akses tertentu pada sebuah halaman yang dihasilkan oleh Custom Files atau tidak.
Jadi, kesimpulannya: Dengan mengoptimalkan fitur Custom Files, maka Web Developer manapun pun akan menjadi lebih mudah memahami sebuah
Aplikasi Web yang dibangun dengan PHPMaker. Mengapa? Karena mereka cukup hanya melihatnya dari dalam project PHPMaker. Web Developer tidak
perlu lagi repot-repot membuka satu per satu file dari dalam folder output tempat file-file script dihasilkan oleh PHPMaker. Banyak waktu development
Setelah membahas Server Events dan Client Scripts di dua artikel saya sebelumnya, di artikel ini kita akan membahas mengenai Custom
Templates di PHPMaker.
Apa itu Custom Templates? Seperti namanya, maka definisinya adalah Templates yang bersifat Custom atau dapat dikostumisasi. Template yang bisa
diubah atau diatur dengan cara menimpa Template bawaan asli PHPMaker. Web Developer dapat menghasilkan Template yang Custom tadi tanpa
Harap dibedakan bahwa istilah Custom Templates tidak sama dengan Customizing Templates. Pengertian Customizing Templates di PHPMaker
berarti suatu kegiatan yang dilakukan oleh Web Developer untuk mengkostumisasi kode yang berada di dalam file Template yang digunakan oleh
PHPMaker. Dalam hal ini, Web Developer harus mengubah kode Template yang digunakan oleh PHPMaker.
Sedangkan Custom Templates artinya template yang tampilannya bisa dikostumisasi dari dalam project PHPMaker. Web Developer sama sekali tidak
mengubah secara langsung file Template, tapi cukup hanya menambahkan kode ke dalam bagian Custom Templates yang melekat kepada setiap
object Table maupun View yang digunakan oleh PHPMaker. Dengan cara ini, maka layout standar di sebuah halaman tertentu yang dihasilkan oleh
PHPMaker dapat ditimpa dengan kode yang ditulis oleh Web Developer dari dalam project.
Latar belakang disediakannya fitur Custom Templates di PHPMaker adalah karena tidak semua Web Developer mau menggunakan tampilan atau
layout yang disediakan oleh PHPMaker di sebuah halaman. Artinya, PHPMaker lagi-lagi memberi kesempatan kepada Web Developer untuk
Contoh, secara standar halaman Add, Edit, View, Update, dan Search menggunakan layout satu kolom saja. Artinya, setiap Field akan menempati satu
baris. Field pertama akan berada pada baris paling atas, dan Field terakhir berada pada baris paling bawah.
Web Developer dapat mengubah layout tersebut menjadi dua kolom, misalnya dalam satu Form terdapat 12 Field, maka setelah dibagi dua akan terdapat
6 Field pertama di kolom sebelah kiri, sedangkan 6 Field terakhir akan berada di kolom sebelah kanan. Web Developer cukup menulis kode HTML yang
dikombinasikan dengan tag untuk mendapatkan data dari Field terkait di bagian Custom Templates.
Demikian juga misalnya dengan halaman List. PHPMaker menggunakan layout tabel yang standar seperti yang selama ini sering kita lihat. Baris paling
atas yang terdiri hanya satu baris merupakan judul dari setiap kolom di tabel tersebut, kemudian diikuti dengan baris data; di mana setiap Record
Web Developer dapat mengubah layout tabel yang standar tadi menjadi misalnya judul tabel terdiri dari dua baris, sehingga lebar tabel bisa lebih
dihemat. Tentu saja, hal ini akan diikuti dengan baris datanya. Setiap Record juga akan menjadi masing-masing terdiri dari dua baris mengikuti judul tabel
di atasnya.
Untuk informasi lebih lengkap dan teknis beserta contoh-contoh penggunaan Custom Templates, Anda dapat membaca topik Custom Templates yang
Sama seperti Server Events yang sudah kita bahas di tulisan saya sebelumnya, Client Scripts juga merupakan fitur di PHPMaker yang memungkinkan
Web Developer menambahkan business logic di Aplikasi Web yang dihasilkannya. Web Developer cukup hanya menuliskan beberapa baris kode saja
dari dalam project PHPMaker. Artinya, mereka tidak perlu memodifikasi kode pada file script yang sudah dihasilkan oleh PHPMaker. Mereka juga tidak
Ada beberapa hal yang membedakan antara Server Events dan Client Scripts. Pertama, adalah lokasi atau tempat pengeksekusiannya. Kalau Server
Events dijalankan di sisi server, maka Client Scripts akan dijalankan di sisi client; yang dalam hal ini di browser yang digunakan oleh Pengguna Aplikasi
Web. Sesuai dengan namanya: Client Scripts, yang artinya Scripts yang dijalankan di sisi Client.
Kedua, kode yang terdapat di bagian Server Events adalah kode PHP. Sedangkan kode yang terdapat di bagian Client Scripts adalah kode Javascript
atau jQuery. Saya sendiri cenderung dan lebih senang menggunakan kode jQuery. Alasannya karena sintaksnya lebih sederhana/simpel; sama seperti
Sama halnya dengan Server Events, maka Client Scripts di PHPMaker juga disusun sesuai dengan kerangka kerja (framework) Web Developer. Client
Scripts melekat kepada object Table atau View di dalam project PHPMaker. Hal ini pulalah yang juga menyebabkan kita sebagai Web Developer dapat
memahami sebuah Aplikasi Web yang dihasilkan oleh PHPMaker menjadi jauh lebih mudah dan cepat, karena tidak perlu melihat kode ke dalam file-file
Biasanya, Client Scripts sering digunakan untuk menambahkan business logic di sebuah fungsi atau halaman Aplikasi Web. Misalnya, ketika Pengguna
Aplikasi Web yang Anda bangun sedang menginput data di sebuah Form, maka control TextBox yang bernama Nama_Koneksi akan aktif (enabled)
hanya jika nilai yang terpilih pada control ComboBox Jenis_Koneksi yang berada di atasnya adalah Ya. Sebaliknya, jika nilai yang terpilih Tidak, maka
Beberapa contoh kode yang terdapat di bagian Client Scripts PHPMaker dapat dilihat melalui beberapa artikel yang sudah saya tulis berikut ini:
Sering kali pertanyaan dan cemoohan berikut di bawah ini saya terima:
– Apakah PHPMaker bisa membuat fungsi CRUD yang kompleks untuk menambah atau mengubah data di tabel lain?
– Saya tidak bisa membuat kode validasi sendiri, tapi hanya bisa menggunakan validasi bawaan PHPMaker saja!
– Apakah PHPMaker bisa menyimpan data yang akan dihapus ke tabel lain sebelum data tersebut dihapus?
– Aplikasi Web yang dihasilkan oleh PHPMaker sangat kaku, karena harus mengikuti kode yang sudah ada!
– Ah, PHPMaker itu membuat Programmer menjadi malas karena membatasi kreativitas Programmer!
–K
Dan masih banyak lagi pertanyaan-pertanyaan dan cemoohan-cemoohan lainnya yang sejenis dengan itu.
Memang bagi mereka yang belum mengenal kemampuan PHPMaker, wajar saja jika beranggapan seperti di atas tadi. Biasanya, mereka langsung
menjadi negative-thinking terhadap PHPMaker. Sebagian lainnya ada yang merasa cemburu atau jealous dengan kemampuan dan fleksibiltas
PHPMaker. Di beberapa forum diskusi yang dulu pernah saya ikuti membahas PHPMaker, banyak yang menganggap seolah PHPMaker itu merupakan
musuh besar Programmer atau lebih tepatnya Web Developer. Padahal, PHPMaker justru dapat dijadikan sebagai partner atau mitra Web Developer
Menanggapi pertanyaan/cemoohan dan semua kondisi di atas, saya hanya bisa tersenyum saja. Kadang-kadang geli juga rasanya menghadapi orang-
orang yang berpikiran seperti tadi. Mengapa? Karena semua itu ternyata tidak benar. Untuk itulah mulai tulisan ini saya akan menjelaskan beberapa fitur
unggulan PHPMaker yang sayang sekali jika tidak dioptimalkan oleh Web Developer.
PHPMaker dibuat dengan fleksibilitas yang tinggi. Ada begitu banyak pilihan dan ruang yang disediakan oleh PHPMaker buat Web Developer dalam
mengembangkan Aplikasi Web-nya tanpa harus mengubah Template atau memodifikasi file script yang dihasilkannya. Artinya, Web Developer dapat
menambahkan business logic secara dinamis tanpa harus menulis kode PHP secara langsung ke dalam file .php. Web Developer cukup menulis sedikit
kode dari dalam project PHPMaker. Fitur itu dikenal dengan nama Server Events di PHPMaker.
Seperti namanya, Server Events adalah event-event atau kejadian yang terjadi di sisi server. Secara lebih detail, event-event ini akan dipanggil atau
dieksekusi di sisi server. Karena kita fokus dan lebih spesifik kepada kode PHP, maka event-event ini berisi kode PHP yang dijalankan di sisi web server.
Ada begitu banyak Server Events yang tersedia di PHPMaker, dan semua kode PHP yang ditulis di bagian Server Events akan secara otomatis
disimpan di dalam project PHPMaker. Dengan pola seperti ini, maka kode yang sudah ditulis Web Developer menjadi lebih mudah dimengerti dan
Sampai di sini, rasanya sudah sangat jelas apa definisi dari Server Events di PHPMaker.
Nah, kembali kepada pertanyaan-pertanyaan dan cemoohan-cemoohan di atas tadi. Server Events di PHPMaker disediakan untuk mengatasi semua
kekhawatiran tadi. Web Developer diberi kesempatan yang sangat luas untuk berinovasi dan berkreatifitas dengan menuliskan hanya sedikit kode PHP
saja di bagian Server Events. Melalui Server Events, Web Developer dapat menulis hanya beberapa baris kode saja untuk
mengimplementasikan business logic untuk Aplikasi Web yang akan dibangunnya. Web Developer tidak perlu mengubah Template atau file script yang
sudah dihasilkan oleh PHPMaker jika ingin mengubah/menambah fitur di sisi Aplikasi Web.
Contoh, Web Developer dapat membuat fungsi CRUD yang sangat kompleks dengan menulis kode di Server Events. Jika Pengguna sedang menginput
lalu menyimpan data baru di tabel A, maka di saat itu sistem akan mengubah data terkait di tabel B dan C, kemudian menambahkan data tersebut ke
tabel D, dan terakhir akan menghapus data versi yang lama di tabel E (hanya jika sebelumnya data tersebut sudah ada). Semua business logic tadi bisa
diatasi dengan sangat mudah dan cepat dengan menulis beberapa baris kode PHP di server event yang bernama Row_Inserting.
Server Events juga dapat digunakan untuk menambahkan kode PHP berisi validasi khusus yang ditentukan oleh Web Developer. Kadang-kadang, Web
Developer membutuhkan proses validasi tambahan yang harus dilakukan di sisi server, di samping validasi bawaan yang sudah disediakan oleh
PHPMaker. PHPMaker memiliki Server Event yang bernama Form_CustomValidate, dan tersedia untuk halaman Add, Edit, Update, dan Search. Web
Developer dapat menyisipkan kode PHP yang berisi perintah untuk memvalidasi data sesuai dengan kebutuhannya.
Beberapa contoh Server Events di PHPMaker yang paling sering digunakan, seperti:
Database_Connecting, untuk membuat koneksi Database yang dinamis di localhost dan di remote server.
Row_Inserting, untuk menyisipkan business logic saat Pengguna sedang menambah Record baru.
Row_Inserted, untuk menyisipkan business logic saat Pengguna berhasil menambah Record baru.
Row_Updating, untuk menyisipkan business logic saat Pengguna sedang mengubah Record yang sudah ada.
Row_Updated, untuk menyisipkan business logic saat Pengguna berhasil mengubah Record yang sudah ada.
Row_Deleting, untuk menyisipkan business logic saat Pengguna sedang menghapus Record.
Row_Deleted, untuk menyisipkan business logic saat Pengguna berhasil menghapus Record.
Masih ada banyak Server Event lainnya yang disediakan oleh PHPMaker. Selengkapnya bisa Anda lihat dari topik Server Events and Client
Dengan adanya Server Events, maka Web Developer menjadi lebih mudah dan cepat memahami kode yang sudah ditambahkannya ketika project
PHPMaker akan diperbarui di waktu yang akan datang. Mengapa? Karena fitur Server Events dibuat persis seperti sebuah kerangka kerja yang melekat
Ketika sebuah project PHPMaker dijalankan kembali, maka semua kode di Server Events yang dulu sudah pernah ditulis oleh Web Developer akan
ditampilkan kembali. Web Developer tidak perlu sama sekali melihat ke dalam file script di sisi Aplikasi Web. Bayangkan kalau ini Anda lakukan pada
Aplikasi Web yang memiliki ratusan atau bahkan ribuan file! Bahkan, Web Developer yang lain pun tetap mudah memahami business logic yang terdapat
di setiap kode pada Server Events cukup melalui project PHPMaker saja.
Kreativitas Web Developer pun justru bisa semakin berkembang, karena mereka menjadi lebih fokus untuk mengimplementasikan business logic apapun
yang mereka inginkan. Bahkan, mereka bisa mengkombinasikan pemakaian beberapa Server Events untuk memenuhi kebutuhannya. Mereka tidak lagi
disibukkan untuk memikirkan hal-hal teknis seperti bagaimana cara mengimplementasikan kebutuhannya di dalam Aplikasi Web yang dibangun dengan
PHPMaker.
Beberapa contoh pengimplementasian Server Events dapat dilihat melalui artikel berikut:
Cepat?
Author: Masino Sinaga · Published: August 22, 2014 · Category: Pemrograman PHP
Salah satu alasan mengapa PHPMaker dapat menghasilkan Aplikasi Web dengan cepat adalah karena PHPMaker itu sendiri dapat membangkitkan
(generate) ratusan atau bahkan sampai ribuan kode PHP dalam satu file dengan sangat cepat. Rata-rata satu file .php dapat dihasilkan kurang atau
sama dengan satu detik. Jumlah baris kode yang bisa mencapai ratusan atau bahkan ribuan itu tentu saja tergantung kepada jumlah Field dalam sebuah
Table atau View di Database. Semakin sedikit jumlah Field, maka akan semakin cepat pulalah kode PHP dihasilkan.
Mungkin di antara Anda ada yang heran atau bertanya, Mengapa PHPMaker men-generate kode sampai mencapai ratusan atau ribuan baris jumlahnya
di dalam satu file .php? Mengapa tidak menggunakan pola PHP Framework saja, di mana ada pemisahan antara kode yang ditulis oleh Web Developer
Perlu untuk kita ketahui, bahwa sebenarnya PHPMaker sudah memisahkan antara kode yang ditulis oleh Web Developer melalui fitur Server
Events, Client Scripts, Custom Templates, dan Custom Files, dengan kode yang dihasilkan oleh PHPMaker itu sendiri. Artinya, PHPMaker
sebenarnya pun sudah menerapkan konsep pemakaian PHP Framework. Yang membedakan adalah, PHPMaker membantu men-generate kombinasi
kode dari PHP Framework yang dia gunakan dengan kode yang ditulis oleh Web Developer tadi.
PHPMaker memang menggunakan Object Oriented Programming (OOP) untuk kode PHP pada Aplikasi Web yang dihasilkannya. Meskipun demikian,
PHPMaker juga menggunakan style Procedural dalam menyusun kode PHP. Kombinasi antara OOP dan Procedural dapat membuat Aplikasi Web
menjadi lebih fleksibel ketika ingin dikostumisasi atau dikembangkan. Itulah mengapa akhirnya sebagian kode PHP yang terdapat di sisi PHP Framework
yang digunakan oleh PHPMaker menjadi “disebarkan” ke dalam file-file .php yang dihasilkan olehnya.
Lebih detail lagi, hampir sebagian besar file .php yang dihasilkan oleh PHPMaker merupakan hasil pengembangan (extend) dari class Table atau
class Page. Kode PHP yang merupakan hasil dari pengembangan class tersebut bisa sampai mencapai ratusan atau ribuan baris. Selebihnya,
merupakan kode PHP yang berfungsi untuk menampilkan tampilan front-end Aplikasi Web, termasuk kode di beberapa Server Events dan Client
Kembali pada pertanyaan yang tercantum di judul artikel ini, Mengapa PHPMaker dapat menghasilkan kode PHP dengan sangat cepat? Sebagai
gambaran saja, untuk satu file .php yang di dalamnya mengandung sampai 6 ribuan baris kode, dapat dihasilkan rata-rata hanya dalam waktu satu detik
saja! Bandingkan jika pekerjaan seperti ini dikerjakan secara manual oleh Web Developer. Jadi, penasaran ingin tahu rahasianya?
Rahasianya, PHPMaker selalu menggunakan file Template Script yang sudah diproses sebelumnya oleh aplikasi PHPMaker. Jika file Template Script
tersebut sudah ada, maka PHPMaker akan langsung menggunakan ulang Template Script tersebut untuk mempercepat pen-generate-an kode di skrip
aplikasi web Anda. Jika file Template Script belum ada (biasanya ini terjadi hanya saat Web Developer baru pertama kali mengeksekusi PHPMaker
setelah instalasi), maka PHPMaker akan meng-ekstrak file Template Script yang sebelumnya berasal dari file .zip.
File Template Script tadi berisi sekitar 80 sampai dengan 90 persen kode PHP yang akan dihasilkan oleh PHPMaker. Artinya, PHPMaker sudah
menyediakan cache berisi Template Script yang sudah siap pakai, untuk selanjutnya dikompilasi oleh PHPMaker saat proses generate kode. Hal ini
jugalah yang menyebabkan betapa cepatnya PHPMaker menghasilkan kode PHP dalam satu file. Bisa sampai ratusan atau bahkan ribuan baris kode
PHP dihasilkan dalam satu detik. Sisanya sekitar 20 sampai dengan 10 persen dari Template Script tadi merupakan parameter dari Database yang
dibaca oleh PHPMaker, seperti nama Tabel, Field, dan parameter-parameter terkait lainnya.
Lalu, bagaimana cara PHPMaker memahami file Template Script tadi? Nah, jawabannya adalah karena PHPMaker selalu berpedoman kepada sebuah
file bernama [Link] di dalam Template-nya. Sesuai dengan namanya, file [Link] ini berisi urutan perintah-perintah untuk men-generate kode
PHP ke setiap file .php yang sesuai dengan fungsinya. Konon, konsep seperti inilah yang memungkinkan Web Developer akhirnya dapat membuat
Extensions di PHPMaker untuk mengubah atau menimpa fitur yang sudah ada, atau bahkan menambahkan fitur atau fungsi baru ke Aplikasi Web. Jadi,
bisa disimpulkan bahwa file [Link] ini merupakan prosesor-nya PHPMaker dalam menghasilkan Aplikasi Web.
Contoh, untuk fungsi tambah data, PHPMaker akan menghasilkan kode PHP ke dalam file tersendiri yang berakhiran *[Link], untuk fungsi ubah data,
menggunakan nama file yang berakhiran *[Link], untuk fungsi hapus data, menggunakan nama file yang berakhiran *.[Link], dan seterusnya.
Tanda bintang tersebut dalam hal ini mewakili nama Tabel atau View di Database.
Sebagai gambaran menutup tulisan ini, hanya dibutuhkan waktu beberapa detik saja untuk men-generate kode PHP untuk Aplikasi Web dengan 50 Tabel
di Database, dan jumlah Field di setiap Tabel kurang dari 20 Field. Bahkan, waktu tersebut bukan hanya untuk menghasilkan kode PHP saja, tapi sudah
termasuk juga untuk menghasilkan kode di file-file lainnya seperti .css, .xml, .js, .txt, dan file-file pendukung lainnya yang digunakan oleh Aplikasi Web
tersebut.
PHPMaker bukan sekedar untuk membuat kode PHP saja, tapi lebih dari itu!
dari PHPMaker
Author: Masino Sinaga · Published: August 12, 2014 · Category: Pemrograman PHP
Salah satu kunci sukses dalam pembangunan sebuah Aplikasi Web adalah bagaimana Web Developer dapat menerapkan business logic dengan mudah
dan cepat tanpa harus disibukkan lagi dengan urusan teknis seperti menulis kode yang bisa mencapai ratusan atau ribuan baris. Artinya, Web Developer
sebaiknya cukup fokus untuk menterjemahkan business logicke dalam beberapa baris kode saja.
PHPMaker sebagai Tools PHP Code Generator telah menyediakan fitur Server Events yang memungkinkan Web Developer dapat menyisipkan hanya
beberapa baris kode saja ke dalam Aplikasi Web yang dihasilkan olehnya. Artinya, Web Developer tidak perlu menulis kode secara langsung ke dalam
file script yang sudah di-generate oleh PHPMaker di sisi Aplikasi Web. Web Developer cukup hanya menulis sedikit kode saja dari dalam project
PHPMaker.
Katakanlah di Aplikasi Web yang Anda bangun dengan PHPMaker, Anda tidak ingin membebani Pengguna untuk mengisi data jam. Anda ingin supaya
sistem otomatis melengkapi data tanggal yang sudah dimasukkan Pengguna saat menambah Record baru dengan data jam awal dan jam akhir di
masing-masing field Date_Start dan Date_End. Untuk mengimplementasikan hal ini, maka Anda sebagai Web Developer cukup menambahkan dua
return TRUE;
}
Setelah itu, pastikan Anda menyimpan perubahan ini di project PHPMaker Anda, lalu generate ulang semua file script dari sisi PHPMaker. Ya, hanya
begitu saja!
Javascript Framework}
Author: Masino Sinaga · Published: August 8, 2014 · Category: Pemrograman PHP
PHPMaker adalah tools otomasi yang dapat menghasilkan kode PHP untuk membangun Aplikasi Web dengan sangat super cepat. Bayangkan, hanya
dalam hitungan beberapa detik/menit saja, semua file-file script untuk Aplikasi Web Anda dapat dihasilkan olehnya! Umumnya Web Developer mengenal
PHPMaker sebagai Tools PHP Code Generator saja. Tidak banyak yang mengetahui bahwa sebenarnya PHPMaker lebih dari sekedar PHP Code
Generator.
Di dalam PHPMaker itu sendiri sebenarnya sudah menyertakan PHP Framework, CSS dan Javascript Framework. Tentu saja framework yang saya
maksud di sini bukan seperti framework-framework yang banyak bertebaran di Internet, semisal: CodeIgniter, Symfony, dan lain sebagainya.
PHP Framework yang digunakan oleh PHPMaker dibuat khusus untuk Aplikasi Web yang dihasilkan olehnya. Konsep yang digunakannya pun tentu saja
berbeda dengan kebanyakan PHP Framework. Meskipun sama-sama menggunakan konsep OOP (Object Oriented Programming), PHP Framework
yang digunakan oleh Aplikasi Web yang dihasilkan oleh PHPMaker lebih cenderung kepada OOP dengan cita rasa Procedural. Kombinasi keduanya
itulah justru membuat PHPMaker menjadi lebih powerful dan flexible untuk menghasilkan sebuah Aplikasi Web dengan cepat, mudah, sekaligus
menyenangkan.
Selain menggunakan PHP Framework, PHPMaker juga menyertakan CSS dan Javascript Framework yang dirancang sedemikian rupa sehingga dapat
digunakan oleh Aplikasi Web yang dihasilkan olehnya. Sampai dengan PHPMaker versi 11 (saat artikel ini Penulis buat), PHPMaker mengandalkan
Twitter Bootstrap versi 3 yang dikombinasikan dengan pemakaian LESS sehingga kode CSS yang dihasilkan dapat lebih dinamis, karena dapat
menggunakan variable dan function sehingga kode CSS dapat dipelihara dengan lebih mudah.
Tentu saja ketika PHP Framework, CSS dan Javascript Framework dikolaborasikan dengan sebuah PHP Code Generatorsehingga
menghasilkan Tools bernama PHPMaker, maka tidaklah berlebihan jika kita membayangkan betapa powerful-nya tools ini bagi Web Developer untuk
menghasilkan sebuah Aplikasi Web. Bahkan, dibalik kekuatannya itu, PHPMaker pun masih menyediakan fleksibilitas bagi Web Developer untuk
menambahkan business-logic dan business-process dengan mudah ke dalam Aplikasi Web melalui fitur Server Events dan Client Scripts. Web
Developer pun cukup hanya memelihara sedikit kode saja yang mereka tulis.
Karena sudah menggunakan CSS dari Twitter Bootstrap versi 3, maka Aplikasi Web yang dihasilkan oleh PHPMaker versi 11 sudah otomatis langsung
mendukung untuk dijalankan di perangkat mobile seperti Handphone, iPhone, Tablet, dan sebagainya. Tampilan dan layout Aplikasi Web akan responsif
terhadap lebar perangkat mobile Anda. Artinya: Anda tidak perlu lagi repot-repot membuat dua versi yang berbeda untuk Aplikasi Web yang dihasilkan
oleh PHPMaker. Ibaratnya, sekali melempar dengan sebuah batu, maka akan langsung mengenai dua burung sekaligus.
Penasaran ingin melihat Demo dari Aplikasi Web yang dihasilkan oleh PHPMaker? Klik di sini.
Beberapa website yang bisa Anda jadikan sebagai referensi ketika bekerja menggunakan PHPMaker adalah sebagai berikut:
Semoga bermanfaat.
Membangun Aplikasi Web dengan Mudah, Cepat, dan Menyenangkan
Author: Masino Sinaga · Published: July 19, 2014 · Category: Pemrograman PHP
Pendahuluan
Akhir-akhir ini banyak Web Developer yang mengalami kesulitan ketika akan membangun sebuah aplikasi berbasis web (selanjutnya kita sebut dengan
Aplikasi Web). Mereka tidak tahu harus memulai dari mana, fitur-fitur apa saja yang wajib tersedia, sampai dengan hal-hal teknis apa saja yang harus
diperhatikan. Belum lagi mereka harus memasukkan business-logic dan business-process ke dalam Aplikasi Web tersebut.
Beberapa Web Developer ada yang menggunakan framework dalam membangun Aplikasi Web. Namun sayangnya, banyak Web Developer yang
mengalami kesulitan untuk mempelajari dan mengimplementasikan framework sampai menghasilkan Aplikasi Web. Alasannya karena dibutuhkan waktu
yang tidak sedikit untuk memahami dan menerapkan sebuah framework ke sebuah Aplikasi Web secara komprehensif.
Di sisi yang lain, Web Developer dituntut untuk menghasilkan Aplikasi Web yang lengkap tanpa mengabaikan kualitasnya, dan harus diselesaikan pula
dalam waktu yang cepat. Sementara di waktu yang bersamaan, Client atau Pengguna sudah tidak sabar untuk menggunakan Aplikasi Web tersebut.
Solusi
Untuk mengatasi semua kondisi di atas, tentu saja harus dibutuhkan metode pengembangan Aplikasi Web di luar dari kebiasaan yang selama ini sudah
sering dilakukan oleh Web Developer. Mau tidak mau; suka atau tidak suka, Web Developer dituntut untuk bekerja dengan lebih cerdik lagi. Yang jelas,
dalam hal ini mereka tidak mungkin membangun Aplikasi Web dengan cara-cara konvensional. Tidak mungkin menulis kode mulai dari awal. Tidak
mungkin juga menulis kode secara manual ke dalam file script di sisi Aplikasi Web.
Kalau sudah begini, maka menggunakan tools merupakan solusi satu-satunya. Tapi, tunggu dulu! Tools seperti apa yang mau dipakai? Di sinilah lagi-
lagi Web Developer dituntut untuk menggunakan tools yang tepat, dan pada kondisi yang tepat pula. Jangan sampai mereka salah memilih tools yang
Tentu saja kita tidak hanya fokus kepada waktu yang cepat untuk membangun Aplikasi Web tadi. Kita sebagai Web Developer juga harus memastikan
bahwa tools tadi dapat menghasilkan Aplikasi Web yang dilengkapi dengan fitur-fitur yang wajib tersedia di sebuah Aplikasi Web. Intinya, tools ini harus
dapat mengatasi dua kebutuhan utama tadi. Aplikasi Web yang lengkap, dan dihasilkan dalam waktu cepat.
Kabar gembira buat Web Developer, karena Penulis telah membuktikan salah satu tools yang dapat membantu mereka menghasilkan Aplikasi Web yang
dilengkapi dengan fitur-fitur yang wajib ada, sekaligus dapat dihasilkan dalam waktu yang sangat cepat. Tools itu bernama PHPMaker. Mungkin ada
yang sudah pernah mengetahui tools ini tapi selama ini tidak mengetahui manfaatnya. Tapi, mungkin juga ada yang baru pertama kali mengenalnya.
PHPMaker adalah sebuah perangkat lunak atau perkakas (tool) otomasi yang dapat membangkitkan (generate) sekumpulan kode PHP dengan cepat
dari basis data MySQL, PostgreSQL, Microsoft Access, Microsoft SQL Server, dan Oracle. Dengan menggunakan PHPMaker, Anda sebagai Web
Developer dapat membuat dengan cepat Aplikasi Web yang mengijinkan Penggunanya untuk menampilkan, mengubah, mencari, menambah, dan
PHPMaker dibuat dengan fleksibilitas yang tinggi, dan dilengkapi dengan berbagai pilihan yang memungkinkan Web Developeruntuk membuat Aplikasi
Web dengan menggunakan kode PHP yang sesuai dengan kebutuhan. Kode PHP yang dihasilkan sudah barang tentu bersih, langsung kepada
fungsinya, dan mudah untuk dimodifikasi atau dikostumisasi. Web Developerpemula sekalipun dapat mempelajari dan menggunakan PHPMaker dengan
Skrip PHP yang dihasilkan olehnya dapat dijalankan di server yang menggunakan sistem operasi Windows (untuk basis
data: MySQL, PostgreSQL, Microsoft Access, Microsoft SQL Server, dan Oracle) atau Linux/Unix (untuk basis data: MySQL, PostgreSQL,
dan Oracle). PHPMaker dapat menghemat banyak waktu dan cocok baik untuk Web Developeryang masih pemula maupun yang sudah mahir sekalipun.
Selain membangkitkan kode ke dalam file skrip php, PHPMaker juga sudah menangani antar muka dari Aplikasi Web yang dihasilkannya, dengan
menggunakan framework Twitter Bootstrap. Web Developer dapat mengkostumisasi tampilan depan dari Aplikasi Web dengan sangat mudah melalui
Framework dan Javascript Framework yang masing-masing dapat digunakan untuk back-end dan front-end dari output Aplikasi Web yang
dihasilkannya. Dengan menggunakan PHPMaker, maka Anda sebagai Web Developer sudah memiliki tiga keuntungan utama darinya.
Fitur PHPMaker
1. Halaman Login/Logout
8. Copy/Salin Record
9. Pembagian Halaman/Paging/Pagination
11. View Page (halaman yang menampilkan satu record per halaman)
17. Export Data (Printer Friendly, Excel, Word, HTML, CSV, XML, PDF, dan Send to Email)
51. Site Title, Site Icon, Site Logo, Header, dan Footer
52. Charset
59. Extensions
Tools PHPMaker dapat didownload dan dicoba secara full-version dalam waktu 30 hari. Informasi lebih lanjut mengenai PHPMaker bisa dilihat melalui
Selain itu, Anda dapat menggunakan PHPMaker dengan sangat mudah karena sudah tersedia website yang berisi artikel-artikel mengenai PHPMaker
dalam bahasa Indonesia melalui website Penulis di [Link] Perlu diketahui bahwa sampai dengan saat menulis artikel ini, Penulis
masih tetap memperbarui situs tersebut dengan mempublikasikan satu artikel setiap hari, tentu saja mengupas tuntas mengenai fitur-fitur di PHPMaker.
Penutup
Mengakhiri tulisan ini, Penulis ingin menyampaikan beberapa pertanyaan yang diharapkan dapat membantu Anda untuk memutuskan apakah ingin
1. Apakah Anda ingin membangun Aplikasi Web menggunakan bahasa atau kode PHP dengan mudah dan cepat tanpa mengabaikan kualitasnya?
2. Apakah Anda sering menulis ulang kode PHP yang hampir sama dari satu Aplikasi Web ke Aplikasi Web yang lain, sehingga
3. Apakah Anda sudah bosan membangun Aplikasi Web dengan harus menulis kode PHP langsung ke file .php-nya?
4. Apakah Anda tidak ingin berlama-lama duduk di depan komputer dan ingin memiliki waktu juga untuk bersosialisasi/berkumpul dengan
keluarga/teman?
5. Apakah Anda hanya satu-satunya tenaga Programmer atau tidak memiliki team untuk membangun beberapa Aplikasi Web dalam waktu yang relatif
bersamaan?
6. Apakah Anda ingin menggunakan metode pengembangan Aplikasi Web yang mudah dan cepat, serta dapat dikostumais kembali di masa yang
akan datang?
7. Apakah Anda ingin selalu mengikuti perkembangan teknologi Web Development tanpa harus melakukan terlalu banyak usaha sendiri?
Jika sebagian besar atau seluruh jawaban Anda adalah Ya, maka sudah saatnya memang Anda menggunakan PHPMaker.
Dengan menggunakan PHPMaker, maka Anda sebagai Web Developer dapat lebih berkonsentrasi untuk menerapkan business-logic dan business-
process ke dalam Aplikasi Web. Artinya, Anda tidak perlu lagi mengurusi hal-hal teknis seperti pembuatan fitur-fitur apa saja yang wajib ada di sebuah
Aplikasi Web. Inilah alasan utama mengapa PHPMaker dapat membantu Anda membangun Aplikasi Web dengan sangat cepat dengan kualitas yang
Happy coding!
Extensions in PHPMaker significantly contribute to efficient development by allowing developers to quickly add, modify, or remove features without altering the core templates or generated scripts. They facilitate code reuse across different projects, saving time by up to 90% and allowing developers to share useful Extensions with others. This flexibility encourages creativity and enhances the tool's power for building web applications .
PHPMaker offers several features such as Server Events, Client Scripts, Custom Templates, and Custom Files to ensure that custom modifications are preserved when web applications are regenerated. By utilizing these features, developers can store customizations within the PHPMaker project, making them easily retrievable and updateable without being overwritten .
Regenerating all script files using PHPMaker is advisable to ensure all customizations and code modifications are correctly integrated and operational. This practice avoids issues arising from partial updates or outdated code being left in the project, promoting consistency and reliability in web application development .
User Code allows developers to override or add PHP code during runtime without altering PHPMaker's templates or the project itself, enhancing flexibility. Custom Validation Functions enable the implementation of bespoke validation logic server-side with PHP or client-side with JavaScript/jQuery, further extending the tool's adaptability to specific project needs .
The Multi-Update feature in PHPMaker enhances user experience by allowing bulk updating of records, saving users time and effort in making changes. It provides confirmation prompts to ensure changes are intentional and integrates with existing features like Field Setup. This capability makes it easier for users to manage records efficiently and improves the overall usability of the application .
PHPMaker's security features provide a structured approach to implementing essential security measures in web applications. These features include user levels, login options, and password management, which are straightforward for novice developers to configure, ensuring baseline security without deep security expertise .
PHPMaker's CAPTCHA feature enhances security by generating a security code whenever the Edit Page is activated. This requires an extension, ensuring that only authorized users can access and modify sensitive data. Incorporating this feature protects against automated attacks and ensures that human interaction is required for data alterations, adding an essential layer of security .
The Multi-Update Page feature in PHPMaker allows users to update multiple records simultaneously by enabling specific settings under the Multi-Update and Confirm options. For this feature to function, the target table must have a primary key to uniquely identify each record. Users select records using checkboxes and can confirm updates before saving changes .
PHPMaker's User Levels and User Login Options are crucial for managing application security as they allow for fine-grained access control. User Levels establish hierarchical access permissions, while login options manage user authentication processes such as registration and password management. Together, they form a robust security framework that enables web developers to implement comprehensive security mechanisms tailored to varying user roles and application requirements .
The master-detail relationships in PHPMaker allow users to browse related data from a selected master table and its detail tables simultaneously on one page. This feature enhances usability by displaying data with hierarchical relationships clearly, supporting complex data interactions within a single interface .