docs: explain why this project exists#3
Merged
Merged
Conversation
📖 Course content previewDownload the
|
RichardoC
added a commit
that referenced
this pull request
Jun 30, 2026
#4) … validation The final comprehensive quiz's results were effectively not reaching the LMS grade. Root cause, traced through Xerte's xttracking_scorm1.2.js: SCORM 1.2 reports a single cmi.core.score.raw for the whole package, computed as a weighted average across quizzes. With no trackingWeight on any quiz, all 8 contributed equally (1/8 = 12.5% each), so the final quiz was nearly invisible despite COURSE_SPEC.md specifying themes 25% / final 75%. Separately, trackingMode="full_first" locked each quiz's first attempt forever, trapping learners in bad scores on tricky questions. Changes to source/data.xml + source/preview.xml (identical): - trackingMode: full_first -> "full" (last attempt counts; retries can improve the recorded grade). - trackingWeight="1" on the 7 theme quizzes, trackingWeight="21" on the final comprehensive quiz -> final is 21/28 = 75% of the LMS grade, themes 7/28 = 25%, matching COURSE_SPEC.md. Validated end-to-end through a running XOT (docker-container branch) instance on host port 8088: - play.php?template_id=1 returns 200; HTML5 editor opens and loads trackingWeight into lo_data for all 8 quizzes. - Editor Publish round-trip PRESERVES trackingWeight + trackingMode="full" in data.xml (the lo_data loader reads it and the Publish serializer writes it back) -- editor-based edits are safe, no re-application needed. - SCORM export is valid SCORM 1.2 (one SCO) and the exported template.xml carries trackingMode="full", trackingWeight 1x7 + 21, 45 questions, 8 quizzes, 0 empty options. Guidance updates: - docs/PROJECT_CONTEXT.md: added convention 9 -- "Validate every source/data.xml change through XOT before shipping" (MANDATORY), with concrete checks; rewrote the "How to make changes" workflow to include the XOT-validation step and a direct-attribute-push routine; added a "SCORM scoring" section explaining the weighted-average + lesson_status behaviour; corrected the editor round-trip caveat to "verified to survive"; updated the verification checklist greps and host port (8088). - docs/COURSE_VERIFICATION.md: fix #3 records the XOT validation results and references convention 9; removed the obsolete "weighting not applied" deviation. - docs/AGENT_COURSE_GUIDE.md: corrected both tracking-weight notes to reflect that trackingWeight survives a Publish round-trip. Note: cmi.core.lesson_status still goes incomplete -> passed/failed only when all 48 pages are completed (no unmarkForCompletion on content pages). If an LMS hides score.raw while incomplete, learners must finish the final quiz and let the package fire LMSFinish for the grade to post. Left unchanged per the owner's call; document if it becomes an issue. Generated with pi 0.80.2 and GLM 5.2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.