Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-24186

Ability for the provider to map incoming LIS roles to an equivalent Sakai site role

    Details

    • Type: Feature Request
    • Status: RESOLVED
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.9.0
    • Fix Version/s: 2.9.2
    • Component/s: BasicLTI
    • Labels:
      None
    • Property addition/change required:
      Yes
    • Previous Issue Keys:
      BLTI-151

      Description

      This ticket will track work so that roles sent from a consumer can map to roles within Sakai sites. This then extends the available roles that a consumer can send which matches the LTI spec.

      There are quite a few roles that can be sent according to the LTI spec and role vocabulary. Most of these are a carry over from the LIS spec. Some are focused around the 'system role' which we would call user type in CLE so they are not applicable in this case. What we probably want are the ones relating to institution role even though the name isn't the best. There is also a list of roles redefined as 'context role' but those include sub roles which might confuse things since we don't have that concept.

      So, based on institution role, these are the roles:

      Student
      Faculty
      Member
      Learner
      Instructor
      Mentor
      Staff
      Alumni
      ProspectiveStudent
      Guest
      Other
      Administrator
      Observer
      None

      From that list we could choose the most applicable ones to support. Given that roles in CLE sites are not always consistent as you can have different site types/realms/templates, then we may need a mapping of these LTI roles to CLE roles.

      Option 1:
      =======
      have the mapping in sakai.properties. This may need to be a multivalued mapping though since the one LTI role might map to multiple CLE roles

      Something like:

      lti.role.mapping.Student=access,Student
      lti.role.mapping.Learner=access,Student
      lti.role.mapping.Instructor=maintain,Instructor
      lti.role.mapping.Mentor=Teaching Assistant

      The site would then get the incoming LTI role, check what roles are in the site and see if there is a match.

      So an incoming LTI role of Student would get the values 'access' and 'student'. If the site has the access role, the user is assigned that role. The only issue (and probably an edge case) is if the site has both roles, which one to map to. I would suggest the first one, then the priority is clear.

      Option 2:
      =======

      Have a new site type that has these roles in it already, and just use that site type when creating the new site.

      It is important to note that using the trusted consumer approach, the user is given the role they ALREADY have in the site. They are not provisioned at all.

      ref: http://www.imsglobal.org/lti/blti/bltiv1p0/ltiBLTIimgv1p0.html#_Toc261271991

        Gliffy Diagrams

          Zeplin

            Attachments

              Issue Links

                Activity

                  People

                  Assignee:
                  steve.swinsburg Steve Swinsburg
                  Reporter:
                  steve.swinsburg Steve Swinsburg
                  Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                    Dates

                    Created:
                    Updated:
                    Resolved:

                      Git Integration