Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Adding Non-Umich user #19

Closed
pushyamig opened this issue Feb 23, 2021 · 1 comment
Closed

Feature: Adding Non-Umich user #19

pushyamig opened this issue Feb 23, 2021 · 1 comment
Assignees

Comments

@pushyamig
Copy link
Contributor

pushyamig commented Feb 23, 2021

This is both instructor/TA/Designer/Account admin Feature. This has 2 categories to it creating single and adding to a course and creating bulking users and adding to the course

Description:
Adding Single User:
Instructors: Follow wireframes for workflow details

  1. Show the list of section in the course
  2. User can enter firstname, lastname, and email address
  3. Chose which section to add user to and which role

TA/Designer: All the steps as described for instructor but he should not be able to add user with Role higher than him example: TA cannot add a user in Teacher Role

Account admin: All the steps as per the instructors

Adding a Bulk Users: Follow Wireframes for guideline with workflow. We should only allow 400 users for bulk upload process(similar to Add UM user enroll). We should Decide what will the max user creation/enrollment we can support
A Text should added during the upload that only X user limit in place and UI should validate if user uploads > X users

  1. Show the list of sections in the course
  2. user can create a section or pick an existing section to add users
  3. This process needs to take a simple CSV, EXCEL, CSVs encoded UTF-8 with BOM and create section. We should expect that we might add a large users to a course. This might needs to run as a background process and notify user once done

Below is the list of role mapping which course role can assign what role to user in canvas. For Eg., A TA cannot assign/add user with more privileges than him like instructor.

Course Role Roles he can add user with
Instructor Teacher, Student, Designer, TA, Observer, Librarian, Assistant
TA Student, Observer
Designer Teacher, Student, Designer, TA, Observer, Librarian, Assistant
Assistant Teacher, Student, Designer, TA, Observer, Librarian, Assistant
Admin Teacher, Student, Designer, TA, Observer, Librarian, Assistant

Admin: Account/Sub-account admin/ Support Consultant

So all the role can do a bulk/single add Non- UMich users. But the client side need to check based on the privileges rules established in above table and throw validation errors

All accessibility Mock-up's recorded here

API workflow:

  1. Check if user exist in canvas (https://umich.test.instructure.com/api/v1/accounts/1/users?search_term=susiam%40mailinotor.com)

  2. Create single user Cirrus using basic auth process(POST: https://apps.cirrusidentity.com/console/api/v1/guest/invite)

  3. Creating Bulk user in Cirrus: (POST: https://apps.cirrusidentity.com/console/api/v1/batchInviteCsv). This process is documented
    here

  4. Create user in Canvas (https://ccmqa.tl.it.umich.edu/canvasCourseManager/manager/api/v1/accounts/1/users?account_id=1&user[name]=susi%20am&pseudonym[unique_id]=susiam%2Bmailinotor.com&pseudonym[sis_user_id]=susiam@mailinotor.com&pseudonym[send_confirmation]=true&communication_channel[type]=email&communication_channel[address]=susiam@mailinotor.com&communication_channel[skip_confirmation]=true&force_validations=false)

  5. Add user to the course section (https://umich.test.instructure.com:443/api/v1/sections/485427/enrollments?enrollment[user_id]=625522&enrollment[enrollment_state]=active&enrollment[type]=StudentEnrollment)

More details about the API are here
Cirrus API Documentation:
https://cirrusidentity.freshdesk.com/support/solutions/articles/6000172662-cirrus-identity-apis-v1

This flow needs a discussion in implementation


Test plan:
https://docs.google.com/spreadsheets/d/1pNOlke-QLW-IqArn-2e_iF0Vp0uEKxzUds8bZRUKRJQ/edit#gid=963346382

@melindakraft
Copy link
Collaborator

Add non-um bulk and single functioning as expected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants