Add the "Course offering code" to the data made available to the SCORM API (cmi.launch_data)
Stéphane.M.173
Posts: 2 🔍
Hi,
I belong to a team which traditionally develops its own course content using in-house tools and processes. We built interactive HTML pages for each user in each course.
We rely on a in-house server application to support parts of the learning experience offered to our users (among other things, custom tools to interact with professional tutors).
We are currently trying to integrate some of our tools more tightly inside BrightSpace. To do this, we rely on SCORM 1.2 with the pipwerks SCORM api JavaScript package. The "static content" part is happily dealt with using Rise 360. For the dynamic part, we are building custom-made SCORM packages that fetch the user information from SCORM and a hard-coded "course offering code" to match the data available in our external system.
This is sub-optimal, as it forces us to build a custom SCORM package for each course offering, and to update each one of them when there are significant updates. I simply add "?course=COURSE_ID" to the SCORM package's index file URL, and the parameter is picked up by my custom code.
I do understand that SCORM is not meant to access external ressources. I am also fully aware of the LTI abilities in that matter. I do not have the ressources to deploy a full-fledged LTI service.
Simply fetching the course code from the SCORM API instead of a URL parameter would be much easier. Does anyone know if and how this can be achieved in BrightSpace ? Is there any configuration variable that can be set to achieve that ? I've been looking on this forum, other sources of information, the administrator's manual and other technical resources, to no avail.
I do find some information through the SCORM API, such as ScormObjectDatabaseId : "1198788" for instance, but this is not very useful to me as it reflects BrightSpace's own data model and not our teaching data.
I guess that cmi.launch_data would be a good candidate to store that information.
Any idea ?
Best regards,
Stéphane MOR
I belong to a team which traditionally develops its own course content using in-house tools and processes. We built interactive HTML pages for each user in each course.
We rely on a in-house server application to support parts of the learning experience offered to our users (among other things, custom tools to interact with professional tutors).
We are currently trying to integrate some of our tools more tightly inside BrightSpace. To do this, we rely on SCORM 1.2 with the pipwerks SCORM api JavaScript package. The "static content" part is happily dealt with using Rise 360. For the dynamic part, we are building custom-made SCORM packages that fetch the user information from SCORM and a hard-coded "course offering code" to match the data available in our external system.
This is sub-optimal, as it forces us to build a custom SCORM package for each course offering, and to update each one of them when there are significant updates. I simply add "?course=COURSE_ID" to the SCORM package's index file URL, and the parameter is picked up by my custom code.
I do understand that SCORM is not meant to access external ressources. I am also fully aware of the LTI abilities in that matter. I do not have the ressources to deploy a full-fledged LTI service.
Simply fetching the course code from the SCORM API instead of a URL parameter would be much easier. Does anyone know if and how this can be achieved in BrightSpace ? Is there any configuration variable that can be set to achieve that ? I've been looking on this forum, other sources of information, the administrator's manual and other technical resources, to no avail.
I do find some information through the SCORM API, such as ScormObjectDatabaseId : "1198788" for instance, but this is not very useful to me as it reflects BrightSpace's own data model and not our teaching data.
I guess that cmi.launch_data would be a good candidate to store that information.
Any idea ?
Best regards,
Stéphane MOR
Answers
-
Hi Stephanie,
As far as I'm aware the cmi.launch_data is a read-only element in the IMS manifest file, isn't dynamic but can be read by the SCORM API. CourseID isn't referenced/included in any of the SCORM Run-Time Reference Guides.
I did find a stackoverflow post with a similar question to the one you have asked. See Need a unique user/course ID variable in SCORM 1.2 package. The recommendation here is to add the course id information into the cmi.launch_data as you have suggested.
Another alternative is possibly using the Valence API to derive the required information.
Hope that helps!