org.olat.course.nodes
Interface AssessableCourseNode

All Superinterfaces:
CourseNode, INode, ShortName
All Known Implementing Classes:
IQTESTCourseNode, MSCourseNode, ProjectBrokerCourseNode, ScormCourseNode, STCourseNode, TACourseNode

public interface AssessableCourseNode
extends CourseNode

Initial Date: Jun 18, 2004

Author:
gnaegi Comment: All course nodes that are of an assessement type must implement this interface so that the assessment results can be managed by the assessment tool.

Field Summary
 
Fields inherited from interface org.olat.course.nodes.CourseNode
DISPLAY_OPTS_CONTENT, DISPLAY_OPTS_TITLE_CONTENT, DISPLAY_OPTS_TITLE_DESCRIPTION_CONTENT
 
Method Summary
 java.lang.Float getCutValueConfiguration()
           
 Controller getDetailsEditController(UserRequest ureq, WindowControl wControl, UserCourseEnvironment userCourseEnvironment)
          Returns a controller to edit the node specific details
 java.lang.String getDetailsListView(UserCourseEnvironment userCourseEnvironment)
           
 java.lang.String getDetailsListViewHeaderKey()
           
 java.lang.Float getMaxScoreConfiguration()
           
 java.lang.Float getMinScoreConfiguration()
           
 java.lang.Integer getUserAttempts(UserCourseEnvironment userCourseEnvironment)
           
 java.lang.String getUserCoachComment(UserCourseEnvironment userCourseEnvironment)
           
 java.lang.String getUserLog(UserCourseEnvironment userCourseEnvironment)
           
 ScoreEvaluation getUserScoreEvaluation(UserCourseEnvironment userCourseEnv)
          this method implementation must not cache any results! The user has no scoring results jet (e.g.
 java.lang.String getUserUserComment(UserCourseEnvironment userCourseEnvironment)
           
 boolean hasAttemptsConfigured()
           
 boolean hasCommentConfigured()
           
 boolean hasDetails()
           
 boolean hasPassedConfigured()
           
 boolean hasScoreConfigured()
           
 boolean hasStatusConfigured()
           
 void incrementUserAttempts(UserCourseEnvironment userCourseEnvironment)
          Increments the users attempts for this node and this user + 1.
 boolean isEditableConfigured()
           
 void updateUserAttempts(java.lang.Integer userAttempts, UserCourseEnvironment userCourseEnvironment, Identity coachingIdentity)
          Updates the users attempts for this node and this user.
 void updateUserCoachComment(java.lang.String coachComment, UserCourseEnvironment userCourseEnvironment)
          Updates the coach comment for this node and this user.
 void updateUserScoreEvaluation(ScoreEvaluation scoreEvaluation, UserCourseEnvironment userCourseEnvironment, Identity coachingIdentity, boolean incrementAttempts)
           
 void updateUserUserComment(java.lang.String userComment, UserCourseEnvironment userCourseEnvironment, Identity coachingIdentity)
          Updates the user comment for this node and this user.
 
Methods inherited from interface org.olat.course.nodes.CourseNode
archiveNodeData, cleanupOnDelete, createEditController, createInstanceForCopy, createInstanceForCopy, createNodeRunConstructionResult, createPeekViewRunController, createPreviewController, eval, explainThisDuringPublish, exportNode, getConditionExpressions, getDisplayOption, getLearningObjectives, getLongTitle, getModuleConfiguration, getNoAccessExplanation, getPreConditionAccess, getPreConditionVisibility, getReferencedRepositoryEntry, getShortTitle, getType, importNode, informOnDelete, isConfigValid, isConfigValid, needsReferenceToARepositoryEntry, setDisplayOption, setIdent, setLearningObjectives, setLongTitle, setNoAccessExplanation, setPreConditionVisibility, setShortTitle, updateModuleConfigDefaults
 
Methods inherited from interface org.olat.core.util.nodes.INode
addChild, getChildAt, getChildCount, getIdent, getParent, getPosition, insert, remove, removeAllChildren, removeFromParent, setParent
 
Methods inherited from interface org.olat.core.gui.ShortName
getShortName
 

Method Detail

getMaxScoreConfiguration

java.lang.Float getMaxScoreConfiguration()
Returns:
Returns the maximal score that can be achieved on this node. Throws an OLATRuntimeException if hasScore set to false, maxScore is undefined in this case

getMinScoreConfiguration

java.lang.Float getMinScoreConfiguration()
Returns:
Returns the minimal score that can be achieved on this node. Throws an OLATRuntimeException if hasScore set to false, maxScore is undefined in this case

getCutValueConfiguration

java.lang.Float getCutValueConfiguration()
Returns:
Returns the passed cut value or null if no such value is defined. A null value means that no cut value is definied and therefor the node can be passed having any score or no score at all. Throws an OLATRuntimeException if hasPassed is set to false, cutValue is undefined in this case

hasScoreConfigured

boolean hasScoreConfigured()
Returns:
True if this course node produces a score variable for the learner

hasPassedConfigured

boolean hasPassedConfigured()
Returns:
True if this course node produces a passed variable for the learner

hasCommentConfigured

boolean hasCommentConfigured()
Returns:
True if this course node produces a comment variable for the learner

hasAttemptsConfigured

boolean hasAttemptsConfigured()
Returns:
True if this course node produces an attempts variable for the learner

hasDetails

boolean hasDetails()
Returns:
True if this course node has additional details to be edited / viewed

isEditableConfigured

boolean isEditableConfigured()
Returns:
True if score, passed, attempts and comment are editable by the assessment tool

getUserScoreEvaluation

ScoreEvaluation getUserScoreEvaluation(UserCourseEnvironment userCourseEnv)
this method implementation must not cache any results! The user has no scoring results jet (e.g. made no test yet), then the ScoreEvaluation.NA has to be returned!

Parameters:
userCourseEnv -
Returns:
null, if this node cannot deliver any useful scoring info (this is not the case for a test never tried or manual scoring: those have default values 0.0f / false for score/passed; currently only the STNode returns null if there are no scoring rules defined.)

getUserUserComment

java.lang.String getUserUserComment(UserCourseEnvironment userCourseEnvironment)
Parameters:
userCourseEnvironment -
Returns:
the user comment for this user for this node, given by coach

getUserCoachComment

java.lang.String getUserCoachComment(UserCourseEnvironment userCourseEnvironment)
Parameters:
userCourseEnvironment -
Returns:
The coach comment for this user for this node (not visible to user)

getUserLog

java.lang.String getUserLog(UserCourseEnvironment userCourseEnvironment)
Parameters:
userCourseEnvironment -
Returns:
the users log of this node

getUserAttempts

java.lang.Integer getUserAttempts(UserCourseEnvironment userCourseEnvironment)
Parameters:
userCourseEnvironment -
Returns:
the users attempts of this node

getDetailsListView

java.lang.String getDetailsListView(UserCourseEnvironment userCourseEnvironment)
Parameters:
userCourseEnvironment -
Returns:
the details view for this node and this user. will be displayed in the user list. if hasDetails= false this returns null

getDetailsListViewHeaderKey

java.lang.String getDetailsListViewHeaderKey()
Returns:
the details list view header key that is used to label the table row

getDetailsEditController

Controller getDetailsEditController(UserRequest ureq,
                                    WindowControl wControl,
                                    UserCourseEnvironment userCourseEnvironment)
Returns a controller to edit the node specific details

Parameters:
ureq -
wControl -
userCourseEnvironment -
Returns:
a controller or null if hasDetails=false

updateUserScoreEvaluation

void updateUserScoreEvaluation(ScoreEvaluation scoreEvaluation,
                               UserCourseEnvironment userCourseEnvironment,
                               Identity coachingIdentity,
                               boolean incrementAttempts)
Parameters:
scoreEvaluation - if scoreEvaluation.getScore() != null, then the score will be updated, and/or if scoreEvaluation.getPassed() != null, then 'passed' will be updated
userCourseEnvironment -
coachingIdentity -

updateUserUserComment

void updateUserUserComment(java.lang.String userComment,
                           UserCourseEnvironment userCourseEnvironment,
                           Identity coachingIdentity)
Updates the user comment for this node and this user. This comment is visible to the user.

Parameters:
userComment -
userCourseEnvironment -
coachingIdentity -

incrementUserAttempts

void incrementUserAttempts(UserCourseEnvironment userCourseEnvironment)
Increments the users attempts for this node and this user + 1.

Parameters:
userCourseEnvironment -

updateUserAttempts

void updateUserAttempts(java.lang.Integer userAttempts,
                        UserCourseEnvironment userCourseEnvironment,
                        Identity coachingIdentity)
Updates the users attempts for this node and this user.

Parameters:
userAttempts -
userCourseEnvironment -
coachingIdentity -

updateUserCoachComment

void updateUserCoachComment(java.lang.String coachComment,
                            UserCourseEnvironment userCourseEnvironment)
Updates the coach comment for this node and this user. This comment is not visible to the user.

Parameters:
coachComment -
userCourseEnvironment -

hasStatusConfigured

boolean hasStatusConfigured()
Returns:
True if this course node produces an status variable for the learner