Masino Sinaga

Web Development and PHPMaker

Anda di sini: Beranda / PHPMaker / Mudahnya Memilih Field yang Disertakan untuk Audit Trail dari PHPMaker
Begini Mudahnya Mengubah Format Tanggal Secara Dinamis dari PHPMaker 2017
Solusi Agar Record di Bagian Detail pada Halaman Master/Detail List Tetap Tampil

Mudahnya Memilih Field yang Disertakan untuk Audit Trail dari PHPMaker

Kam, 13 Oktober 2016 oleh Masino Sinaga 2 Komentar

Luar biasa memang fleksibelnya PHPMaker! Setiap hari, ada saja hal baru yang bisa dipelajari sekaligus bermanfaat untuk diterapkan di Aplikasi Web yang di-generate olehnya. Seperti trik yang satu ini. Kita dapat membatasi field apa saja yang akan disertakan untuk Audit Trail, cukup dengan hanya menulis sedikit kode dari bagian Server Events.

Seperti yang kita ketahui, Audit Trail adalah salah satu fitur yang berguna untuk memonitor aktivitas apa saja yang dilakukan oleh Pengguna di Aplikasi Web yang dihasilkan oleh PHPMaker.

Secara standar, jika fitur Audit Trail untuk suatu table kita aktifkan dari PHPMaker, maka sistem akan merekam nilai di semua field yang terdapat di table tadi. Sering kali kita sebagai Web Developer dituntut untuk bisa membatasi field mana saja yang disertakan untuk Audit Trail tadi, dan field mana saja yang tidak perlu. Apalagi jika jumlah field di table tadi relatif banyak, dan kita tidak ingin merekam nilai dari semua field tadi.

Sejak versi 12, PHPMaker sudah menambahkan server event baru lagi khusus untuk kebutuhan itu. Namanya adalah AuditTrail_Inserting. Seperti namanya, server event ini akan dipanggil sesaat sebelum sistem menyimpan data ke table (misalkan namanya) audittrail di Database. Artinya, kita sebagai Web Developer dapat menambahkan sedikit kode PHP untuk menentukan field mana saja yang akan kita sertakan untuk Audit Trail tadi.

Katakanlah kita ingin menerapkan Audit Trail hanya untuk table orderdetails pada file demo project, dan kita tidak ingin menyimpan nilai di semua field pada table orderdetails tadi, tapi hanya ingin menyimpan nilai dari field Quantity saja ke dalam Audit Trail tersebut.

Pertama sekali, pastikan kita sudah mengaktifkan fitur Audit Trail, dan juga item Use database table serta menentukan table tempat menyimpan data Audit Trail tersebut dari menu PHP -> General Options -> PHP -> Audit Trail.

Kedua, pastikan juga kita sudah mengaktifkan pilihan Audit Trail untuk table orderdetails, melalui pengaturan level Table.

Ketiga, dan inilah bagian yang paling mengasyikkan, kita cukup menulis sedikit kode PHP saja ke dalam server event AuditTrail_Inserting, sehingga kode selengkapnya menjadi seperti ini:

// AuditTrail Inserting event
function AuditTrail_Inserting(&$rsnew) {
	//var_dump($rsnew);
	if ($rsnew["table"] == "orderdetails" && $rsnew["field"] == "Quantity") {
		return TRUE;
	} else {
		return FALSE;
	}
}

Perhatikanlah kode tadi. Kita memeriksa apakah nama table-nya adalah orderdetails dan nama field-nya adalah Quantity. Jika ya, maka kembalikan nilai TRUE, sebaliknya kembalikan nilai FALSE. Itu artinya, selain dari nama table dan nama field tadi, maka kita tidak akan menyimpannya ke Audit Trail.

Tentu saja kode tersebut bisa kita kembangkan untuk nama table dan nama field lainnya sesuai kebutuhan. Contoh di atas hanyalah yang paling sederhana saja, untuk memudahkan Anda dalam memahami fungsi dan kegunaan dari server event itu.

Seandainya kita juga ingin menerapkan Audit Trail tadi untuk table orders, dan kita ingin membatasi hanya untuk field OrderID saja, maka kode di atas disesuaikan menjadi seperti ini:

// AuditTrail Inserting event
function AuditTrail_Inserting(&$rsnew) {
	//var_dump($rsnew);
	if ( ($rsnew["table"] == "orderdetails" && $rsnew["field"] == "Quantity") || ($rsnew["table"] == "orders" && $rsnew["field"] == "OrderID")) {
		return TRUE;
	} else {
		return FALSE;
	}
}

