Fitur Import Data adalah salah satu fitur yang paling saya sukai di PHPMaker. Di samping bisa meng-import data dari satu atau beberapa file sekaligus, ringkasan hasil proses Import juga akan otomatis direkam oleh sistem dalam bentuk file log berekstensi .txt.
Tentu saja hal ini sangat membantu untuk mengetahui apakah proses Import Data yang telah dilakukan berhasil atau tidak, berapa jumlah record yang berhasil, dan berapa jumlah record yang gagal. Semuanya tersimpan ke dalam file log.
Tapi tahukah Anda bahwa sampai dengan versi 2021, PHPMaker belum menyertakan detail pesan error yang kita tentukan pada server event Row_Import? Artinya, pesan error yang kita buat di server event ini tidak tersimpan ke dalam file log tadi.
Sekedar mengingatkan saja, di server event Row_Import, kita dapat memvalidasi data yang akan di-import. Jika hasil validasi tidak memenuhi syarat, maka kita dapat mengeset pesan error lalu mengembalikan nilai false supaya data tidak di-import ke database.
Dan itu artinya pula, kita dapat melewati record atau baris berapa saja yang datanya tidak akan di-import, serta mengijinkan record-record lainnya tetap di-import ke database. Semuanya cukup hanya dengan menulis sedikit kode PHP saja ke dalam server event Row_Import ini, ditambah dengan mengeset 2 pengaturan ini dari Advanced Settings project PHPMaker.
Nah, untuk mengetahui rincian record mana saja yang tidak berhasil di-import, maka kita perlu merekam pesan error yang disertai dengan data pada baris mana saja yang gagal di-import. Karena jika hanya menampilkannya di layar, itu belumlah cukup.
Masino Extensions untuk PHPMaker 2021 (bonus: juga untuk PHPMaker 2020) sudah mengatasi hal ini. Beruntunglah Anda jika selama ini sudah menggunakan Masino Extensions untuk kedua versi PHPMaker tersebut. Pesan error yang kita tentukan di server event Row_Import akan selalu disimpan ke dalam file log.
Tentu saja hal ini sangat bermanfaat, karena bisa digunakan untuk menganalisis penyebab mengapa data yang akan di-import tersebut gagal. Bahkan, pesan error tersebut menginformasikan juga nomor barisnya, sehingga kita semakin mudah mengetahui, data di baris mana saja yang gagal di-import tadi.
Sebagai perbandingan, berikut ini akan kita lihat seperti apa isi dari file log yang dihasilkan oleh PHPMaker jika tidak menggunakan Masino Extension:
<?php $val = array ( 'filetoken' => '2036454232', 'file' => 'products.csv', 'totalCount' => 2, 'count' => 2, 'successCount' => 0, 'failCount' => 2, );
Isi file log tersebut memberitahukan token yang digunakan file products.csv, jumlah record yang akan di-import yaitu TotalCount, jumlah baris yaitu count, jumlah yang sukses yaitu successCount, dan yang terakhir jumlah yang gagal yaitu failCount.
Selanjutnya di bawah ini adalah isi dari file log jika menggunakan Masino Extensions:
<?php $val = array ( 'filetoken' => '2036454232', 'file' => 'products.csv', 'totalCount' => 2, 'count' => 2, 'successCount' => 0, 'failCount' => 2, ); $err: array ( 'row1' => 'Product Chai (new favour) already exists.', 'row2' => 'Product Chang (new favour) already exists.', ); ?>
Sudah tahu kan dimana perbedaannya? Di bagian pertama tidak disertakan rincian dari pesan error untuk setiap record atau baris yang datanya gagal di-import. Sedangkan di bagian kedua ini, kita dapat melihat di baris (row) keberapa error terjadi, disertai dengan pesan error yang sudah kita tentukan sebelumnya di server event Row_Import.
Satu lagi bukti betapa PHPMaker memberikan kesempatan kepada kita sebagai Web Developer untuk mengembangkan fitur-fitur di PHPMaker melalui penggunaan Extensions. Betapa fleksibelnya dan betapa mudahnya menyesuaikan kebutuhan tanpa harus mengubah kode di dalam file template-nya.
Cukup hanya dengan menggunakan Extensions di project PHPMaker, kita sudah dapat menambahkan kemampuan tadi dengan sangat mudah dan cepat.
[…] Anda di sini: Beranda / PHPMaker / Mudahnya Memvalidasi Data yang Akan Di-Import dari PHPMaker 2021 Pesan Error Saat Import Data Sekarang Dapat Disimpan ke File Log dari PHPMaker 2021 […]