CANDY CBT - FULL BUILD + ACAK SOAL PER SOAL
Tanggal: 05 September 2026

PERUBAHAN
1. Ditambahkan kolom soal.boleh_diacak.
2. Default semua soal = boleh diacak (nilai 1).
3. Di Bank Soal, saat tambah/edit soal tersedia saklar "Boleh diacak".
4. Jika menu Ujian "Acak Soal" OFF: semua soal mengikuti urutan Bank Soal.
5. Jika menu Ujian "Acak Soal" ON:
   - soal Boleh diacak = ON dapat berpindah posisi secara acak;
   - soal Boleh diacak = OFF tetap pada posisi aslinya di Bank Soal.
6. Urutan siswa yang sudah terbentuk dipertahankan saat refresh/lanjut ujian.
7. Soal baru yang ditambahkan ke bank akan ikut default boleh diacak.

CARA PEMASANGAN
A. Ini adalah FULL BUILD, bukan patch updater.
B. Backup folder aplikasi dan database terlebih dahulu.
C. Ekstrak seluruh isi ZIP ke folder aplikasi Candy CBT dan replace file lama.
D. Pastikan folder app/Config/Routes.php ikut ter-upload.
E. Login admin, lalu jalankan migrasi dari menu instalasi/migrasi jika sistem meminta.
   Migrasi yang dijalankan: AddPerSoalShuffle.
F. Setelah migrasi, soal lama otomatis memiliki boleh_diacak=1.

CATATAN
- Jangan menginstal ZIP ini melalui menu Update jika sistem update Anda hanya menerima paket FULL dengan format manifest tertentu.
- Karena ini FULL BUILD, file Routes.php dan seluruh source aplikasi disertakan.
- Ujian yang sudah berjalan tidak diacak ulang setiap refresh. Pengaturan urutan disimpan pada sesi peserta.
