- Publish konten langsung menyinkronkan lesson registry dan merekomputasi composite/state siswa bila jenis evaluasi (latihan/kuis) berubah, tanpa menunggu restart server. - TTL cache (`LESSON_LIST_CACHE_TTL`, default 30 detik) untuk daftar lesson agar worker gunicorn lain ikut segar tanpa invalidasi lintas proses. - Endpoint POST /content/sync-registry (teacher-only) + tombol Sinkronisasi di /teacher/progress untuk menangkap perubahan konten di luar webapp. - Notifikasi editor saat progress siswa dihitung ulang pasca-publish. - `recompute_lesson_progress()`: skor historis tetap disimpan; state legacy completed/scored tidak disentuh. - Test unit (TTL cache + signature evaluasi) dan integrasi (publish recompute, sync registry, endpoint auth) + dokumentasi. Tanpa perubahan schema DB. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| auth.py | ||
| compile.py | ||
| content_editor.py | ||
| docs.py | ||
| help.py | ||
| lesson_progress.py | ||
| lessons.py | ||
| progress.py | ||
| student_management.py | ||