[RELEASED] Scorm 1.2 / 2004 API

Hi, I purchased the package a few days ago, I wanted to ask, is there a possibility that only works to export and use the template on a single computer? is that I tried on a computer and it works, I try on another and exports the normal scorm but does not communicate with moodle, but no errors, and following the same steps as on the computer that if it works!

I got the error when building the Example project [Scorm] - there was a error during initialization (Scorm 1.2) but i have the ScormPublishSettings set to Version V_2004 what else do i have to do to set the example to work as a SCORM 2004 ? thanks for any info

Check ā€œInitializeā€ method call, Iā€™m sure itā€™s set to 1.2 and not 2004.

Doesnā€™t make any senseā€¦ Press F12 on the browser and check the console for errors.

How do i change the ā€œInitializeā€ method call," with the example project ? what do i need to change and where ?

What does the Option ( 1.2/2004) in the ScormPublishSettings file do ?

when I run in Unity I get [Scorm] Communication initialized (Scorm 1.2)

Iā€™m hoping to see [Scorm] Communication initialized (Scorm 2004)

on the server only the 1.2 build works, How do I get the example 2004 build to work on the server as a 2004 Scorm?

Please check the Example.cs script

Iā€™m not a code guy, Can you tell me what line of code i have to change and change it to what ? please

Check for the Initialize method call and change the parameter to Scorm2004

What do I change to get a 2004 Scorm?

#if UNITY_EDITOR
            scormService = new ScormPlayerPrefsService();
#else
            scormService = new ScormService();
#endif

            initButton.interactable = true;

            buttons = buttonsContainer.GetComponentsInChildren<Button>(true).ToList();

            ToggleInitialized(false);

            SetListeners();

            initButton.onClick.AddListener(() => {
                Version version = Version.Scorm_1_2;

                bool result = scormService.Initialize(version);

                if (result) {
                    Log("Communication initialized (Scorm " + (version == Version.Scorm_1_2 ? "1.2" : "2004") + ").");

                    initButton.interactable = false;

                    ToggleInitialized(true);

                    startTime = Time.time;
                } else {
                    Log("There was an error during initialization (Scorm " + (version == Version.Scorm_1_2 ? "1.2" : "2004") + ").");
                }
            });
        }

Line 16 and please donā€™t post code of my asset publicly even if itā€™s an example script.

Thanks.

Hi, have you ever managed to run the scorm package on an external server, away from the learning system? Is the SCORM asset able to communicate back to the LMS and where does the LMS domain need to be set?

In imsmanifest.xml the domain of the server on which the scorm package is located is entered, I assume. But where should the LMS domain be placed?

Background: Our application only shows many errors when running on the LMS server and we suspect that the configuration there is the problem. So we want the Scorm package to run on a different server. I have read that this can work if we take care of the CORS issue.

Thank you very much

Is this compatible with Unity 6?

Sure, no problem.

Hello,
I have a big problem. And I would be very happy if you could help me somehow. My customer, for whom I have built the SCORM package with your asset, now wants the package to be built with xAPI or AICC. Since these are newer versions of SCORM, hopefully you can help me answer the following questions:

  1. Do you also have experience with xAPI / AICC?
  2. The three big repos at github for xAPI only deal with the pure communication with the LMS servers but do not create finished packages like your asset does, could you help me with that?
  3. The xAPI repos also assume that Unity already knows the UserID of the person who started the training in the LMS. But this is not available for me, did your SCORM package have the same problem and do you get the user ID or similar in your SCORM package to save the data for the correct user in the LMS?

Many thanks for any help
Rob

I am sorry but your question is not related to my asset at all and I have no experience with xAPI.

Hello there,
Just bought the asset and started the integration. I was checking the IScormService.cs to get around what I can do but it seems thereā€™s no way to get and set the interaction. Only the objective. Is this normal or am I missing something ? For the record interaction are used to store specific data from any type of interaction. It uses descripion, type, latency and so on and that is very important for my SCORM integration.
Thank you in advance,
Cheers

Edit : Iā€™ve checked a little more and it seems the appropriate way would be to use the generic SetValue getting (for my case) the cmi.interaction. I need to dig a little more as to how to create one and stuff but can you confirm that it would work like so ?

1 Like

Yes, this is the way.

1 Like