Lewati ke isi

T1-C Mixed-Shell Reconciliation

Item Nilai
Mode Server · /home/scola/odoo
Tanggal 2026-08-11
Scope Teacher / student / parent portal sections (Core + optional)
Non-goal Optional package certification · W01/W02/W05

Behavior contract

filterAppByAccess (src/config/apps/appSchema.js):

  1. Leaf tanpa akses (capability / featureFlag / productStatus fail-closed) → dihapus.
  2. Section dengan items.length === 0section header hilang (bukan empty accordion).
  3. App tanpa section tersisa → hilang dari launcher/rail.

Checker npm run check:core-nav-ux mensimulasikan entitlement-OFF pada leaf ber-featureFlag/moduleKey dan memverifikasi tidak ada empty visible section pada Core apps.

Portal notes

Portal Core sections Optional leaves Entitlement-OFF
teacher-portal today, teaching, grades, homeroom, … LMS/CBT/library/fees/HR personal Section optional hilang; Core tetap
student-portal learning/grades/… library, LMS/CBT sama
parent-portal overview, akademik, komunikasi, … library, student_services, LMS sama; Pengumuman dihapus sebagai leaf bersaing

Parent publication identity

  • Sebelum: parent.announcements (Pengumuman) + parent.news (Berita) bersaing.
  • Sesudah: hanya Berita (/news); /parent/announcement → redirect kompatibilitas ke /news.
  • Mobile quick access: parent.announcementsparent.news.

Verdict

Mixed-shell composition truthful untuk bounded Core. Empty optional groups tidak ditampilkan.