Lewati ke isi

Domain: Dapodik Sync & Integrasi Regulasi

SSOT untuk integrasi regulasi pendidikan Indonesia di Scola, terutama Dapodik, validasi master data, dan sinkronisasi lintas domain.

Last verified: 2026-06-11 (Phase 6A audit SC-DAP)


1. Visi & Best Practice

1.1 Regulasi / Standar Acuan

Regulasi / standar Relevansi
Dapodik Kemendikbud Master data sekolah, siswa, GTK, rombel, dan profil sekolah
Pola integrasi e-Rapor Dapodik Pertukaran nilai/rapor dengan Web Service Dapodik
NPSN, NISN, NUPTK Identitas nasional yang harus konsisten lintas domain
Praktik audit trail integrasi pemerintah Log sinkronisasi, fallback export, dan jejak validasi

1.2 Kondisi Ideal

  • Setiap tenant memiliki satu control plane regulasi yang jelas: NPSN, token Web Service, status koneksi, dan jejak sinkronisasi.
  • Validasi data dilakukan sebelum sync, bukan setelah error di Web Service pemerintah.
  • Integrasi regulasi kini punya loader/control-plane terpisah lewat scola_dapodik_connector dan diprovision sebagai add-on opsional SC-DAP di atas SC-CORE.
  • Export/manual fallback tetap tersedia ketika endpoint pemerintah tidak stabil atau berbeda versi.
  • Sinkronisasi dan export menjaga batas company/tenant, audit trail, dan observability operasional.

2. Arsitektur & Data Model

2.1 Backend Modules

Module Deskripsi
scola_dapodik_connector Konfigurasi Dapodik, sync log, validation report, export wizard, API control plane, dan export kesiswaan
scola_dapodik_report_card_bridge Ownership endpoint sinkronisasi e-Rapor ke Dapodik
scola_dapodik_academic_bridge Ownership endpoint export akademik ke format Dapodik
scola_dapodik_attendance_bridge Ownership endpoint export attendance saat smart attendance terpasang
scola_core School-profile sync dan tenant/company data yang dipakai connector
scola_report_card Domain model rapor yang dikonsumsi bridge Dapodik
scola_timetable Domain model akademik yang dikonsumsi bridge Dapodik
scola_smart_attendance Runtime source untuk export attendance opsional

2.2 Frontend Structure

src/views/
├── SettingsManagement/DapodikConfig.vue
├── ReportCardManagement/Admin/DapodikRaporSync.vue
├── AdminViews/AcademicConfig/ModulAjar/ModulAjarList.vue
└── AdminViews/WakasekDashboard.vue

src/services/
├── reportCard/reportCardDapodik.service.js
└── counseling/warningLetter.service.js

2.3 Kapabilitas & Akses

Area Catatan
Konfigurasi Dapodik Surface admin/settings yang hidup di connector control plane opsional
Export akademik Terkait master data akademik dan rombel
Export kesiswaan Terkait rekap BK/kesiswaan untuk pelaporan
Sinkronisasi rapor Terkait workflow report card manager / admin

Catatan:

  • Family capability scola_dapodik kini sudah live di FE dan BE.
  • SC-DAP base kini diprovision melalui scola_bundle_dapodik di atas SC-CORE.
  • Export attendance adalah extension eksplisit via scola_bundle_dapodik_attendance, bukan bagian default dari base bundle.

2.4 API Endpoints

