User management and learning outcome profile service
Description: This service defines methods for creating users and groups, getting information about them, adding users to groups with a certain role, adding achievements or assessment records to profiles, and retrieving profiles.
Business objects: user, group, achievement, assessment record, profile
Notes: The API does not define specific properties of a user, beyond name, email and learning outcome profile. Implementations can and should make additional information available that is needed for making the service useful for learning communities in a specific application context.
listUsers
Description: lists all users registered at the OICS - might be restricted to system administrators for privacy protection.
Input parameters: Void.
Output: list of users with names and pointers to detailed information.
createUser
Description: creates a new OICS user. OICS users can publish annotations to OICS objects and store learning outcome profiles.
Input parameters: email; first names; last name; password.
Output: userId.
getUser
Description: returns all information about the user that is available for the authenticated user
Input parameters: user identifier.
Output: list of property/value pairs; values can be pointers to a representation of the property (for example profile).
modifyUser
Description: modifies a property of the user.
Input parameters: property name; value.
Output: Void.
Notes: The following properties should be supported: email, first_names, last_name, email_privacy_level (if set to 1, user's email is shown to other users).
createGroup
Description: creates a group representing a learning context (e.g. a class instance) with users assigned roles (teacher and learner).
Input parameters: group name.
Output: groupId.
addUserToGroup
Description: add a user to a group with a given role (teacher or learner).
Input parameters: user identifier; group identifier; role.
Output: Void.
getGroup
Description: lists all members of a group with their respective role.
Input parameters: group identifier.
Output: List of tuples (userId,role).
addAchievement
Description: adds an achievement to a user's learning outcome profile (the achievement is linked to a learning outcome, assessment record and context). Through the type parameter, this method can be used to add attained learning outcomes, taught learning outcomes and learning needs.
Input parameters: user identifier; identifier (optional); title (optional); description (recommended); related learning outcome (recommended); context (recommended); assessment record (recommended); type: attainment (default), teaching, learningNeed (optional).
Output: identifier.
Note: If no identifier is submitted it will be generated. The title and description of an achievement may be similar to title and description of the attained learning outcome of the achievement.
addAssessmentRecord
Description: adds an assessment record that is an evidence of an achievement (the assessment record is linked to an achievement).
Input parameters: user identifier; identifier (optional); type (mandatory); title (mandatory); score (optional); date (mandatory); assessing body (mandatory); description (recommended); attached reference (optional); level of Assessment Result (scheme, value) (optional).
Output: identifier.
Note: If no identifier is submitted it will be generated.
getLearningOutcomeProfile
Description: retrieves the learning outcome profile for a user.
Input parameters: user identifier.
Output: list of achievements.
