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 false
LmsType 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