Bagus. Ini Flow Checklist versi engineer, bukan versi tutorial.
Kalau kamu disiplin pakai checklist ini, kecepatan + kualitas plugin kamu akan naik drastis.
Saya susun urut sesuai kenyataan di lapangan, bukan urutan ideal buku.
✅ FLOW CHECKLIST – WordPress Plugin (Form → PDF)
Anggap ini SOP mental setiap kali kamu bikin form baru apa pun.
0️⃣ PROBLEM & OUTPUT (WAJIB, sebelum coding)
❗ Kalau tahap ini kabur, STOP.
Masalah apa yang diselesaikan?
Siapa user-nya? (RC / Admin / Client)
Output akhirnya apa?
PDF?
Print?
Arsip?
Data mana yang paling fatal kalau salah?
📌 Contoh DPR:
Fatal: tanggal, lokasi, manhour, signature
Tidak fatal: caption foto
1️⃣ DOMAIN & DATA MODEL
Jangan buka editor sebelum ini jelas.
Apa entitas utamanya?
report
activity
personnel
Relasinya?
1 report → many activity
Mana yang:
single field
repeater
calculated field
📌 Prinsip:
Field mengikuti realitas kerja, bukan selera UI
2️⃣ INPUT FORM (UX dulu, bukan backend)
Form jelek = data jelek.
Urutan field sesuai alur kerja nyata
Default / prefill kalau masuk akal
Minim klik & scroll
Field wajib diberi penanda jelas
Tidak ada field “pajangan”
📌 Rule keras:
Kalau user harus mikir “ini diisi apa?”, form-mu gagal.
3️⃣ VALIDASI & SANITASI (JANGAN DILOMPATI)
Ini sering diremehkan.
Nonce (wp_verify_nonce)
Capability (current_user_can)
Sanitasi sesuai tipe:
text → sanitize_text_field
number → (int) / (float)
textarea → sanitize_textarea_field
Validasi logis (bukan cuma teknis)
finish > start
jumlah >= 0
📌 Ingat:
User bukan musuh, tapi input mereka bisa merusak sistem.
4️⃣ PERSIST DATA (STRUKTUR > CEPAT)
Menyimpan data itu keputusan arsitektural.
Custom Post Type jelas
Meta key konsisten & bernama jelas
Repeater tidak nested berlebihan
Tidak ada duplikasi data yang tidak perlu
📌 Rule:
Data harus bisa dibaca ulang 6 bulan lagi tanpa bingung.
5️⃣ BUSINESS LOGIC (INI OTaknya)
Ini bukan UI, ini nilai jual.
Penomoran (kalau ada)
Kalkulasi (manhour, progress, KPI)
Status logic (draft / final)
Rule khusus domain
📌 Pisahkan:
logic ≠ template
logic ≠ JS
Kalau tercampur → nanti kamu sendiri yang pusing.
6️⃣ RENDER VIEW (SCREEN)
Yang dilihat user sehari-hari.
Readable
Konsisten urutan dengan form
Tidak semua field harus ditampilkan
Aman dari empty data
📌 Jangan over-design:
Ini alat kerja, bukan landing page.
7️⃣ RENDER VIEW (PRINT)
Print ≠ screen.
Margin rapi
Font aman print
Table tidak pecah aneh
Signature tidak lompat
📌 Banyak plugin gagal di sini.
Kalau print rapi → nilai profesional langsung naik.
8️⃣ GENERATE PDF
Anggap ini “export final”.
Source dari HTML print (bukan bikin ulang)
Page break terkendali
Ukuran file masuk akal
Tidak error saat data kosong
📌 Prinsip:
PDF itu snapshot, bukan tempat logic.
9️⃣ EDIT & REVISI (REALITA LAPANGAN)
Laporan pasti direvisi.
Bisa edit tanpa rusak data lama
Tidak generate duplikat
Update logic aman
📌 Rule:
Sistem yang tidak siap revisi = sistem naif.
🔟 REUSABILITY CHECK (INI YANG KAMU INCAR)
Sebelum bilang “selesai”, cek:
Kalau field beda → flow tetap sama?
Kalau output beda → input tetap?
Kalau domain beda → logic masih reusable?
Kalau jawabannya ya, berarti:
skill kamu naik, bukan cuma plugin selesai.
Checklist versi singkat (tempel di kepala)
Problem → Data → Form → Validate → Store
→ Logic → View → Print → PDF → Revisi
Kalau urutan ini kamu lompat-lompat,
bug + revisi akan nyusul.
