Wednesday, 8 July 2026

tahapan migrasi guruwali

 

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:

guruidmuridid
1172821
1172845
34902

Tahap 3

Ubah halaman satu per satu.

Urutannya saya sarankan:

  1. guruwali_manage.php

  2. guruwali_add.php

  3. guruwali_delete.php

  4. guruwali_view.php

  5. jurnalguruwali.php

  6. rekap_kehadiran_muridwali.php

  7. lib_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:

  1. Import User

  2. Import Cohort

  3. 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.

Share:

0 comments:

Post a Comment