Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-37529

SCORM tracking data inaccessible due to incorrect 'scoid' mapping when content structure page is skipped and display package is set to 'New window'

    XMLWordPrintable

    Details

    • Testing Instructions:
      Hide

      (Difficulty: easy, requires both (server) administrator access, to cleanup JS caching and manage the activity, and student access to a course)

      1. Apply the patch and cleanup the JS cache in the dataroot e.g. rm /path/to/moodle-master-data/cache/js/*
      2. Open a browser and cleanup its cache
      3. Log as Administrator and activate SCORM API Debugging
      4. Enter into a Course, e.g. a Topics one, and Turn Editing on.
      5. Create a new SCORM activity using the attached pachage based on the Prodding SCO (© 2007 Claude Ostyn), SCORM 1.2 - here modified to have four items - set 'Student skip content structure page' = 'Always' or 'First Access' and display package to 'new window'
      6. Logout and Login as a student being enrolled in the Course above (if logged in as teacher/admin then skipview setting will not be used so this will not be tested correctly.)
      7. Click on the new SCORM Activity and attend to it: a new popup|tab will be opened too (the SCORM API Activity Log)
      8. The item will be launched: the Prodding SCO will appear
      9. Click on the API Prodder tab of the SCO
      10. Click Initialize button
      11. Click the SetValue session time: 0000:hh:mm:ss.ss link
      12. Click the Terminate button
      13. Check the SCORM API Activity Log tab/popup to get evidence of the tracking calls
      14. Repeat the same for the other 3 elements, w/o any particular order in selecting ITEM2, ITEM3, ITEM4.
      15. Use the navigation bar to move back and forth and, w/o the need to perform trackin calls, each time you'll click on the navigation bar go to the SCORM API Activity Log tab/popup to get evidence of the ITEM<n> (n=1..4) being launched according to what expected (<datetime>: Moodle SCORM 1.2 API Loaded, Activity: MDL-37529, SCO: ITEM<n>)
      16. Exit the Activity
      17. Open the SCORM Basic report and look at the attempt of the user above to see the tracking data according to your calls (here just the total_time, especially for the first item, ITEM1, to verify that now the first item is regularly tracked and shown in the report
      Show
      (Difficulty: easy, requires both (server) administrator access, to cleanup JS caching and manage the activity, and student access to a course) Apply the patch and cleanup the JS cache in the dataroot e.g. rm /path/to/moodle-master-data/cache/js/* Open a browser and cleanup its cache Log as Administrator and activate SCORM API Debugging Enter into a Course, e.g. a Topics one, and Turn Editing on. Create a new SCORM activity using the attached pachage based on the Prodding SCO (© 2007 Claude Ostyn), SCORM 1.2 - here modified to have four items - set 'Student skip content structure page' = 'Always' or 'First Access' and display package to 'new window' Logout and Login as a student being enrolled in the Course above (if logged in as teacher/admin then skipview setting will not be used so this will not be tested correctly.) Click on the new SCORM Activity and attend to it: a new popup|tab will be opened too (the SCORM API Activity Log ) The item will be launched: the Prodding SCO will appear Click on the API Prodder tab of the SCO Click Initialize button Click the SetValue session time: 0000:hh:mm:ss.ss link Click the Terminate button Check the SCORM API Activity Log tab/popup to get evidence of the tracking calls Repeat the same for the other 3 elements, w/o any particular order in selecting ITEM2 , ITEM3 , ITEM4 . Use the navigation bar to move back and forth and, w/o the need to perform trackin calls, each time you'll click on the navigation bar go to the SCORM API Activity Log tab/popup to get evidence of the ITEM<n> (n=1..4) being launched according to what expected ( <datetime>: Moodle SCORM 1.2 API Loaded, Activity: MDL-37529 , SCO: ITEM<n> ) Exit the Activity Open the SCORM Basic report and look at the attempt of the user above to see the tracking data according to your calls (here just the total_time, especially for the first item, ITEM1 , to verify that now the first item is regularly tracked and shown in the report
    • Workaround:
      Hide

      Do not use the popup option.

      Show
      Do not use the popup option.
    • Affected Branches:
      MOODLE_24_STABLE
    • Fixed Branches:
      MOODLE_24_STABLE, MOODLE_25_STABLE, MOODLE_26_STABLE

      Description

      When a SCO has 'Student skip content structure page' set to 'Always' or 'First Access' and 'Grading method' is 'Learning objects,' then tracking data populates in the database but is inaccessible from Moodle, showing a SCORM status of "Not attempted" even though complete tracking data are stored. In my investigation, the inaccessible tracking data within the 'mdl_scorm_scoes_track' table is linked to the wrong 'scoid.'

      There appear to be two 'scoid's associated with a single SCO as mapped in the table 'mdl_scorm_scoes'. One entry has a value for every field and 'title'="Course Object title." This 'scoid' appears for all SCORM attempts that render correctly in Moodle. A second entry in 'mdl_scorm_scoes' for the same SCO has many empty fields with 'title'="Captivate E-Learning Course." This 'scoid' appears for all SCORM attempts that render incorrectly. SCORM player seems to select the wrong 'scoid' to link tracking data to when skipping the content structure page.

      Steps to recreate:
      1. add a new SCORM activity
      2. set 'Grading method' = 'Learning objects'
      3. set 'Student skip content structure page' = 'Always' or 'First Access'
      4. save SCORM
      5. access SCORM as a student enrolled in the course
      6. exit the SCO after completing it or sometime before
      7. as teacher, view the SCORM report

      EXPECTED:
      1. attempt details to display including 'Attempt', 'Started on', 'Last accssed on', 'Score', and 'Course Object title' (showing Incomplete or Complete as a hyperlink)
      2. click on 'Incomplete' or 'Complete' hyperlink to view tracking detailed tracking data for that attempt

      ACTUAL
      1. attempt details display including 'Attempt', 'Started on', 'Last accssed on', and 'Score'. But 'Course Object title' shows 'Not attempted' as plain text
      2. no link is available under to 'Course Object title' detailed tracking data
      3. clicking 'Attempt' number hyperlink shows status of 'Not attempted' and no tracking data

      As I said at first, I have identified the field 'scoid' in 'mdl_scorm_scoes_track' as the culprit. It could be one of two values for these types of SCOES and all the errors occur when it is linked to the 'mdl_scorm_scoes.title'="Course Object title" rather than the other, which is "Captivate E-Learning Course." SCORM API debugging always shows expected behavior throught with no errors. The data are reported and received correctly, they just appear to be linked incorrectly and therefore inaccessible through Moodle. It all started with upgrading to Moodle 2.4, by the way. I've been through all previous versions down to 1.9 and never seen this before.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                6 Vote for this issue
                Watchers:
                13 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Fix Release Date:
                  13/Jan/14