Endpoint Method Deskripsi
/api/dapodik/config GET, POST Ambil/simpan konfigurasi Dapodik
/api/dapodik/test-connection POST Uji koneksi ke Web Service Dapodik
/api/dapodik/sync/students POST Sync peserta didik
/api/dapodik/sync/gtk POST Sync GTK
/api/dapodik/sync/rombel POST Sync rombel
/api/dapodik/sync-logs GET Daftar log sinkronisasi
/api/v1/academic/export/dapodik GET Export akademik ke format Dapodik
/api/v1/kesiswaan/export/dapodik GET Export kesiswaan ke format Dapodik
/api/v1/report-card/dapodik/* POST Bootstrap, validate, execute, export, dan delete sync rapor
/api/rfid/attendance/export/dapodik POST Export attendance untuk Dapodik

3. Fitur & Status Implementasi

Fitur Status Catatan
Konfigurasi koneksi Dapodik ✅ Done scola.dapodik.config + SettingsManagement/DapodikConfig.vue
Test koneksi + status koneksi ✅ Done Menyimpan hasil koneksi terakhir dan pesan error
Sync peserta didik, GTK, dan rombel ✅ Done Ada endpoint + sync log per jenis data
Log sinkronisasi dan detail log ✅ Done scola.dapodik.sync.log + detail log API
Sync profil sekolah dari Dapodik ✅ Done school_profile.sync_from_dapodik() menyimpan dapodik_last_sync
Export akademik ke Dapodik ✅ Done /api/v1/academic/export/dapodik
Export kesiswaan ke Dapodik ✅ Done /api/v1/kesiswaan/export/dapodik
Sinkronisasi rapor ke Dapodik ✅ Done Bootstrap, validate, execute, export, delete tersedia
Export attendance ke Dapodik ✅ Done /api/rfid/attendance/export/dapodik
Pilot scoladev topology replay ✅ Done SC-DAP evidence
Phase 6A formal audit ✅ Done integrasi-regulasi-audit-2026-06-11.md
Packaging sebagai add-on terpisah 🟡 Controlled Rollout scola_bundle_dapodik base SC-DAP; attendance via scola_bundle_dapodik_attendance
Live Dapodik host replay ⏳ Pending GAP-04 widen on staging (DAP-M1)

4. Gap Analysis & Backlog

P1 — Important

Gap Dampak Solusi
Remote pilot evidence SC-DAP Closed (Phase 6A) — pilot + audit formal
Live Dapodik sync replay Belum bukti ke host pemerintah GAP-04 widen on staging (DAP-M1)
Checklist UAT sync GTK/rombel/siswa Operator belum terstandar integrasi-regulasi config
Routing Dapodik di beberapa surface admin Audit RBAC sulit Satukan catatan akses Phase 6B (DAP-M3)

P2 — Nice to Have

Backlog Konteks Catatan
Perluasan rollout SC-DAP di luar controlled public-sector pilot Base quote rules, companion bundle attendance, dan harness lokal sudah jelas Buka GA setelah staging replay live (DAP-M1) closed
Integrasi regulator lain seperti SIMPATIKA/EMIS Relevan untuk sekolah tertentu Jangan dipisah jadi SKU baru sebelum strategi connector matang
Scheduler sinkronisasi yang lebih kaya Tenant dengan kebutuhan sync terjadwal Dasarnya sudah ada via auto_sync; observability dulu
Retensi artifact export dan audit attachment Kebutuhan audit/internal control Cocok dikerjakan setelah Phase 5

5. File References

Frontend

  • src/views/SettingsManagement/DapodikConfig.vue — konfigurasi koneksi, sync manual, log terakhir
  • src/views/ReportCardManagement/Admin/DapodikRaporSync.vue — workflow sync rapor ke Dapodik
  • src/services/reportCard/reportCardDapodik.service.js — client service untuk bootstrap/validate/execute/export sync rapor
  • src/services/counseling/warningLetter.service.js — export kesiswaan ke Dapodik

Backend

  • ../scola-odoo-module/scola_dapodik_connector/controllers/dapodik_api.py — config, test connection, sync, sync log
  • ../scola-odoo-module/scola_dapodik_connector/controllers/kesiswaan_dapodik_api.py — export kesiswaan ke Dapodik
  • ../scola-odoo-module/scola_dapodik_connector/models/dapodik_config.py — model konfigurasi Dapodik per company
  • ../scola-odoo-module/scola_dapodik_connector/models/dapodik_sync_log.py — log sinkronisasi
  • ../scola-odoo-module/scola_dapodik_connector/models/dapodik_validation.py — validation report
  • ../scola-odoo-module/scola_dapodik_connector/models/dapodik_export.py — export wizard peserta didik / GTK / rombel
  • ../scola-odoo-module/scola_dapodik_report_card_bridge/models/dapodik_rapor_sync.py — model sinkronisasi rapor
  • ../scola-odoo-module/scola_dapodik_report_card_bridge/controllers/report_card_dapodik_api.py — endpoint /api/v1/report-card/dapodik/*
  • ../scola-odoo-module/scola_dapodik_academic_bridge/controllers/timetable_dapodik_api.py — export akademik ke Dapodik
  • ../scola-odoo-module/scola_dapodik_attendance_bridge/controllers/attendance_dapodik_api.py — attendance export ke Dapodik saat smart attendance terpasang
  • ../scola-odoo-module/scola_bundle_dapodik/__manifest__.py — base bundle SC-DAP
  • ../scola-odoo-module/scola_bundle_dapodik_attendance/__manifest__.py — companion bundle untuk attendance export Dapodik

7. Panduan Konfigurasi Implementor

Lihat configuration-guides/integrasi-regulasi.md.

Ringkas: provision SC-DAP → isi NPSN/token → test connection → sync siswa/GTK/rombel → bootstrap rapor.


8. Panduan End User

Role Surface
Admin TU Settings → Dapodik Config
Admin akademik Sync rapor (DapodikRaporSync.vue)
Wakasek Dashboard sampling export

Quick reference: academic config untuk prasyarat master data sebelum sync.