Menurut saya, keputusan yang paling tepat untuk plugin Anda adalah berhenti menggunakan binaan.csv dan menggantinya dengan satu tabel master Guru Wali.
Saya menyarankan struktur berikut:
CREATE TABLE mdl_local_jurnalmengajar_guruwali (
id BIGINT(10) NOT NULL AUTO_INCREMENT,
guruid BIGINT(10) NOT NULL,
muridid BIGINT(10) NOT NULL,
timecreated BIGINT(10) NOT NULL,
timemodified BIGINT(10) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY uniq_murid (muridid),
KEY idx_guru (guruid),
KEY idx_murid (muridid)
);
Kenapa saya mantap memilih desain ini?
Karena sekarang saya sudah melihat keseluruhan plugin Anda.
Guru
Semua memakai
mdl_user.id
Murid
Semua modul juga memakai
muridid = mdl_user.id
Misalnya:
✅ Jurnal Guru Wali
✅ Riwayat Individu
✅ Pembinaan BK
✅ Layanan BK
✅ Pembinaan Guru Mapel
✅ Rekap Kehadiran
Semuanya sudah menggunakan muridid.
Jadi Guru Wali tinggal mengikuti arsitektur yang sudah ada, bukan membuat konsep baru.
Tahapan migrasi yang saya sarankan
Tahap 1
Tambahkan tabel SQL.
Belum mengubah halaman apa pun.
Tahap 2
Buat script migrasi sekali saja.
binaan.csv
↓
cari userid murid dari NIS
↓
INSERT
Setelah selesai tabel akan berisi:
| guruid | muridid |
|---|---|
| 1172 | 821 |
| 1172 | 845 |
| 34 | 902 |
Tahap 3
Ubah halaman satu per satu.
Urutannya saya sarankan:
guruwali_manage.phpguruwali_add.phpguruwali_delete.phpguruwali_view.phpjurnalguruwali.phprekap_kehadiran_muridwali.phplib_notifikasi.php
Semuanya cukup membaca tabel baru.
Tahap 4
Hapus
binaan.csv
beserta semua fungsi:
jw_load_binaan_csv()
jw_find_user_by_nis()
jw_get_murid_options_from_csv()
Karena sudah tidak diperlukan lagi.
Keuntungan jangka panjang
Nanti saat awal tahun ajaran:
Import User
Import Cohort
Guru Wali tetap
Tidak ada lagi edit CSV.
Tidak ada lagi masalah:
XII masih muncul
kelas lama masih tampil
nama murid tidak berubah
Karena setiap halaman tinggal melakukan:
Guru
↓
local_jurnalmengajar_guruwali
↓
muridid
↓
mdl_user
↓
cohort aktif
Sehingga nama dan kelas selalu mengikuti kondisi terbaru di Moodle.
Menurut saya, ini adalah waktu yang tepat
Karena Anda memang sedang mengerjakan proses import cohort tahunan, saya akan menganggap ini sebagai versi 2.0 dari fitur Guru Wali.
Perubahan yang dilakukan hanya pada master data Guru Wali. Seluruh tabel jurnal dan riwayat yang sudah ada tetap dipertahankan, sehingga risiko terhadap data lama sangat kecil, sementara manfaatnya besar untuk pemeliharaan plugin di tahun-tahun berikutnya.
0 comments:
Post a Comment