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

[ENHANCEMENT] Add support to create and override assignment mapping #37

Open
15 tasks
gregbell26 opened this issue Oct 18, 2022 · 1 comment
Open
15 tasks
Labels
enhancement New feature or request high priority This issue has been prioritized Module: Canvas This issue relates to the Canvas API Wrapper Module: Config This issue relates to the Config module Module: UI This issue relates to UI need analysis review is needed

Comments

@gregbell26
Copy link
Member

gregbell26 commented Oct 18, 2022

Description

For certain classes, assignments are created on an as-needed basis (ACM / ACM-W Attendance for 101) or updated in new assignments (A07A vs A072022 for 102), and there doesn't currently exist a way to elegantly handle these cases when selecting the assignments to grade.

Issue

Currently, the workaround for this involves creating a new config file after the assignment has been created on Canvas via the web interface. This is really time-consuming and not a good user experience. It is also annoying to have to interrupt the workflow to create a new assignment in Canvas or not have to re-pull the entire config file when a new assignment is created in Canvas in the 102 workflow.

Suggestion

https://canvas.instructure.com/doc/api/assignments.html#method.assignments_api.create

The Canvas API supports creating assignments with the assignments module for the API, it also supports pulling a single assignment with nothing but the course ID and the assignment ID.

For the case where the assignment exists on Canvas but not in the config file, a solution would be to prompt the user if they would like to override the warning when an assignment could not be found in the config file and then ask if the assignment already exists on Canvas, and if so, what the ID is to solely update the config file to add the assignment in.

In the case where the assignment does not yet exist, a solution would be to walk the user through creating a new assignment. This would include the assignment name, the points on the assignment, and the group that the assignment should be assigned to.

Acceptance Criteria

  • Support is added to the Canvas API wrapper to pull a single assignment
  • Support is added to the Canvas API wrapper to create a new assignment
  • Support is added to the Config module to support rewriting a config file
  • Support is added to the UI to allow assignment overriding
  • Canvas API wrapper knows if an assignment was created on Canvas successfully or not
  • Canvas API wrapper will notify the UI of the status of the assignment creation
  • UI is elegantly notified by the Canvas API wrapper when an assignment needs to be created or updated
  • UI is able to walk the user through creating a new assignment
  • UI is able to walk the user through pulling an existing assignment from Canvas
  • After assignments are created or updated rest of the grading process is unchanged
  • Assignments on Canvas are created with the correct assignment name as entered by the user
  • Assignments on Canvas are created with correct points as entered by the user
  • Assignments on Canvas are assigned to the correct assignment group as defined by the user
  • Assignments on Canvas are created in the 'Published' state.
  • Config file is updated with the new assignment
@gregbell26 gregbell26 added enhancement New feature or request high priority This issue has been prioritized need analysis review is needed Module: UI This issue relates to UI Module: Canvas This issue relates to the Canvas API Wrapper Module: Config This issue relates to the Config module labels Oct 18, 2022
@gregbell26
Copy link
Member Author

gregbell26 commented Oct 18, 2022

This issue has been prioritized and will be worked on as part of the next sprint (date TBD). This issue is 5 story points.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request high priority This issue has been prioritized Module: Canvas This issue relates to the Canvas API Wrapper Module: Config This issue relates to the Config module Module: UI This issue relates to UI need analysis review is needed
Projects
None yet
Development

No branches or pull requests

1 participant