- When Course Home is enabled and the course is launched via BizX (integrated environments), the course does not load. However, the same course works correctly when course is disabled and launched via BizX or launched via Learning native login.
- The course correctly loads in Couse Home via BizX, but does not communicate with Learning, does not send completion/fail.
SAP SuccessFactors Learning
The cause might be related to (but not restricted to it) the content code structure that could be referencing to "window.top", which is currently not supported in Course Home via BizX.
To locate the LMS API, the SCORM content executes a search algorithm on the current window hierarchy. The search algorithm, which is implemented by content providers, could be trying to check the BizX Common Header window before the LMS window.
Because the BizX Common Header is located on a different domain from both Learning and the SCORM content windows, browser cross-domain security restrictions are violated as soon as window access is attempted and the search algorithm is immediately terminated before finding the LMS API. Without the LMS API, the content is unable to communicate with Learning, so no status changes can be recorded.
The violation can be present in the described scenario because Course Home embeds the content directly in the page, at the bottom of the window hierarchy, as opposed to the legacy item details page, which opens content in a new window. The usage of a separate window hierarchy on the legacy details page means that users will not see this issue there.
The content can be referencing to window.top during its initialization. Course home cannot support content that references window.top. This reference to window.top will always cause a cross-domain error in Course Home in integrated environments.
Possible recommendations for the situation resolution would be:
- Referencing window.parent instead of window.top. However, this may lead to the same cross-domain issue if the content is hosted on a different domain from LMS. Implementing exception handling to catch potential cross-domain access errors. If an exception is triggered, the content could attempt to continue by referencing a different window, instead of terminating prematurely. Example:
- The content's API search algorithm might not be following SCORM guidelines. SCORM guidelines recommend that content check for the API on the first iteration of the search algorithm. See the SCORM API Discovery Guidelines. In addition, this article may assist the content developer in writing their discovery algorithm.
For additional information about Course Home and content troubleshooting, take a look at the "See Also" section of the KBA.
window.top.header, course, home, scorm, content, load, item, course, blank , KBA , LOD-SF-LMS , Learning Management System , LOD-SF-LMS-ADM , Admin Tools , LOD-SF-LMS-CHM , Course Home , LOD-SF-LMS-CNT , Content , LOD-SF-LMS-ITE , Items , Problem