Domain: Governance Yayasan & Executive Analytics
SSOT untuk surface governance yayasan, dashboard eksekutif, dan analitik lintas unit yang berada di atas domain akademik, keuangan, dan SDM.
Last verified: 2026-04-01
1. Visi & Best Practice
1.1 Regulasi / Standar Acuan
| Standar / kebutuhan |
Relevansi |
| Tata kelola yayasan / operator multi-unit |
Ringkasan kinerja lintas sekolah atau unit |
| Transparansi BOS/RKAS dan laporan keuangan |
Kebutuhan governance untuk sekolah negeri dan operator besar |
| Akreditasi dan evaluasi mutu internal |
Ringkasan akademik, attendance, dan policy dashboard |
| Prinsip least-privilege |
Role yayasan melihat agregat, bukan detail operasional yang tidak perlu |
1.2 Kondisi Ideal
- Role
foundation_chairman melihat ringkasan lintas unit secara agregat, bukan detail operasional per transaksi/per pegawai.
- Role provider-side seperti
platform_operator berada di control plane /platform/*, bukan bercampur dengan role governance tenant/yayasan.
- Governance dashboard memakai kontrak API eksplisit, bukan placeholder FE atau fallback dummy.
- Packaging tetap enterprise-only di
SC-FOUND, terpisah dari core launch wave.
- Rollup BOS/RKAS, finance, HR, dan akademik memakai data yang sudah tervalidasi di domain sumber, bukan reimplementasi logika.
2. Arsitektur & Data Model
2.1 Backend Modules
| Module |
Deskripsi |
scola_core |
Role foundation_chairman, auth capability, foundation dashboard API |
scola_account |
Sumber data laporan keuangan, budget, dan BOS untuk rollup governance |
scola_hr, scola_payroll |
Sumber data pegawai dan biaya payroll agregat |
| Modul akademik / analytics |
Sumber statistik siswa, promotion policy, accreditation signal |
2.2 Frontend Structure
src/router/foundationRoutes.js
src/views/Yayasan/
├── YayasanDashboard.vue
├── FoundationSectionPage.vue
└── foundationPageConfigs.js
src/services/foundation/foundation.service.js
src/views/AnalyticsManagement/Strategic/PromotionPolicyDashboard.vue
2.3 Kapabilitas
| Capability |
Peran |
analytics.foundation.view |
foundation_chairman |
analytics.accreditation.view |
foundation_chairman |
finance.budget.view |
Dipakai juga oleh surface budget governance yayasan |
2.4 API Endpoints
| Endpoint |
Method |
Deskripsi |
/api/v1/foundation/dashboard |
POST |
Ringkasan dashboard yayasan |
/api/v1/foundation/finance |
POST |
Ringkasan keuangan yayasan |
/api/v1/foundation/performance |
POST |
Metrik performa sekolah/agregat |
/api/v1/foundation/programs |
POST |
Program strategis |
/api/v1/foundation/academic-governance (verify path) |
POST |
Direferensikan FE, tetapi route backend belum saya temukan via rg -n "academic-governance" ../scola-odoo-module/scola_core/controllers |
3. Fitur & Status Implementasi
| Fitur |
Status |
Catatan |
| Route dan menu yayasan terpisah |
✅ Done |
foundationRoutes.js + menu registry foundation |
| Entitlement enterprise untuk governance yayasan |
✅ Done |
scola_foundation_analytics sudah ada di FE/BE runtime gate |
Visibilitas status provisioning SC-FOUND di surface tenant admin |
✅ Done |
Halaman langganan tenant admin sekarang membedakan SKU yang sudah disetujui dari feature yang benar-benar aktif di runtime |
| Provider control plane terpisah dari tenant settings |
✅ Done |
Workflow add-on/provider dipindahkan ke shell /platform/* dengan role platform_operator |
| Dashboard ringkasan yayasan |
✅ Done |
/api/v1/foundation/dashboard + YayasanDashboard.vue |
| Ringkasan keuangan yayasan |
✅ Done |
/api/v1/foundation/finance |
| Metrik performa yayasan |
✅ Done |
/api/v1/foundation/performance |
| Program strategis |
✅ Done |
/api/v1/foundation/programs |
| Budget governance di surface yayasan |
✅ Done |
Route /foundation/finance/budget memakai capability finance.budget.view |
| Payroll/HR view agregat |
✅ Done |
FE config menegaskan detail individu disembunyikan |
| Academic governance endpoint penuh |
⚠️ Partial |
FE mereferensikan /api/v1/foundation/academic-governance, tetapi route backend belum tervalidasi |
| Benchmark lintas unit dan segmentasi akademik |
⚠️ Partial |
foundationPageConfigs.js masih menyimpan warning placeholder untuk sebagian data |
4. Gap Analysis & Backlog
P1 — Important
| Gap |
Dampak |
Solusi |
SKU SC-FOUND bisa sudah disetujui tetapi belum efektif jika module backend belum terpasang |
Tenant admin salah mengira feature governance sudah usable |
Pertahankan pemisahan status approved vs pending provisioning pada subscription workflow; jangan klaim aktif sebelum module terpasang |
Endpoint academic-governance belum tervalidasi |
Risk 404/empty state untuk page governance akademik yayasan |
Verifikasi path backend; jika belum ada, implement sebagai backlog SC-FOUND pasca Phase 5 |
| Sebagian page foundation masih placeholder/warning-driven |
Governance terlihat ada di FE tetapi belum sepenuhnya berbasis data kontraktual |
Tutup warning satu per satu setelah kontrak API disepakati |
Boundary SC-FOUND masih deferred |
Sales dan engineering belum punya paket governance yang final |
Biarkan tetap deferred; finalisasi setelah Phase 4/5 launch-wave selesai |
P2 — Nice to Have
| Backlog |
Konteks |
Catatan |
| Benchmark multi-unit / multi-school |
Operator yayasan besar |
Kerjakan setelah sumber data lintas unit matang |
| Governance scorecard akreditasi yang lebih kaya |
Enterprise analytics |
Bergantung pada kontrak akademik dan compliance yang lebih stabil |
| Drill-down aman dari agregat ke summary unit |
Butuh analisa lintas sekolah |
Tetap jaga least-privilege, hindari bocor ke detail individu |
5. File References
Frontend
src/router/foundationRoutes.js — route enterprise untuk yayasan
src/views/Yayasan/YayasanDashboard.vue — dashboard utama
src/views/Yayasan/FoundationSectionPage.vue — page shell per subdomain
src/views/Yayasan/foundationPageConfigs.js — config/warning per page governance
src/services/foundation/foundation.service.js — source API utama untuk surface yayasan
Backend
../scola-odoo-module/scola_core/controllers/yayasan_dashboard_api.py — dashboard, finance, performance, programs
../scola-odoo-module/scola_core/controllers/auth.py — capability/role foundation
../scola-odoo-module/scola_core/models/res_company.py — entitlement scola_foundation_analytics
../scola-odoo-module/scola_core/models/res_users.py — role foundation_chairman