Sourabh Choraria - Script.gs mengulas artikel menarik tentang otomatisasi pembuatan sertifikat dengan Apps Script yang berbahan Google Slide, sumber data dari Google Sheets, dan dikirim dengan Gmail.
ANATOMI SCRIPT
Script ini membagi dua kelompok proses yang diimplementasikan menjadi 2 fungsi:
- createCertificates() berfungsi memproduksi sertifikat
- sendCertificates() berfungsi mengirim sertifikat
Tantangan dari script ini adalah sifat dari javascript yang Asynchronous, masing-masing fungsi akan diproses secara independen tidak berurutSiLiKiDi
Konsekuensi asynchronous terkadang muncul kasus pengiriman mendahului produksi, sehingga jangan aneh bila sertifikat yang dikirimkan masih seperti template aslinya belum berisi data yang dimaksud.
Untuk mengakali Asynchronous Javascript bisa dengan menerapkan Async-Await atau Promise-chaining, hanya saja Google Apps Script belum mendukung pengendalian iniSiLiKiDi
Setiap fungsi dalam script ini ditenagai 4 aplikasi berbeda: Slide dan Sheets berada dalam proses produksi, sedangkan Gmail bertugas sebagai kurir pengiriman.
- Google Slide sebagai template sertifikat
- Google Sheets sebagai sumber data pengisian sertifikat
- GMail sebagai kurir pengiriman sertifikat
- Apps Script sebagai komposer ketiga aplikasi tersebut
Tantangan lainnya adalah berlakunya pembatasan kuota proses harian oleh Google Service, sehingga anda perlu untuk membagi etape bila total prosesnya melebihi batasan.SiLiKiDi
PROSES SCRIPT
Agar Google Slide tidak terbebani dengan membuat 1 slide 1 data melainkan 1 slide for all, maka Google Slide harus diperlakukan sebagai template bukan sebagai file berkas, sehingga perlu menggunakan sumber data eksternal yang dalam script ini melibatkan Google Sheets.
Google Slide sebagai template desain tidak perlu membuat slide baru untuk setiap data di dalamnya tetapi cukup dengan membangkitkan berkas sertifikat tersendiri untuk setiap datanya yang kemudian hasilnya disimpan terpisah pada temporary folder.
Sertifikat di temporary folder tersebut selanjutnya dikonversi menjadi PDF untuk dilampirkan dalam email dan dikirimkan ke peserta dengan perantaraan GMail.
Semua proses tersebut diatur oleh Apps Script sebagai komposer proses keseluruhanSiLiKiDi
STEP-BY-STEP
Membuat Template Sertifikat
Buat sebuah template Slide misalkan yang sudah tersedia di Template gallery seperti Employee certificate.
Salin ID dari template Slide tersebut yang berada di bagian URL berikut ini. ID tersebut akan digunakan script untuk mengakses template tersebutSiLiKiDi
Membuat Sheets Data
Buat Sheets baru untuk mengisi data sertifikat dengan format seperti berikut ini atau silahkan unduh contohnya di sini
Salin ID dari Sheets data tersebut yang berada di bagian URL berikut iniSiLiKiDi
Disarankan untuk menyetel Locale ke Indonesia dan Time zone ke (GMT+07:00) Jakarta yang diatur pada menu File - Spreadsheet settings:
Membuat Folder Penampung
Buat Subfolder baru untuk menampung hasil sertifikat individual seperti berikut ini:
Salin ID dari Subfolder tersebut yang berada di bagian URL berikut iniSiLiKiDi
FINAL SCRIPT
Salin script dari sumber ini dan tempelkan pada file Code.gs di Apps Script anda. Jangan lupa untuk menyimpannya, men-Deploy, dan merilis ulang Webhook-nya. Selengkapnya bisa anda simak di artikel Telegram Bot Dengan Google Apps Script - The First Encounter
Cobalah panggil fungsi script tersebut dengan tombol Run untuk melihat hasilnya. Bila anda ingin mengintegrasikan script tersebut pada menu Sheets gunakan versi script ini.
Dapatkan skrip semua materi di repository
Dukung donasi agar tutorial ini tetap operasional:
SiLiKiDi
Komentar
Posting Komentar