Betapa kerennya PHPMaker, bukan? Hanya dengan mengaktifkan pengaturan yang terkait Audit Trail tadi (baik di level Global maupun level Table), lalu menambahkan sedikit kode di server event AuditTrail_Inserting itu saja, kita sudah bisa menggunakan Audit Trail sekaligus membatasi secara dinamis, field mana saja yang disertakan ke dalamnya.

Sekarang, bayangkanlah jika Anda membangun Aplikasi Web masih dengan cara-cara manual. Berapa lama waktu yang Anda butuhkan untuk menghasilkan fitur seperti yang terdapat di PHPMaker tadi? Hohohoho… 😛

Ditempatkan di bawah: PHPMaker Ditag dengan:audit trail, AuditTrail_Inserting, Belajar PHPMaker, PHPMaker Indonesia, Server Events, Tutorial PHPMaker

Masino Sinaga

Web Developer pengguna PHPMaker untuk membangun Aplikasi Web sejak tahun 2004. Sampai sekarang masih aktif dan rajin membagikan pengalamannya menggunakan PHPMaker melalui situs masinosinaga.com, ilovephpmaker.com, dan phpmakerprojects.com.

Begini Mudahnya Mengubah Format Tanggal Secara Dinamis dari PHPMaker 2017
Solusi Agar Record di Bagian Detail pada Halaman Master/Detail List Tetap Tampil

Komentar

  1. ibunk mengatakan

    Rab, 19 Oktober 2016 pada 6:21 pm

    Salam Kenal Bang, baru belajar phpmaker nich, ada tugas kuliah dikit pakai phpmaker, cman mentok dan bingung nich..

    Jadi tugasnya buat absensi karyawan, untuk proses input dan view saya sudah bisa, tapi ada bagian di Login User yg mentok, skernarionya gini bang :

    Karyawan ada yg namanya Cabang (posisi lokasi dikantor cabang mana ) contoh :
    Budi
    Cabang : Bandung

    Nah terus atasan budi namanya misalnya benny, nah ketika benny login otomatis hanya membaca data karyawan yang cabang bandung saja, dia tidak bisa baca data absensi karyawan jakarta

    Kira2 gimana ya bang solusinya, butuh pencerahan yang harus saya lakuin gimna ? apa ada settingan lain agar seperti itu

    makasih bang

    Balas
    • Masino Sinaga mengatakan

      Sel, 1 November 2016 pada 10:22 am

      Solusinya supaya apa ya?

      Balas

Tinggalkan Balasan Batalkan balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses

Pos-pos Terbaru

  • Cara Menampilkan Tombol Close di Footer Modal buat Custom File yang SkipHeaderFooter-nya Bernilai True
  • Solusi Buat Field Lookup Table yang Bermasalah di Server Hosting
  • Hati-Hati Meredirect Pengguna Setelah Login di PHPMaker 2025
  • Ini Alasan Mengapa Kalian Harus Selalu Pakai PHPMaker versi Terakhir
  • Masino Extensions for PHPMaker 2025 Now Changed!

Menu

  • Siapa Saya?
  • Web Development
  • PHPMaker
  • Umum
  • Syarat dan Ketentuan
  • Sitemap (Peta Situs)
  • Komentar

Komentar Terbaru

  • Masino Sinaga pada Cara Menampilkan Tombol Close di Footer Modal buat Custom File yang SkipHeaderFooter-nya Bernilai True
  • Charly pada Menonaktifkan Field Tertentu Saat Data Diubah pada Aplikasi Web dari PHPMaker
  • Nanda pada Cara Menampilkan Tombol Close di Footer Modal buat Custom File yang SkipHeaderFooter-nya Bernilai True
  • Nanda pada Mudahnya Menghitung Saldo per Transaksi di Aplikasi Web dari PHPMaker
  • Masino Sinaga pada Menonaktifkan Field Tertentu Saat Data Diubah pada Aplikasi Web dari PHPMaker

Situs Terkait

  1. I Love PHPMaker
  2. Situs Resmi PHPMaker
  3. Forum Diskusi PHPMaker
  4. PHPMaker di IlmuKomputer.com
  5. PHPMaker Projects
  6. PHPMaker Learning

Baru di PHPMaker?

Baca ini terlebih dulu ...

  1. Ayo Menjadi Web Developer yang Cerdas!
  2. PHPMaker: PHP Code Generator + PHP Framework
  3. Pertanyaan-Pertanyaan yang Paling Sering Diajukan Seputar PHPMaker
  4. Tips buat Anda Pemula yang Baru Mengenal dan Menggunakan PHPMaker
  5. Bacalah Help, Bacalah Help, dan Bacalah Help di PHPMaker!

(c) Masino Sinaga 2009 - 2025 | WordPress | Catat masuk | Kembali ke atas