Kadang kita menerima PBL dari rekan namun berasal dari PowerBuilder versi terdahulu untuk ditambahkan pada project kita, tapi setelah kita coba tambahkan ternyata hasilnya tidak ada satu object pun yang muncul pada system tree seperti pada gambar berikut ini :
Nah umumnya kita langsung panik kok library ga ada isi object nya, Padahal seandainya kita mau memperhatikan lebih teliti tentang pesan yang ditampilkan :
Nah ayo kita migrate target nya dengan cara berikut ini :
Klik kanan pada Target lalu dari menu kita pilih Migrate
Lalu proses migrate akan di jalankan, dan jika semua berjalan dengan baik maka akan ada pesan sukses Finished Migrate of target seperti berikut :
Dan hasilnya dapat dilihat seperti berikut :
Demikian info nya, mulai hari ini yuk kita lebih teliti membaca pesan-pesan yang ditampilkan. Semoga aplikasi yang kita buat juga menampilkan pesan-pesan yang mudah di mengerti oleh user ya.
Download sample source code nya menggunakan PowerBuilder 11.5 di link bagian bawah artikel ini.
Tekniknya dilakukan dengan membuat standar class user object bertipe timing. Sehingga pada implementasinya dapat anda gunakan secara berulang (reuse) di window manapun yang anda inginkan.
Tambahkan instance variables
Tambahkan Function dengan REFERENCE variable berupa statictext control yang akan menampilkan durasi nya.
Buat Script pada event timer seperti berikut
Simpan dengan nama n_timer
Cara Implementasi nya
Cara implementasi nya dapat anda lakukan dengan menambahkan object ini di window anda, buat window object dengan window painter, lalu dari menu INSERT pilih OBJECT pilih USER OBJECT dan pilih n_timer yang akan muncul dalam non visual object list.
Buat statictext control yang akan menampilkan durasi dan commandbutton yang akan mentrigger timing object nya.
Ga pake lama kalo mau langsung download link nya di bawah ya
Fingerprint sudah menjadi kebutuhan umum digunakan sebagai alat verifikasi bagi individu, umum digunakan untuk login atau validasi tanpa perlu menginput password.
pada artikel ini, digunakan fingerprint reader Digital Persona U are U 4500 untuk di integrasikan dengan Powerbuilder
yang anda perlukan adalah Software Development Kit (SDK) nya, file nya sudah disertakan dalam download link.
konsep nya adalah menggunakan Dua Control OLE Object yang anda tempatkan pada Window Object dengan kegunaan terpisah, yaitu ENROLLMENT dan VERIFICATION, yang pertama digunakan untuk membaca data fingerprint yang kemudian dapat disimpan dalam database. Dan yang kedua digunakan untuk membandingkan data yang tersimpan dengan hasil pembacaan dari fingerprint readernya.
cara untuk menambahkan Control OLE Object seperti gambar berikut :
OLE object kita ambil dari pilihan tab insert control berikut, pastikan SDK sudah terinstall pada PC anda :
Data hasil pembacaan fingerprint ENROLLMENT pada contoh ini disimpan dalam suatu tabel seperti berikut :
Untuk enrollment penampakannya seperti ini :
untuk verifikasi nya seperti dibawah ini :
contoh aplikasi nya cukup untuk anda gunakan dengan memperhatikan beberapa script dan variabel serta function yang dibuat pada event yang sudah saya contohkan, misalnya
peletakan script pada event untuk enrollment :
variabel yang harus berbentuk constant
User function yang dibuat untuk memudahkan
contoh aplikasi ini sangat intensif dalam mengakses database, karena melalukan looping untuk memeriksa fingerprint yang dibaca dengan membandingkan langsung data menggunakan looping di dalam database, jika dirasa terlalu lambat anda dapat melakukan optimasi misalnya setelah mendapatkan userid semua data enrollment di load ke memory (memanfaatkan array untuk 10 jari) baru kemudian dibandingkan dengan hasil pembacaan fingerprint reader.
Demikian, semoga bermanfaat.
Catatan : PowerBuilder Versi 11.5 dan SQLAnywhere Versi 11
Mungkin sudah banyak ditemui artikel yang berkaitan dengan fitur kirim-kirim SMS dan Whatsapp ataupun messenger lainnya seperti Telegram yang pernah di tuliskan dalam blog ini
namun hingga post ini ditulis, belum pernah ditemukan cara yang paling mudah, setelah baca semua isi artikel ini, jika ada cara lain yang lebih mudah mohon tulis di komen ya.
Disclaimer : penulis tidak di endors oleh pemilik produk yang digunakan penulis dalam post ini, dan penggunaan teknik yang disampaikan penulis adalah tanggung jawab masing-masing
Beberapa hal yang anda perlukan antara lain :
PowerBuilder
SQL Anywhere
SMS dan Whatsapp API Provider
Langkah-langkah nya adalah :
Mendaftar ke Provider
Buat Function dalam SQLAnywhere Database untuk memanggil API tersebut
Buat PowerBuilder Datawindow object yang memanggail SQLAnywhere function tadi
Integrasikan Aplikasi PowerBuilder melalui datawindow query
hmm…. cuma segitu langkah nya? apa bisa lebih singkat lagi? ya udah lah, ayo kita lihat bagaimana caranya.
Sebelum Appeon menerima penanggung jawab dalam pengembangan dan pemasaran PowerBuilder, Appeon merupakan third party yang menyediakan fasilitas deployment aplikasi Desktop Powerbuilder menjadi aplikasi berbasis web pada windows browser dan native android serta IOS mobile App.
Nah untuk itu diperlukan beberapa komponen antara lain Appeon Server (Versi 2016 kebawah) atau PowerServer (Versi 2017 keatas) dan juga Appeon Developer (Versi 2016 Kebawah) sebagai plugin untuk Powerbuilder Versi 9.0 sd 12.6 dan PowerServer Toolkit (versi 2017 keatas) yang hanya tersedia pada PowerBuilder versi 2017 keatas edisi Universal atau CloudPro.
Dalam artikel ini kita akan bahas instalasi Appeon Server 2016, untuk cara install Appeon Developer dapat anda lihat di link ini ya :
Mungkin banyak rekan yang belum mengetahui bahwa Appeon Server juga tersedia untuk platform linux. Nah dalam artikel ini kita akan lakukan instalasi Appeon Server versi 2016 di linux Ubuntu
Pada instalasi ini kita menggunakan user: appeonadmin dan password: Admin2016
Sewaktu proses instal pilih option untuk mengInstall SSH server
Setelah selesai instalasi Ubuntu, login dengan user appeonadmin lalu tambahkan user baru : appeonuser yang akan kita gunakan untuk install dan konfigurasi appeon dan wildfly
Langkah 3 : Install dan Konfigurasi Java
Install dan konfigurasi Java
Setelah install tambahkan JAVA_HOME dan path pada profile
Langkah 4 : Download dan Install Wildfly
Download dan Install wildfly application server
Extract dan buat shortcut (link)
Copy kan script untuk membuat wildfly menjadi service
Edit file wildfly.service, ganti user dengan : appeonadmin
Bolehkan penggunaan port 8080 untuk akses ke wildfly
Pastikan service wildfly aktif
Buat user wildfly untuk admin console : wildflyadmin password : Admin2016
Edit interface pada file standalone.xml
Langkah 5 : Download dan Install MySQL
Download dan install mysql (Optional to test database connection)
Langkah 6 : Download dan Install vsftpd
Download dan install vsftpd
Configurasi vsftpd.conf file, tambahkan baris berikut di bagian akhir :
Langkah 6 : Copy Appeon Installer
Copy Appeon Installer ke folder sementara, gunakan FTP client (misalnya WinSCP) untuk upload ke Ubuntu server
Langkah 7 : Install Appeon Server
Install Appeon Server
Langkah 8 : Reboot dan Akses AEM
Reboot dan akses Appeon Enterprise Manager
Nah dengan demikian selesai sudah instalasi AppeonServer di Linux Ubuntu, server siap untuk menjadi host deployment aplikasi web dan mobile dari PowerBuilder
Bagi anda pengguna PowerBuilder Versi 9.03 sampai dengan 12.6 yang ingin melakukan deployment ke Appeon Server dapat melakukan deployment aplikasi ke Appeon Server 2016 untuk membuat aplikasi yang kita buat dapat dijalankan melalui browser ataupun menjadi native mobile app baik itu android ataupun IOS.
Berbeda dengan PowerBuilder Versi 2017 ke atas, Appeon Developer yang telah berganti nama menjadi PowerServer Toolkit merupakan fitur yang sudah termasuk dalam edisi Powerbuilder Cloud Pro. Cek edisi PowerBuilder terbaru disini : https://www.appeon.com/products/powerbuilder
Diagram pada gambar diatas cukup menjelaskan bagaimana skema deployment PowerBuilder ke Appeon Server, berikut beberapa terminologi yang perlu di ketahui :
PowerBuilder 2017 adalah versi pertama yang dikeluarkan oleh Appeon
PowerServer adalah nama baru dari Appeon Server sejak versi 2017, pada versi 2016 kebawah produk server disebut sebagai Appeon Server
Powerserver Toolkit adalah nama baru dari Appeon Developer sejak versi 2017 pada versi 2016 kebawah disebut sebagai Appeon Developer.
Lihat Juga Blog lain nya ya
Dari skema diatas dapat diketahui untuk dapat melakukan deployment ke server ketentuan nya adalah sebagai berikut :
Untuk PowerBuilder versi 12.6 kebawah dapat menggunakan Appeon Developer 2016 untuk deployment ke Appeon Server 2016 dan tidak dapat digunakan untuk deployment ke server Versi lebih baru
PowerBuilder 2017 dapat melakukan deployment ke Appeon Sever 2016 ke atas menggunakan PowerServer Toolkit dari edisi enterprise atau cloud pro
PowerBuilder 2017 juga dapat melakukan deployment ke PowerServer versi 2017 keatas dengan PowerServer Toolkit
PowerBuilder 2019 hanya dapat melakukan deployment ke PowerServer versi 2017 keatas
Demikian informasi ini semoga bermanfaat untuk rekan-rekan.
jangan lupa jika rekan mau mencoba melakukan deployment ke Appeon Server versi 2016 yang kami siapkan di cloud dapat register dari artikel berikut :
Cara mudah konversi data ke encoding BASE64 dengan SQLAnywhere pada script PowerBuilder
Sudah menjadi kebutuhan umum BASE64 encoding string format untuk memudahkan komunikasi data antara platform yang hanya dapat menggunakan tipe data berbentuk text atau string seperti menyematkan gambar atau PDF kedalam XML dan Json yang hanya menerima data dalam bentuk string text saja, yang paling umum adalah merubah format binary misalnya image, PDF atau file binary lainnya menjadi BASE64, sehingga memungkinkan kita mengirim image atau file lainnya dalam format XML atau Json.
Sejak PowerBuilder versi 2017 R3 sudah tersedia object untuk melakukan encoding dan decoding ke base64 secara native melalui object yang bernama coderobject :
Detail mengenai apa saja fungsi nya dapat anda lihat pada link ini ya :
Lalu bagaimana implementasi nya di PowerBuilder versi sebelum itu ? Jawabannya ada pada SQLAnywhere yang mungkin tidak banyak yang mengetahui bahwa SQLAnywhere memiliki fungsi yang dapat digunakan untuk encode dan decode base64 text format. Versi terendah yang saya lihat sudah ada fungsi ini adalah versi 9, untuk versi di bawah itu saya belum menemukan dokumentasi nya.
Berikut referensi base64_decode dan base64_encode function dari SQLAnywhere
Penggunaan di Powerbuilder perlu sedikit trik, dimana kita tidak bisa semudah memanggil dengan cara embedded SQL dibawah ini :
Apakah cara ini berhasil ?
YA
lho katanya ga mudah, kalo cuma begitu kan ya gampang dong?
Memang mudah, TAPI ini hanya berhasil untuk ukuran file/blob maksimum 32KB yang merupakan keterbatasan powerbuilder dalam berkomunikasi dengan embedded SQL, jika anda mengirimkan text atau blob dengan ukuran lebih dari 32KB dengan cara tersebut, maka hanya akan menimbulkan error, kalaupun tidak ada error, maka data yang akan diterima database hanya 32KB pertama saja.
Jangan kuatir ya, cara yang lebih baik sehingga bisa mengirimkan ukuran file lebih dari 32KB bisa anda download dari link dibawah source code nya, berupa export window w_base64 yang bisa anda pelajari scriptnya, tinggal klik kanan lalu import ke library PBL yang anda inginkan. Metode nya adalah menggunakan embedded SQL Statemen UPDATEBLOB dan SELECTBLOB yang tersedia untuk dapat mengirimkan binary dengan berbagai ukuran lebih dari 32KB. Berikut potongan kode nya
Potongan script di atas menggunakan tabel dalam database SQLAnywhere yang digunakan seperti berikut :
Pada contoh disini, selain hasil encoding di tampilkan dalam multilineedit anda juga akan melihat bagaimana SQLAnywhere dengan statement UNLOAD menyimpan hasil query kedalam file, seperti contoh berikut
Contoh diatas juga menunjukkan contoh bagaimana kita melakukan pemanggilan SQLStatement yang tidak didukung dalam embedded SQL Powerbuilder dengan menggunakan statement EXECUTE IMMEDIATE.
Wah dalam satu contoh ini banyak hal yang bisa di pelajari ya, semoga bermanfaat.
Berikut tampilan window dengan contoh penggunakan konversi image menjadi base64
Jika anda ingin mencoba melakukan konversi file JPEG menjadi base64 dan ingin mengetahui apakah hasil nya dapat dikonversi kembali menjadi image, anda bisa gunakan online konverter dari link berikut ya :
Pada PowerBuilder versi dibawah 12.6 tampilan transparent PNG tidak begitu baik, terlihat bahwa transparency tidak berlaku untuk object lain dibawah control picture dan akan menampilkan warna backcolor window saja. object lain dibawah transparent PNG tersebut seolah menghilang.
namun ini sudah diperbaiki pada PowerBuilder versi 12.6 yang menampilkan transparent PNG dengan sempurna, seperti tampilan dibawah ini
Demikian info mengenai transparent PNG semoga info ini bisa membantu anda.