This class provides logging services for Flash Movies. It assembles student data into an XML document and sends it to a logging server.
The data needed for this is passed as method parameters. See the individual methods for details.
The data logged maps to the OLI Logging DTDs for OLI - oli_log_1.1.dtd (download)
It also maps to the Version 4 Data Shop v2.x (February 2007).
The OLI Logging DTD contains meta information about the tutor, such as the source of the tutor (source_id). The Data Shop Tutor Message DTD contains meta information about the tutor, such as curriculum (course) and problem. It also contains tutor data such as the selection, action, and input.
Documentation References:
Logging Library for Flash
CTAT_FlashPublish page
Flashvars page
Also, if you're testing your Flash Movies in a browser, a helpful debugging technique is found at:
(MAC) http://www.flashkit.com/tutorials/Tips_And_Techniques/Tracing_-Josh_Buh-1106/index.php
(PC) http://broadcast.artificialcolors.com/index.php?m=20040401
You can also use Ethereal, Live HTTP Headers Firefox extension, Charles for Flash, or IE HTTP Analyzer.
| static | String | version = "2.3.8" | |
| static | String | DTDversion = "4" |
CommLoggingLibrary() |
| null | dispatchEvent() | ||
| null | addEventListener() | ||
| null | removeEventListener() | ||
| public | gettabLevel() | ||
| public | setProblemStarted(isStarted:Boolean) | ||
| public | getProblemStarted() | ||
| public | setStartMessageSent(theValue:Boolean) | ||
| public | getStartMessageSent() | ||
| public | setsessionEstablished(newValue:Boolean) | ||
| public | getsessionEstablished() | ||
| public | startProblemOld(log_service_url:String, question_file:String, problem_name:String, course_name:String, unit_name:String, section_name:String, school_name:String, user_guid:String, session_id:String, container_id:String, source_id:String, external_object_id:String, auth_token:String) | ||
| public | logLoadTutor(dataObj:ContextMessageTransferData) | ||
| public | logStartTutor(dataObj:ContextMessageTransferData) | ||
| public | startProblem(dataObj:ContextMessageTransferData) | ||
| public | logLoadVideo(dataObj:ContextMessageTransferData) | ||
| public | logStartVideo(dataObj:ContextMessageTransferData) | ||
| public | logLoadAudio(dataObj:ContextMessageTransferData) | ||
| public | logStartAudio(dataObj:ContextMessageTransferData) | ||
| public | logLoadMedia(dataObj:ContextMessageTransferData) | ||
| public | logStartMedia(dataObj:ContextMessageTransferData) | ||
| public | startProblemFull(dataObj:ContextMessageTransferData) | ||
| public | sendContextMessage(dataObj:ContextMessageTransferData) | ||
| public | checkProblemStartedAndStartMessageSent(semanticEventName:String) | ||
| public | logAction(theSelection:String, theAction:String, theInput:String, theActionEvaluation:String, theText:String, arSkillName:Array, arSkillCategory:Array) | ||
| public | logActionFull(theSemanticTrigger:String, theSemanticSubType:String, theSelection:String, theAction:String, theInput:String, theActionEvaluation:String, theText:String, arSkillName:Array, arSkillCategory:Array, arSkillModel:Array, theSkillProbability:String, theSkillBuggy:String) | ||
| public | logAttempt(theTransactionID:String, theSelection:String, theAction:String, theInput:String) | ||
| public | logAttemptFull(theTransactionID:String, theSemanticTrigger:String, theSemanticSubType:String, theSelection:String, theAction:String, theInput:String, theSemanticEventName:String) | ||
| public | logResult(theTransactionID:String, theSelection:String, theAction:String, theInput:String, theActionEvaluation:String, theText:String, arSkillName:Array, arSkillCategory:Array) | ||
| public | logResultFull(theTransactionID:String, theSemanticTrigger:String, theSemanticSubType:String, theSelection:String, theAction:String, theInput:String, theActionEvaluation:String, theText:String, arSkillName:Array, arSkillCategory:Array, arSkillModel:Array, theSkillProbability:String, theSkillBuggy:String, theSemanticEventName:String) | ||
| public | logHint(theSelection:String, theAction:String, theInput:String, theActionEvaluation:String, theText:String, theHintLevel:String, theNumberOfHints:String, arSkillName:Array, arSkillCategory:Array) | ||
| public | logHintFull(theSemanticTrigger:String, theSemanticSubType:String, theSelection:String, theAction:String, theInput:String, theActionEvaluation:String, theText:String, theHintLevel:String, theNumberOfHints:String, arSkillName:Array, arSkillCategory:Array, arSkillModel:Array, theSkillProbability:String, theSkillBuggy:String) | ||
| public | logHintRequest(theTransactionID:String, theSelection:String, theAction:String, theInput:String) | ||
| public | logHintRequestFull(theTransactionID:String, theSemanticTrigger:String, theSemanticSubType:String, theSelection:String, theAction:String, theInput:String) | ||
| public | logHintMessage(theTransactionID:String, theSelection:String, theAction:String, theInput:String, theActionEvaluation:String, theText:String, theHintLevel:String, theNumberOfHints:String, arSkillName:Array, arSkillCategory:Array) | ||
| public | logHintMessageFull(theTransactionID:String, theSemanticTrigger:String, theSemanticSubType:String, theSelection:String, theAction:String, theInput:String, theActionEvaluation:String, theText:String, theHintLevel:String, theNumberOfHints:String, arSkillName:Array, arSkillCategory:Array, arSkillModel:Array, theSkillProbability:String, theSkillBuggy:String) | ||
| public | logMediaPlay(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logVideoPlay(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logAudioPlay(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logMediaStop(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logVideoStop(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logAudioStop(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logMediaPause(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logVideoPause(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logAudioPause(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logMediaClose(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logVideoClose(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logAudioClose(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logMediaEnd(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logVideoEnd(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logAudioEnd(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logMediaMute(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logVideoMute(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logAudioMute(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logMediaUnmute(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logVideoUnmute(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logAudioUnmute(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logMediaNextClip(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logVideoNextClip(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logAudioNextClip(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logMediaPreviousClip(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logVideoPreviousClip(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logAudioPreviousClip(theSelection:String, theMediaFile:String, theClipLength:String, theTime:String, messageText:String) | ||
| public | logMediaVolumeChange(theSelection:String, theMediaFile:String, theClipLength:String, time:String, start_level:String, final_level:String, messageText:String) | ||
| public | logVideoVolumeChange(theSelection:String, theMediaFile:String, theClipLength:String, time:String, start_level:String, final_level:String, messageText:String) | ||
| public | logAudioVolumeChange(theSelection:String, theMediaFile:String, theClipLength:String, time:String, start_level:String, final_level:String, messageText:String) | ||
| public | logMediaCue(theSelection:String, theMediaFile:String, theClipLength:String, theStartTime:String, theStopTime:String, messageText:String) | ||
| public | logVideoCue(theSelection:String, theMediaFile:String, theClipLength:String, theStartTime:String, theStopTime:String, messageText:String) | ||
| public | logAudioCue(theSelection:String, theMediaFile:String, theClipLength:String, theStartTime:String, theStopTime:String, messageText:String) | ||
| public | logVideo(ptheSelection:Array, ptheSelectionType:Array, ptheAction:Array, ptheActionType:Array, ptheInput:Array, ptheInputType:Array, messageText:String, semanticEventName:String) | ||
| public | logVideoFull(theTransactionID:String, theSemanticTrigger:String, theSemanticSubType:String, ptheSelection:Array, ptheSelectionType:Array, ptheAction:Array, ptheActionType:Array, ptheInput:Array, ptheInputType:Array, theActionEvaluation:String, messageText:String, theSemanticEventName) | ||
| public | TutorLog(theTransactionID:String, theActionMsgSource:String, theSemanticEventName:String, theSemanticTrigger:String, theSemanticSubType:String, theSelection:String, theAction:String, theInput:String, theActionEvaluation:String, theText:String, theHintLevel:String, theNumberOfHints:String, arSkillName:Array, arSkillCategory:Array, arSkillModelName:Array, skillProbability:String, skillBuggy:String) | ||
| public | SendLog(infoString:String, theActionMsgDescription:String) | ||
| public | logSessionMessage(plog_service_url:String, pauth_token:String, psession_id:String, puser_guid:String) | ||
| public | simpleSessionLog(plog_service_url:String, pauth_token:String, psession_id:String, puser_guid:String) | ||
| public | SessionLog(sessionObj:SessionMessageTransferData) | ||
| public | static | userAndSessionValidityWarning(theField:String, theValue:String, fieldSetBy:String) | |
| public | checkUserAndSessionValidity(theField:String, theValue:String, fieldSetBy:String) | ||
| public | detectOldShell() | ||
| public | checkTutorCompatibility(theVersion:String) | ||
| public | setTheSessionObj(theValue:SessionMessageTransferData) | ||
| public | SessionMessageTransferData | getTheSessionObj() | |
| public | ContextMessageTransferData | createContextMessageTransferData() | |
| public | SessionMessageTransferData | createSessionMessageTransferData() | |
| public | getMetaDataHeader(pTabLevel:Array) | ||
| public | ContextMessageTransferData | getDefaultDataObj() | |
| public | setTheDataObj(theValue:ContextMessageTransferData) | ||
| public | ContextMessageTransferData | getTheDataObj() | |
| public | null | traceDataObject(dataObj:ContextMessageTransferData) | |
| public | getGuid() | ||
| public | getClassVersion() | ||
| public | getDTDversion() | ||
| public | escapeXML(xmlToEscape1:String) | ||
| public | null | caseInsIndexOf(string1:String, string2:String) |
static version:String = "2.3.8"
static DTDversion:String = "4"
CommLoggingLibrary()
The constructor is not used to set class properties. The startProblem method is more generally used for this purpose because the library may be used for more than one problem on one SWF and so there is a need to initialize variables repeatedly. This is not the case with CTAT Pseudo Tutors but it is anticipated with other systems that will use this logging library. I added System.security.allowDomain("*") which allows this SWF to be scripted by a localhost tutor that loads it. That is a Flash 8 security thing.
dispatchEvent()
addEventListener()
removeEventListener()
public gettabLevel():Array
public setProblemStarted(isStarted:Boolean):Void
Set the state of the problem to be started or not. This is used in conjunction with the startProblem method and the logging methods.
public getProblemStarted():Boolean
Get the state of the problem, whether it is started or not. This is used in conjunction with the startProblem method and the logging methods.
public setStartMessageSent(theValue:Boolean):Void
Set teh state of the Start Tool Message.
public getStartMessageSent():Boolean
Get the state of the problem, whether it is started or not. This is used in conjunction with the startProblem method and the logging methods.
public setsessionEstablished(newValue:Boolean):Void
Used for session management If not using OLI then I would expect that the author would call simpleSessionLog or sessionLog. If using OLI, then the author wouldn't call simpleSessionLog. The library then gets the session data through flashvars by way of startProblem or startProblemOld.
- Parameters
newValue (Boolean)- = a boolean.
public getsessionEstablished():Boolean
public startProblemOld(log_service_url:String,
question_file:String,
problem_name:String,
course_name:String,
unit_name:String,
section_name:String,
school_name:String,
user_guid:String,
session_id:String,
container_id:String,
source_id:String,
external_object_id:String,
auth_token:String):Void
This method initiates the logging of a problem. It builds two messages that are sent to the logging server, a start message and a curriculum message. When beginning to log a problem, call this method with all the background parameters needed to log. Note that the .FLA/.SWF that instantiates this class will call this method when it loads.
This method should generally be called for each problem that is shown in a tutor SWF. The CTAT Pseudo Tutors have one problem per Tutor SWF but other tutors will load multiple problems into the same SWF. In the latter situation, the problem_name parameter will likely change.
The parameters for this method describe the user, the problem, the session, etc. But they don't include the student data such as selection, action, and input Those are passed to the individual method calls such as logAction. CTAT normally sources the parameter values from the flashvars parameter of the HTML Object tag. (See CTAT_FlashPublish page). You can pass those values to the logging methods.
parameters
log_service_url: This is a web service for logging. PSLC logging server is http://learnlab.web.cmu.edu/log/server
problem_name: This is the name of the problem.
question_file: This is a reference to a file that contains questions. For CTAT, it is the .BRD Behavior Graph model, an xml document.
course_name: The name of the course or curriculum.
unit_name: The unit name, related to the course.
section_name: The section name, related to the course.
school_name: The name of the school for the tutor.
user_guid: A unique user id. If using OLI to serve pages, they supply this from their authentication system. If serving outside OLI, consider writing this with a JSP etc.
session_id: A unique session ID. Each time a student logs in they should get a new session ID. If using OLI to serve pages, they supply this from their authentication system. If serving outside OLI, consider writing this with a JSP etc.
container_id: A unique ID. If using OLI to serve pages, they supply this from their authentication system. If serving outside OLI, consider writing this with a JSP etc.
source_id: The name of the tutor source. CTAT uses CTAT_PACT.
external_object_id: A unique Object ID. If using OLI to serve pages, they supply this from their authentication system. If serving outside OLI, consider writing this with a JSP etc.
auth_token: A authorization token. If using OLI to serve pages, they supply this from their authentication system. If serving outside OLI, consider writing this with a JSP etc.
public logLoadTutor(dataObj:ContextMessageTransferData):Void
Log the context message. uses LOAD_TUTOR for context name. Note, the context message name will default to LOAD_TUTOR if it hasn't been set in the dataObj getthe_action_msg_type param (default changed from START_TUTOR in v2.3.1)
This maps to the Data Shop Tutor Message DTD. See tutor_message_v4.xml and tutor_message_v4.dtd ( http://learnlab.web.cmu.edu/dtd/) This method is a wrapper, replacement for startProblem. See also logLoadVideo, logLoadAudio, logLoadMedia and startProblemFull
- Parameters
dataObj (ContextMessageTransferData)- = a instance of ContextMessageTransferData. The author should have instantiated this and set data such as the problem, study condition etc. The library has a method named getDefaultDataObj() to generate a data object, populated by flashvars values.
public logStartTutor(dataObj:ContextMessageTransferData):Void
Log the context message . uses START_TUTOR for context name. Note, the context message name will default to LOAD_TUTOR if it hasn't been set in the dataObj getthe_action_msg_type param (default changed from START_TUTOR in v2.3.1)
This maps to the Data Shop Tutor Message DTD. See tutor_message_v4.xml and tutor_message_v4.dtd ( http://learnlab.web.cmu.edu/dtd/) This method is a wrapper, replacement for startProblem. See also logLoadVideo, logLoadAudio, logLoadMedia and startProblemFull
- Parameters
dataObj (ContextMessageTransferData)- = a instance of ContextMessageTransferData. The author should have instantiated this and set data such as the problem, study condition etc. The library has a method named getDefaultDataObj() to generate a data object, populated by flashvars values.
public startProblem(dataObj:ContextMessageTransferData):Void
Log the context message . uses LOAD_TUTOR for context name. Note, the context message name will default to LOAD_TUTOR if it hasn't been set in the dataObj getthe_action_msg_type param (default changed from START_TUTOR in v2.3.1)
This maps to the Data Shop Tutor Message DTD. See tutor_message_v4.xml and tutor_message_v4.dtd ( http://learnlab.web.cmu.edu/dtd/) This method is an upgrade of startProblem to the Data Shop V4 DTD. See also logLoadVideo, logLoadAudio, logLoadMedia and startProblemFull
- Parameters
dataObj (ContextMessageTransferData)- = a instance of ContextMessageTransferData. The author should have instantiated this and set data such as the problem, study condition etc. The library has a method named getDefaultDataObj() to generate a data object, populated by flashvars values.
public logLoadVideo(dataObj:ContextMessageTransferData):Void
Log the context message . uses LOAD_VIDEO for context name.
Create the start message and the curriculum message with name LOAD_VIDEO
This maps to the Data Shop Tutor Message DTD. See tutor_message_v4.xml and tutor_message_v4.dtd ( http://learnlab.web.cmu.edu/dtd/)
- Parameters
dataObj (ContextMessageTransferData)- = a instance of ContextMessageTransferData. The author should have instantiated this and set data such as the problem, study condition etc. The library has a method named getDefaultDataObj() to generate a data object, populated by flashvars values.
public logStartVideo(dataObj:ContextMessageTransferData):Void
Log the context message . uses START_VIDEO for context name.
Create the start message and the curriculum message with name LOAD_VIDEO
This maps to the Data Shop Tutor Message DTD. See tutor_message_v4.xml and tutor_message_v4.dtd ( http://learnlab.web.cmu.edu/dtd/)
- Parameters
dataObj (ContextMessageTransferData)- = a instance of ContextMessageTransferData. The author should have instantiated this and set data such as the problem, study condition etc. The library has a method named getDefaultDataObj() to generate a data object, populated by flashvars values.
public logLoadAudio(dataObj:ContextMessageTransferData):Void
Log the context message . uses LOAD_AUDIO for context name.
Create the start message and the curriculum message with name LOAD_AUDIO
This maps to the Data Shop Tutor Message DTD. See tutor_message_v4.xml and tutor_message_v4.dtd ( http://learnlab.web.cmu.edu/dtd/)
- Parameters
dataObj (ContextMessageTransferData)- = a instance of ContextMessageTransferData. The author should have instantiated this and set data such as the problem, study condition etc. The library has a method named getDefaultDataObj() to generate a data object, populated by flashvars values.
public logStartAudio(dataObj:ContextMessageTransferData):Void
Log the context message . uses START_AUDIO for context name.
Create the start message and the curriculum message with name LOAD_AUDIO
This maps to the Data Shop Tutor Message DTD. See tutor_message_v4.xml and tutor_message_v4.dtd ( http://learnlab.web.cmu.edu/dtd/)
- Parameters
dataObj (ContextMessageTransferData)- = a instance of ContextMessageTransferData. The author should have instantiated this and set data such as the problem, study condition etc. The library has a method named getDefaultDataObj() to generate a data object, populated by flashvars values.
public logLoadMedia(dataObj:ContextMessageTransferData):Void
Log the context message . uses LOAD_MEDIA for context name.
Create the start message and the curriculum message with name LOAD_MEDIA
This maps to the Data Shop Tutor Message DTD. See tutor_message_v4.xml and tutor_message_v4.dtd ( http://learnlab.web.cmu.edu/dtd/)
- Parameters
dataObj (ContextMessageTransferData)- = a instance of ContextMessageTransferData. The author should have instantiated this and set data such as the problem, study condition etc. The library has a method named getDefaultDataObj() to generate a data object, populated by flashvars values.
public logStartMedia(dataObj:ContextMessageTransferData):Void
Log the context message . uses START_MEDIA for context name.
Create the start message and the curriculum message with name LOAD_MEDIA
This maps to the Data Shop Tutor Message DTD. See tutor_message_v4.xml and tutor_message_v4.dtd ( http://learnlab.web.cmu.edu/dtd/)
- Parameters
dataObj (ContextMessageTransferData)- = a instance of ContextMessageTransferData. The author should have instantiated this and set data such as the problem, study condition etc. The library has a method named getDefaultDataObj() to generate a data object, populated by flashvars values.
public startProblemFull(dataObj:ContextMessageTransferData):Void
Create the curriculum message.
This method does the bulk of the work for the startProblem, logLoadProblem,logLoadVideo, logLoadAudio and logLoadMeida. Each of those methods sets the msg type (e.g., START_VIDEO) and msg source (e.g., TOOL_ACTION) using setthe_action_msg_type and setthe_action_msg_source. This maps to the Data Shop Tutor Message DTD. See tutor_message_v4.xml and tutor_message_v4.dtd ( http://learnlab.web.cmu.edu/dtd/) This method is an upgrade of startProblem to the Data Shop V4 DTD.
- Parameters
dataObj (ContextMessageTransferData)- = a instance of ContextMessageTransferData. The author should have instantiated this and set data such as the problem, study condition etc. The library has a method named getDefaultDataObj() to generate a data object, populated by flashvars values.
public checkProblemStartedAndStartMessageSent(semanticEventName:String):Void
- Parameters
semanticEventName (String)- = "START_TUTOR", "START_VIDEO" etc.
public logAction(theSelection:String,
theAction:String,
theInput:String,
theActionEvaluation:String,
theText:String,
arSkillName:Array,
arSkillCategory:Array):Void
A combined method for Attempt and Result messages. See the logAttempt and logResult methods for descriptions. Use this technique if you want to combine user input and assessment into one statement. CTAT Pseudo Tutors separate and use the individual method calls. One advantage to separate methods for Attempt and Result is the ability to set different values for Selection, Action, and Input (SAI). For example, to record the intended SAI on an erroneous action.
Parameters
theSelection: This is a unique identifier within the problem of what the user is interacting with. For example, in CTAT, this is often the name of a text field but in a language tutor, this could identify a audio clip that the student is listening. This maps to the selection element of the event descriptor element of the Data Shop Tutor Message DTD.
theAction: A domain specific action that is done against the selection. This maps to the action element of the Data Shop Tutor Message DTD. Examples:
- For a Button: ButtonPressed
- For a ComboBox: UpdateComboBox
- For a label: UpdateIcon
- For a RadioButton: UpdateRadioButton
- For a Table: UpdateTable
- For a Text Area: UpdateTextArea
- For a Text Field: UpdateTextField
- For a List: UpdateList
- For a Chooser: UpdateChooser
- For a Composer: UpdateComposer
- For a MultipleChoice: UpdateMultipleChoice
- For a QuestionTextField: UpdateQuestionTextField
theInput: This is meant to capture the value of the user's interaction. For example, the value typed into a text field. This maps to the input element of the Data Shop Tutor Message DTD.
theActionEvaluation: This describes the tutor assessment of the student action. Values include CORRECT, BUG, and INCORRECT.
theText: This is meant to capture feedback text that is shown to the student. For example, the success message. This maps to the tutor_advice element of the Tutor Message in the Data Shop Tutor Message DTD.
arSkillName: This parameter is meant to record a skill associated with the user's action. A Array of strings.
arSkillCategory: This parameter is meant to record a category of a skill.
public logActionFull(theSemanticTrigger:String,
theSemanticSubType:String,
theSelection:String,
theAction:String,
theInput:String,
theActionEvaluation:String,
theText:String,
arSkillName:Array,
arSkillCategory:Array,
arSkillModel:Array,
theSkillProbability:String,
theSkillBuggy:String):Void
See logAction This method contains extra params such as theSemanticTrigger, theSemanticSubType, arSkillModel, theSkillProbability, and theSkillBuggy. These extra params are seldom used and this method is avaialable for more advanced logging.
public logAttempt(theTransactionID:String,
theSelection:String,
theAction:String,
theInput:String):Void
A method for Attempt messages. This is meant to capture data about the user action but not about any assessment of the action (i.e., correct, incorrect).
Parameters
theCommonSemanticEventID: This is a unique ID assigned to each tool-tutor action pair in order to link them logically. This value is assigned in two places that map in the Data Shop Tutor Message DTD. First, it maps to the id of the sematic_event tag of Tool messages. Second, it maps to the semantic_event_id of the semantic_event tag of the Tutor messages. Pass this ID to map to the id parameter of the semantic_event tag. If you're calling logAttempt and logResult separately, please use the same value in both calls. You can use the getGuid method to get IDs Finally, if you use the logAction method, the ID is generated by that method and used in both calls.
theSelection: See logAction method.
theAction: See logAction method.
theInput: See logAction method.
public logAttemptFull(theTransactionID:String,
theSemanticTrigger:String,
theSemanticSubType:String,
theSelection:String,
theAction:String,
theInput:String,
theSemanticEventName:String):Void
See logAttempt This method contains extra params such as theSemanticTrigger, theSemanticSubType These extra params are seldom used or have default values in other methods.
- Parameters
public logResult(theTransactionID:String,
theSelection:String,
theAction:String,
theInput:String,
theActionEvaluation:String,
theText:String,
arSkillName:Array,
arSkillCategory:Array):Void
A method for Result messages. This is meant to capture data about the assessment of the action (i.e., correct, incorrect) not the user action.
Parameters
theTransactionID: Pass this ID to map to the id parameter of the semantic_event tag. You can use getGuid() to get a ID. Note that this id should match the semantic_event_id parameter of the semantic_event tag for a result, so if you're calling logAttempt and logResult separately, please use the same value in both calls. Note that if you use the logAction method, the ID is generated by that method and used in both calls.
theTutorMsgSemanticEventID: This is a unique ID assigned to the id parameter of the semantic_event tag of the tutor_message in the Data Shop Tutor Message DTD.
theSelection: See logAction method.
theAction: See logAction method.
theInput: See logAction method.
theActionEvaluation: This describes the tutor assessment of the student action. Values include CORRECT, BUG, and INCORRECT. BUG means error.
theText: This is meant to capture feedback text that is shown to the student. For example, the success/bug message.
arSkillName: This parameter is meant to record a skill associated with the user's action. A Array of strings.
arSkillCategory: This parameter is meant to record a category of a skill.
public logResultFull(theTransactionID:String,
theSemanticTrigger:String,
theSemanticSubType:String,
theSelection:String,
theAction:String,
theInput:String,
theActionEvaluation:String,
theText:String,
arSkillName:Array,
arSkillCategory:Array,
arSkillModel:Array,
theSkillProbability:String,
theSkillBuggy:String,
theSemanticEventName:String):Void
See logResult This method contains extra params such as theSemanticTrigger, theSemanticSubType, arSkillModel, theSkillProbability, and theSkillBuggy. These extra params are seldom used and this method is avaialable for more advanced logging.
public logHint(theSelection:String,
theAction:String,
theInput:String,
theActionEvaluation:String,
theText:String,
theHintLevel:String,
theNumberOfHints:String,
arSkillName:Array,
arSkillCategory:Array):Void
This is a combined hint request and hint messages. See the logHintRequest and logHIntResponse methods for descriptions. Use this technique if you want to combine user request and system response into one statement. CTAT Pseudo Tutors separate and use the individual method calls. One advantage to separate methods for Attempt and Result is the ability to set different values for Selection, Action, and Input (SAI) where the selection of the hint is the hint button but the user is getting a hint on a text field.
Parameters
theSelection: See logAction method.
theAction: See logAction method.
theInput: See logAction method.
theActionEvaluation: This describes the tutor assessment of the student action. For example "HINT".
theText: This is meant to capture feedback text that is shown to the student.
theHintLevel: This parameter is meant to record a hint sequence. For example, 2 for the second hint.
theNumberOfHints: This parameter is meant to record the total number of hints that are part of a hint sequence. This maps to the skill element of the Tutor Message in the Data Shop Tutor Message DTD.
arSkillName: This parameter is meant to record a skill associated with the user's action. A Array of strings.
arSkillCategory: This parameter is meant to record a category of a skill.
arSkillModel: A model. Hao Cen does work in this area. (hcen@andrew.cmu.edu)
theSkillProbability:
theSkillName:
*arSkillName: This parameter is meant to record a skill associated with the user's action. A Array of strings.
arSkillCategory: This parameter is meant to record a category of a skill.
public logHintFull(theSemanticTrigger:String,
theSemanticSubType:String,
theSelection:String,
theAction:String,
theInput:String,
theActionEvaluation:String,
theText:String,
theHintLevel:String,
theNumberOfHints:String,
arSkillName:Array,
arSkillCategory:Array,
arSkillModel:Array,
theSkillProbability:String,
theSkillBuggy:String):Void
See logHint This method contains extra params such as theSemanticTrigger, theSemanticSubType, arSkillModel, theSkillProbability, and theSkillBuggy. These extra params are seldom used and this method is avaialable for more advanced logging.
public logHintRequest(theTransactionID:String,
theSelection:String,
theAction:String,
theInput:String):Void
This method is meant to log the user's action in requesting a hint.
Parameters
theTransactionID: This is a unique ID assigned to each tool-tutor action pair in order to link them logically. This value is assigned in two places that map in the Data Shop Tutor Message DTD. First, it maps to the id of the sematic_event tag of Tool messages. Second, it maps to the semantic_event_id of the semantic_event tag of the Tutor messages. Pass this ID to map to the id parameter of the semantic_event tag. If you're calling logAttempt and logResult separately, please use the same value in both calls. You can use the getGuid method to get IDs Finally, if you use the logAction method, the ID is generated by that method and used in both calls.
theSelection: See logAction method.
theAction: See logAction method.
theInput: See logAction method.
public logHintRequestFull(theTransactionID:String,
theSemanticTrigger:String,
theSemanticSubType:String,
theSelection:String,
theAction:String,
theInput:String):Void
See logHintRequest This method contains extra params such as theSemanticTrigger, theSemanticSubType. These extra params are seldom used and this method is avaialable for more advanced logging.
public logHintMessage(theTransactionID:String,
theSelection:String,
theAction:String,
theInput:String,
theActionEvaluation:String,
theText:String,
theHintLevel:String,
theNumberOfHints:String,
arSkillName:Array,
arSkillCategory:Array):Void
Paramaters
theTransactionID: Pass this ID to map to the id parameter of the semantic_event tag. You can use getGuid() to get a ID. Note that this id should match the semantic_event_id parameter of the semantic_event tag for a result, so if you're calling logAttempt and logResult separately, please use the same value in both calls. Note that if you use the logAction method, the ID is generated by that method and used in both calls.
theTutorMsgSemanticEventID: This is a unique ID assigned to the id parameter of the semantic_event tag of the tutor_message in the Data Shop Tutor Message DTD.
theSelection: See logAction method.
theAction: See logAction method.
theInput: See logAction method.
theActionEvaluation: This describes the tutor assessment of the student action. For example "HINT".
theText: This is meant to capture feedback text that is shown to the student.
theHintLevel: This parameter is meant to record a hint sequence. For example, 2 for the second hint.
theNumberOfHints: This parameter is meant to record the total number of hints that are part of a hint sequence.
arSkillName: This parameter is meant to record a skill associated with the user's action. A Array of strings.
arSkillCategory: This parameter is meant to record a category of a skill.
arSkillModel: A model. Hao Cen does work in this area. (hcen@andrew.cmu.edu)
theSkillProbability:
theSkillBuggy: This maps to the skill element of the Tutor Message in the Data Shop Tutor Message DTD.
public logHintMessageFull(theTransactionID:String,
theSemanticTrigger:String,
theSemanticSubType:String,
theSelection:String,
theAction:String,
theInput:String,
theActionEvaluation:String,
theText:String,
theHintLevel:String,
theNumberOfHints:String,
arSkillName:Array,
arSkillCategory:Array,
arSkillModel:Array,
theSkillProbability:String,
theSkillBuggy:String):Void
Full version of logHint. Contains parameters for theSematnicTrigger, theSemanticSubType, arSkillModel, theSkillProbability, theSkillBuggy
public logMediaPlay(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
play . see logPlay . Semantic Name = MEDIA_ACTION
- Parameters
theSelection (String)- = a string e.g., _level0.VideoPlayerInstance1.buttontheMediaFile (String)- = the name of the media file = mymovie.flv. Translated intomymovie.flv theClipLength (String)- = the length of the media in seconds. e.g., 2.456
public logVideoPlay(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
play. see logPlay. Semantic Name = VIDEO_ACTION
- Parameters
theSelection (String)- = a string e.g., _level0.VideoPlayerInstance1.buttontheMediaFile (String)- = the name of the media file = mymovie.flv. Translated intomymovie.flv theClipLength (String)- = the length of the media in seconds. e.g., 2.456
public logAudioPlay(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
play. see logPlay. Semantic Name = AUDIO_ACTION
- Parameters
theSelection (String)- = a string e.g., _level0.VideoPlayerInstance1.buttontheMediaFile (String)- = the name of the media file = mymovie.flv. Translated intomymovie.flv theClipLength (String)- = the length of the media in seconds. e.g., 2.456
public logMediaStop(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
stop. Semantic Name = MEDIA_ACTION
- Parameters
theSelection (String)- = a string e.g., _level0.VideoPlayerInstance1.buttontheMediaFile (String)- = the name of the media file = mymovie.flv. Translated intomymovie.flv messageText (String)- = a text message that describes the event
public logVideoStop(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
stop. Semantic Name = MEDIA_ACTION
- Parameters
theSelection (String)- = a string e.g., _level0.VideoPlayerInstance1.buttontheMediaFile (String)- = the name of the media file = mymovie.flv. Translated intomymovie.flv theClipLength (String)- = the length of the media in seconds. e.g., 2.456messageText (String)- = a text message that describes the event
public logAudioStop(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
stop. Semantic Name = AUDIO_ACTION
- Parameters
theSelection (String)- = a string e.g., _level0.VideoPlayerInstance1.buttontheMediaFile (String)- = the name of the media file = mymovie.flv. Translated intomymovie.flv theClipLength (String)- = the length of the media in seconds. e.g., 2.456messageText (String)- = a text message that describes the event
public logMediaPause(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
Pause. Semantic Name = MEDIA_ACTION Pause. time is location in clip where playback was paused See https://learnlab.web.cmu.edu/dtd/media_logging.doc
- Parameters
theSelection (String)- = a string e.g., _level0.VideoPlayerInstance1.buttontheMediaFile (String)- = the name of the media file = mymovie.flv. Translated intomymovie.flv theClipLength (String)- = the length of the media in seconds. e.g., 2.456messageText (String)- = a text message that describes the event
public logVideoPause(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
Pause. Semantic Name = VIDEO_ACTION
- Parameters
theSelection (String)- = a string e.g., _level0.VideoPlayerInstance1.buttontheMediaFile (String)- = the name of the media file = mymovie.flv. Translated intomymovie.flv messageText (String)- = a text message that describes the event
public logAudioPause(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
Pause. Semantic Name = AUDIO_ACTION
- Parameters
theSelection (String)- = a string e.g., _level0.VideoPlayerInstance1.buttontheMediaFile (String)- = the name of the media file = mymovie.flv. Translated intomymovie.flv messageText (String)- = a text message that describes the event
public logMediaClose(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
close. time is location in current clip when media was closed. Semantic Name = MEDIA_ACTION See https://learnlab.web.cmu.edu/dtd/media_logging.doc
- Parameters
theSelection (String)- = a string e.g., _level0.VideoPlayerInstance1.buttontheMediaFile (String)- = the name of the media file = mymovie.flv. Translated intomymovie.flv theClipLength (String)- = the length of the media in seconds. e.g., 2.456messageText (String)- = a text message that describes the event
public logVideoClose(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
close. time is location in current clip when media was closed. Semantic Name = VIDEO_ACTION See https://learnlab.web.cmu.edu/dtd/media_logging.doc
- Parameters
theSelection (String)- = a string e.g., _level0.VideoPlayerInstance1.buttontheMediaFile (String)- = the name of the media file = mymovie.flv. Translated intomymovie.flv theClipLength (String)- = the length of the media in seconds. e.g., 2.456messageText (String)- = a text message that describes the event
public logAudioClose(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
close. time is location in current clip when media was closed. Semantic Name = AUDIO_ACTION See https://learnlab.web.cmu.edu/dtd/media_logging.doc
- Parameters
theSelection (String)- = a string e.g., _level0.VideoPlayerInstance1.buttontheMediaFile (String)- = the name of the media file = mymovie.flv. Translated intomymovie.flv theClipLength (String)- = the length of the media in seconds. e.g., 2.456messageText (String)- = a text message that describes the event
public logMediaEnd(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
end. Semantic Name = MEDIA_ACTION See https://learnlab.web.cmu.edu/dtd/media_logging.doc
- Parameters
theSelection (String)- = a string e.g., _level0.VideoPlayerInstance1.buttontheMediaFile (String)- = the name of the media file = mymovie.flv. Translated intomymovie.flv theClipLength (String)- = the length of the media in seconds. e.g., 2.456messageText (String)- = a text message that describes the event
public logVideoEnd(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
end. Semantic Name = VIDEO_ACTION See https://learnlab.web.cmu.edu/dtd/media_logging.doc
- Parameters
theSelection (String)- = a string e.g., _level0.VideoPlayerInstance1.buttontheMediaFile (String)- = the name of the media file = mymovie.flv. Translated intomymovie.flv theClipLength (String)- = the length of the media in seconds. e.g., 2.456messageText (String)- = a text message that describes the event
public logAudioEnd(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
end. Semantic Name = AUDIO_ACTION See https://learnlab.web.cmu.edu/dtd/media_logging.doc
- Parameters
theSelection (String)- = a string e.g., _level0.VideoPlayerInstance1.buttontheMediaFile (String)- = the name of the media file = mymovie.flv. Translated intomymovie.flv theClipLength (String)- = the length of the media in seconds. e.g., 2.456messageText (String)- = a text message that describes the event
public logMediaMute(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
mute. time is location in clip when this action occurred. Semantic Name = MEDIA_ACTION See https://learnlab.web.cmu.edu/dtd/media_logging.doc
- Parameters
public logVideoMute(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
mute. time is location in clip when this action occurred. Semantic Name = VIDEO_ACTION See https://learnlab.web.cmu.edu/dtd/media_logging.doc
- Parameters
public logAudioMute(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
mute. time is location in clip when this action occurred. Semantic Name = AUDIO_ACTION See https://learnlab.web.cmu.edu/dtd/media_logging.doc
- Parameters
public logMediaUnmute(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
unmute. time is location in clip when this action occurred. Semantic Name = MEDIA_ACTION See https://learnlab.web.cmu.edu/dtd/media_logging.doc
- Parameters
public logVideoUnmute(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
unmute. time is location in clip when this action occurred. Semantic Name = VIDEO_ACTION See https://learnlab.web.cmu.edu/dtd/media_logging.doc
- Parameters
public logAudioUnmute(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
unmute. time is location in clip when this action occurred. Semantic Name = AUDIO_ACTION See https://learnlab.web.cmu.edu/dtd/media_logging.doc
- Parameters
public logMediaNextClip(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
next_clip. move to the next media clip; time is location in current clip when this action occurred. Semantic Name = MEDIA_ACTION See https://learnlab.web.cmu.edu/dtd/media_logging.doc
- Parameters
public logVideoNextClip(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
next_clip. move to the next media clip; time is location in current clip when this action occurred. Semantic Name = VIDEO_ACTION See https://learnlab.web.cmu.edu/dtd/media_logging.doc
- Parameters
public logAudioNextClip(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
next_clip. move to the next media clip; time is location in current clip when this action occurred. Semantic Name = AUDIO_ACTION See https://learnlab.web.cmu.edu/dtd/media_logging.doc
- Parameters
public logMediaPreviousClip(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
Previous_clip. move to the Previous media clip; time is location in current clip when this action occurred. Semantic Name = MEDIA_ACTION See https://learnlab.web.cmu.edu/dtd/media_logging.doc
- Parameters
public logVideoPreviousClip(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
previous_clip. move to the previous media clip; time is location in current clip when this action occurred. Semantic Name = v See https://learnlab.web.cmu.edu/dtd/media_logging.doc
- Parameters
public logAudioPreviousClip(theSelection:String,
theMediaFile:String,
theClipLength:String,
theTime:String,
messageText:String):Void
previous_clip. move to the previous media clip; time is location in current clip when this action occurred. Semantic Name = AUDIO_ACTION See https://learnlab.web.cmu.edu/dtd/media_logging.doc
- Parameters
public logMediaVolumeChange(theSelection:String,
theMediaFile:String,
theClipLength:String,
time:String,
start_level:String,
final_level:String,
messageText:String):Void
volume_change. Semantic Name = MEDIA_ACTION See https://learnlab.web.cmu.edu/dtd/media_logging.doc
- Parameters
theSelection (String)- = a string e.g., _level0.VideoPlayerInstance1.buttontheMediaFile (String)- = the name of the media file = mymovie.flv. Translated intomymovie.flv start_level (String)- = initial volume level in a scale from 0 to 100.messageText (String)- = text describing the action.
public logVideoVolumeChange(theSelection:String,
theMediaFile:String,
theClipLength:String,
time:String,
start_level:String,
final_level:String,
messageText:String):Void
volume_change. Semantic Name = VIDEO_ACTION See https://learnlab.web.cmu.edu/dtd/media_logging.doc
- Parameters
theSelection (String)- = a string e.g., _level0.VideoPlayerInstance1.buttontheMediaFile (String)- = the name of the media file = mymovie.flv. Translated intomymovie.flv start_level (String)- = initial volume level in a scale from 0 to 100.messageText (String)- = text describing the action.
public logAudioVolumeChange(theSelection:String,
theMediaFile:String,
theClipLength:String,
time:String,
start_level:String,
final_level:String,
messageText:String):Void
volume_change. Semantic Name = AUDIO_ACTION See https://learnlab.web.cmu.edu/dtd/media_logging.doc
- Parameters
theSelection (String)- = a string e.g., _level0.VideoPlayerInstance1.buttontheMediaFile (String)- = the name of the media file = mymovie.flv. Translated intomymovie.flv start_level (String)- = initial volume level in a scale from 0 to 100.messageText (String)- = text describing the action.
public logMediaCue(theSelection:String,
theMediaFile:String,
theClipLength:String,
theStartTime:String,
theStopTime:String,
messageText:String):Void
Cue. Semantic Name = MEDIA_ACTION
- Parameters
theSelection (String)- = a string e.g., _level0.VideoPlayerInstance1.buttontheMediaFile (String)- = the name of the media file = mymovie.flv. Translated intomymovie.flv messageText (String)- = text describing the action.
public logVideoCue(theSelection:String,
theMediaFile:String,
theClipLength:String,
theStartTime:String,
theStopTime:String,
messageText:String):Void
Cue. Semantic Name = VIDEO_ACTION
- Parameters
theSelection (String)- = a string e.g., _level0.VideoPlayerInstance1.buttontheMediaFile (String)- = the name of the media file = mymovie.flv. Translated intomymovie.flv messageText (String)- = text describing the action.
public logAudioCue(theSelection:String,
theMediaFile:String,
theClipLength:String,
theStartTime:String,
theStopTime:String,
messageText:String):Void
Cue. Semantic Name = AUDIO_ACTION
- Parameters
theSelection (String)- = a string e.g., _level0.VideoPlayerInstance1.buttontheMediaFile (String)- = the name of the media file = mymovie.flv. Translated intomymovie.flv messageText (String)- = text describing the action.
public logVideo(ptheSelection:Array,
ptheSelectionType:Array,
ptheAction:Array,
ptheActionType:Array,
ptheInput:Array,
ptheInputType:Array,
messageText:String,
semanticEventName:String):Void
This is a base method for logging video, audio and video events such as Start, Stop, etc. It was written for the 2.1.0.5 version of the library. This method has a basic signature and would allow an author to extend media logging by passing a new name for the semanticEventName parameter. It calls logVideoFull with null values for any missing parameter values. You can use logVideoFull with extra params if needed.
- Parameters
ptheSelection (Array)- = An array of selection values. The video logging requires multiple SAI and id values for SAI.ptheSelectionType (Array)- = An array of selection IDs. These map to the array ptheSelection. Each Selection, Action and Input can have an ID.ptheAction (Array)- = Array of actionsptheActionType (Array)- = array of action typesptheInput (Array)- = array of inputsptheInputType (Array)- = array of input typesmessageText (String)- = an optional message about the media.semanticEventName (String)- = the semantic name of the media event. E.g., VIDEO_ACTION
public logVideoFull(theTransactionID:String,
theSemanticTrigger:String,
theSemanticSubType:String,
ptheSelection:Array,
ptheSelectionType:Array,
ptheAction:Array,
ptheActionType:Array,
ptheInput:Array,
ptheInputType:Array,
theActionEvaluation:String,
messageText:String,
theSemanticEventName):Void
Logging Video Events such as Start, Stop, Queue etc.
public TutorLog(theTransactionID:String,
theActionMsgSource:String,
theSemanticEventName:String,
theSemanticTrigger:String,
theSemanticSubType:String,
theSelection:String,
theAction:String,
theInput:String,
theActionEvaluation:String,
theText:String,
theHintLevel:String,
theNumberOfHints:String,
arSkillName:Array,
arSkillCategory:Array,
arSkillModelName:Array,
skillProbability:String,
skillBuggy:String):Void
This method is generally not used but it is the core method that all log methods call (except video). So, it is avaialable for users who can't get what they need from the specific log methods. This method assembles data for logging the student data into an XML document that maps to the Data Shop Tutor Message DTD. The data comes from the method parameters and from the flashvars param of HTML Object tag. Once assembled, it sends the data to the SendLog method. Note that it also sends a start message to the server the first time it is called.
Method Parameters
theTransactionID: This is a unique ID assigned to each tool-tutor action pair. It maps to the id parameter of the semantic_event tag of the tool_message in the Data Shop Tutor Message DTD
theActionMsgSource: This describes the character of the message. Values should be either TOOL_ACTION or TUTOR_ACTION. Tool refers to ungraded actions that the user does in the UI while Tutor refers to the system that assesses / grades the user action. An example of a system that grades is the behavior recorder for Pseudo Tutors.
theSemanticEventName: This describes the tool and tutor actions. Tool Values should be one of the following: ATTEMPT, HINT_REQUEST, START_TUTOR. Tutor actions shold be one of the following: RESULT, HINT_MSG, UPDATE_SKILL_MASTERY. This maps to the name parameter of the semantic_event element in the Data Shop Tutor Message DTD.
theSemanticTrigger: Used by CTAT for automatic actions by the tutor. CTAT refers to these as tutor performed actions.
theSemanticSubType: Used by CTAT for automatic actions by the tutor. CTAT refers to these as tutor performed actions.
theSelection: This is the thing that the user is acting on in the tool (UI). For example, the name of a text field. This maps to the selection element of the Data Shop Tutor Message DTD.
theAction: A domain specific action that is done against the selection. This maps to the action element of the Data Shop Tutor Message DTD. Examples:
- For a Button: ButtonPressed
- For a ComboBox: UpdateComboBox
- For a label: UpdateIcon
- For a RadioButton: UpdateRadioButton
- For a Table: UpdateTable
- For a Text Area: UpdateTextArea
- For a Text Field: UpdateTextField
- For a List: UpdateList
- For a Chooser: UpdateChooser
- For a Composer: UpdateComposer
- For a MultipleChoice: UpdateMultipleChoice
- For a QuestionTextField: UpdateQuestionTextField
theInput: This is meant to capture the value of the user's interaction. For example, the value typed into a text field. This maps to the input element of the Data Shop Tutor Message DTD.
theActionEvaluation: This describes the tutor assessment of the student action. Values include CORRECT, BUG, and INCORRECT.
theText: This is meant to capture feedback text that is shown to the student. For example, the hint message text of a hint message or the success/bug message. This maps to the tutor_advice element of the Tutor Message in the Data Shop Tutor Message DTD.
theHintLevel: This parameter is meant to record a hint sequence. For example, 2 for the second hint. This maps to the current_hint_number parameter of the action_evaluation element of the Tutor Message in the Data Shop Tutor Message DTD.
theNumberOfHints: This parameter is meant to record the number of hints that are part of a hint sequence. For example, 3 if there are three hints. This maps to the total_hints_available parameter of the action_evaluation element of the Tutor Message in the Data Shop Tutor Message DTD.
arSkillName: This parameter is meant to record the skills associated with the user's action. This maps to the skill name element of the Tutor Message in the Data Shop Tutor Message DTD.
arSkillCategory: This parameter is meant to record the category of a skill.
arSkillModelName: This parameter is meant to a skill model. Some studies have research on skill models.
skillProbability: Data related to CTAT research.
skillBuggy: Data related to the skills on an incorrect step. CTAT research.
Note, if you're testing in a browser, check out http://www.flashkit.com/tutorials/Tips_And_Techniques/Tracing_-Josh_Buh-1106/index.php
public SendLog(infoString:String,
theActionMsgDescription:String):Void
This method assembles the data that maps to the LOG_ACTION element of the OLI Logging DTD (download). This data comes from the data passed to the startProblem method and from the log methods, such as logAction.
This method also supports insertion of student data in a CDATA child. Commonly, this data comes from the log methods such as logAction. For PSLC data this amounts to an XML document which conforms to the Data Shot Tutor Logging DTD (Download).
This method also handles the mechanics of sending the log messages to the server.
Method Parameters
infoString: This parameter contains the student tutoring data that includes the Selection, Action, and Input. People who aren't logging to the PSLC Data Shop may want to pass a value for infoString that conforms to their own specifications.
theActionMsgDescription: This describes the character of the message. Values should be either TOOL_ACTION or TUTOR_ACTION. Tool refers to ungraded actions that the user does in the UI while Tutor refers to the system that assesses / grades the user action. An example of a system that grades is the behavior recorder for Pseudo Tutors. This parameter often changes and is dependant on the method call so we made it a parameter.
public logSessionMessage(plog_service_url:String,
pauth_token:String,
psession_id:String,
puser_guid:String):Void
Log a Session Message
This is a replacement, for the simpleSessionLog method.
This method assembles the data that maps to the LOG_SESSION_START element of the OLI Logging DTD (download). This is a simple version that doesn't require class_id, treatment_id, assignment_id, and info_type. The Session message is something OLI sends behing the scenes, but if you are logging outside of the OLI, you need to send it!! This maps to the log_session_start element of the OLI logging DTD. This class builds a SessionMessageTransferData instance from the parameters. These are then later used where session is needed i.e., sendLog()
- Parameters
plog_service_url (String)- = a string for the url to log message topauth_token (String)- = a authtentication token.psession_id (String)- = A session id. This is unique to the student's session.puser_guid (String)- = user identifier. Unique to the user.
public simpleSessionLog(plog_service_url:String,
pauth_token:String,
psession_id:String,
puser_guid:String):Void
Deprecated with 2.3.1 and later. Available for backward compatibility.
This method assembles the data that maps to the LOG_SESSION_START element of the OLI Logging DTD (download). This is a simple version that doesn't require class_id, treatment_id, assignment_id, and info_type. The Session message is something OLI sends behing the scenes, but if you are logging outside of the OLI, you need to send it!! This maps to the log_session_start element of the OLI logging DTD. This class builds a SessionMessageTransferData instance from the parameters. These are then later used where session is needed i.e., sendLog()
- Parameters
plog_service_url (String)- = a string for the url to log message topauth_token (String)- = a authtentication token.psession_id (String)- = A session id. This is unique to the student's session.puser_guid (String)- = user identifier. Unique to the user.
public SessionLog(sessionObj:SessionMessageTransferData):Void
This method assembles the data that maps to the LOG_SESSION_START element of the OLI Logging DTD (download).
- Parameters
sessionObj (SessionMessageTransferData)- = a SessionMessageTransferData instance. This instance should have the necessary session information to log.
static public userAndSessionValidityWarning(theField:String,
theValue:String,
fieldSetBy:String):Void
Show a feedback message in the Shell and trace an Exception if theField is invalid.
- Parameters
theField (String)- = the name of a field, e.g., "session_id"theValue (String)- = the value of the theFieldfieldSetBy (String)- = description of the source of the data, that is what it was set by. e.g., "set by value sent to library from tutor";- Returns
- {valid:true, description:the user_guid is valid.}
public checkUserAndSessionValidity(theField:String,
theValue:String,
fieldSetBy:String):Object
Return a message if theField is invalid, that is theValue is undefined or fieldSetBy == "set to default" This method is a utility for third parties Library users who want to check the valididy of fields in such as sesssion_id and user_guid.
- Parameters
theField (String)- = the name of a field, e.g., "session_id"theValue (String)- = the value of the theFieldfieldSetBy (String)- = description of the source of the data, that is what it was set by. e.g., "set by value sent to library from tutor";- Returns
- {valid:true, description:the user_guid is valid.}
public detectOldShell():Void
Detect Old Shell and Warn the user that it won't log correctly. This tests (_level0[shell].getDTDversion() == undefined) and uses the shell Feedback method. The new Shell (2.1.0.0+) will return a string (e.g., "4")
public checkTutorCompatibility(theVersion:String):Object
The tutor passes to the Library the version of the library that it was designed for and the method returns a status object. The status object has two properteis : {compatible:Boolean, description:a description} if ( theVersion == getClassVersion()) return true else if ( (theVersion.substr(0,1) == "1") || (theVersion.substr(0,1) == "2" && theVersion.substr(2,1) == "0")) rturn false else if ( theVersion.substr(0,1) == "2" && theVersion.substr(2,1) == "3" && Number(theVersion.substr(4,1)) < Number(getClassVersion().substr(4,1)) ) return false else if ( theVersion.substr(0,1) == "2" && theVersion.substr(2,1) == "3" && Number(theVersion.substr(4,1)) > Number(getClassVersion().substr(4,1)) ) return true else if ( theVersion.substr(0,1) == "2" && theVersion.substr(2,1) == "1") return false
- Parameters
theVersion (String)- = a string versionthat the tutor expects to use. e.g., 2.3.4- Returns
- {compatible:false, description:the library is incompatible because ... }
public createContextMessageTransferData():ContextMessageTransferData
create ContextMessageTransferData object This is needed for standalone tutors so they can build up the data object before passing to startProblem.
public createSessionMessageTransferData():SessionMessageTransferData
create a SessionMessageTransferData object The instance created will look have default values for session etc. But, these are usually overriden with the simpleSessionLog message or if that isn't called, by the logLoadProblem, logLoadVideo etc. which try to pull the data from flashvars.
public getMetaDataHeader(pTabLevel:Array):String
public getDefaultDataObj():ContextMessageTransferData
create data object with flashvars values. If flashvars variables aren't present, it sents default values for required fields. Flashvars changed a lot in implementing the v4 DTD. Brett documeted these and there is a spreadsheet named flashvars_listforV4DTDandTutoringService.xls
public traceDataObject(dataObj:ContextMessageTransferData)
Troubleshooting method. Trace the contents of the ContextMessageTransferData object.
- Parameters
public getGuid():String
This method is a utility for returning globally unique identifiers (GUIDs). It is used internally to get IDs but a tutor builder can use it as well to assign IDs. For example, the methods logAction and logHint each generate a semantic IDs that they pass to two other methods to link the two resulting messages.
public getClassVersion():String
Return the Library Version number. E.g., "2.1.0.2"
public getDTDversion():String
Return the Data Shop DTD Version that this library supports.
public escapeXML(xmlToEscape1:String):String
Utility method for escaping xml characters & -> & < -> < > -> > = -> &61;
- Parameters
xmlToEscape1 (String)- = a string to unescape- Returns
- escaped string
public caseInsIndexOf(string1:String,
string2:String)