Symptom
A user is taking a piece of content developed in SCORM 2004. Upon getting to the last screen of the content, there is a Finish button that the user can click. Upon clicking on this Finish button, an error will occur. The error will read "Error initializing communications with LMS".
Environment
SAP SuccessFactors Learning Management System (LMS)
Reproducing the Issue
- Create content in Articulate that is SCORM 2004 4th edition
- Import the content with the Import tool that makes use of a Deployment Location.
- The URL Prefix in the Deployment location needs to have the proper URL prefix as per KBA 2396085
- Create the item and place the content object into the item
- Take the course and get to the very end
- Upon reaching the last slide, click the Finish button which is inside the content
- The "Error initializing communications with LMS" pop-up will appear
Cause
Content vendor is trying to access the URL in GetContentRootUrlBase(contentRoot) by splitting the URL by "/".
Please note that so far this has only been found with SCORM 2004 content created in Articulate.
Resolution
There are two possible fixes to this Articulate content:
- Modify the content object URL to be something along the lines of: "/icontent_e/CUSTOM/[customername]/self-managed/CORP/SCORM_TEST/index_lms.html". The customer name section in that URL can be seen in the iContent configuration file. If not, take your iContent SFTP account which is usually customername_content (if self-managed) and remove the "_content".
- Modify the JavaScript of the content.
This function exists in different files in the different tools:
Storyline and Presenter: /LMS/API.js
Rise: /scormdriver/scormdriver.js
Original Function:
function GetContentRootUrlBase(contentRoot)
{var urlParts=contentRoot.location.href.split("/"); delete urlParts[urlParts.length-1]; contentRoot=urlParts.join("/"); return contentRoot;}
Edited Function:
function GetContentRootUrlBase(contentRoot)
{var basePath = contentRoot.location.href.split("?"); var urlParts = basePath[0].split("/"); delete urlParts[urlParts.length - 1]; contentRoot = urlParts.join("/"); return contentRoot;}
Please note, Support is not trained in content creation and cannot assist in modifying the JavaScript. Please reach out to our Professional Services team or Premium iContent Support team. Please reach out to your Customer Success Manager (CSM) or Sales Representative to assist.
See Also
2149831 - How and When to reach out - Professional Services Consultant, Partner and Account/Finance Team
Keywords
content, lms, scorm 2004, API, error, articulate, adobe, presenter, rise, initialize, finish, communication API error, LRN-34247 , KBA , LOD-SF-LMS-CNT , Content , Problem