public interface LmsIntegrationManager
| Modifier and Type | Method and Description |
|---|---|
void |
assignToStream(int psid,
java.lang.String classUID)
For the current user (logged in) user, assigns a Problem Set to a group and sends
the resulting assignment to the teacher's LMS assignment stream.
|
void |
assignToStream(int psid,
java.lang.String name,
java.lang.String classUUID)
Creates a named assignment in a third-party stream
|
void |
authenticateUser(java.lang.String callbackUrls,
java.lang.Object permissionsBlob)
Authenticates that the current user - possibly an already authenticated CAS user,
possibly an unauthenticated (anonymous) user - with the current LMS.
|
LmsType |
getLmsType()
Returns the LMS type supported by the implementing code.
|
LoginProvider |
getLoginProvider() |
int |
gradeToStream(java.lang.String studentUUID,
java.lang.String assignmentUUID)
Retrieves a student's score from a third-party's records
|
boolean |
supports(LmsType type)
Returns whether the implementing code manages the integration for the specified LMS.
|
LoginProvider getLoginProvider()
boolean supports(LmsType type)
type - The LMS of interesttrue when the implementing class manages type;
otherwise falseLmsType getLmsType()
void authenticateUser(java.lang.String callbackUrls,
java.lang.Object permissionsBlob)
Because this method may cause the target LMS to bring up a login UI, and because after returning from this method the caller will need to redirect to a CAS application UI, this method must only be called from a controller.
For now, assume the callback URL(s) are currently passed as a String of name=value pairs.
For example: onSuccess=
For now, assume that the caller passes a request for authentication provider-specific permissions
via an Object that implementing classes must cast - at least until we come up with a comment
object that makes sense across all authentication providers.
This method returns nothing as it is going to trigger a redirect to controllers run by the
external authentication provider.PairSet.
void assignToStream(int psid,
java.lang.String classUID)
assignToStream()
names the assignment using the selected Problem Set's name.
psid - ID of Problem Set to assignclassUID - LMS class that receives the assignmentvoid assignToStream(int psid,
java.lang.String name,
java.lang.String classUUID)
psid - assigned test problem set idname - assignment nameclassUUID - third-party stream idgroup - students in DB to link assignment toint gradeToStream(java.lang.String studentUUID,
java.lang.String assignmentUUID)
studentUUID - student ID in third-partyassignmentUUID - assignment ID in third-party