This project has moved and is read-only. For the latest updates, please go here.

Hello, tell me which file and where this call cmi.learner_id in scorm?

Topics: Developer Forum, Project Management Forum, User Forum
Oct 4, 2012 at 7:06 PM
Hello, tell me which file and where this call cmi.learner_id in scorm?
Oct 4, 2012 at 11:34 PM

Its definition is given in the RTE manual, section 4.2.11

4.2.11. Learner Id

The cmi.learner_id data model element identifies the learner on behalf of whom the

SCO was launched. The cmi.learner_id shall be unique at least within the scope of the SCO [1]. How the cmi.learner_id is assigned is outside the scope of SCORM. One typical case on how learner_ids are assigned is through some learner registration process defined by the LMS. The cmi.learner_id identifies the learner in a given LMS.

Oct 8, 2012 at 1:48 PM

I know, I asked what part of the code is being exchanged between the LMS and scorm

Oct 9, 2012 at 3:04 PM

I wouldn't mess with the RTE too much inside of the basic web player. It's an autonumber field with referential integrity that may cause issues in handling it.

If you want to retrieve it or even use your own idenitfier, I suggest using the USERKEY field. It's set and retrieved and available in the pages by baseclass.

This way you can find the learner id via the USERKEY in the USERITEM table.

Look at the pagehelper.cs file in the appcode directory.

We added our own which we pass a session variable when we launch content. We're using the BWP only and not the SLK

	public virtual string UserKey
		    if (m_userKey == null)
                // check if the user session is set, else use the windows identity

                if (Session["userpk"] == null)
                    using (WindowsIdentity userIdentity = WindowsIdentity.GetCurrent())

                       // m_userKey = userIdentity.User.ToString();
                        // m_userKey = Session["userid"].ToString();
                        m_userKey = "S-1-5-21-2885934532-4263119962-147460968-1016";
                    // set the userkey to the session var
                    m_userKey = Session["userpk"].ToString();



			return m_userKey;

Nov 29, 2012 at 10:31 AM

You can try debugging the frameset interaction to see where it's getting set.


SLK Coordinator