closes OUT-3757
closes OUT-3756
flag=account_level_mastery_scales
test-plan:
- Open up account level rubrics page and ensure you can
see the rubrics tab and learning mastery tab
- Open up the account level outcomes tab and
ensure you only see the outcomes picker ui
- Enable the account_level_mastery_scales FF
- Ensure the account level outcomes page now has two tabs,
one for outcomes and one for mastery scales
- Ensure course outcomes/rubrics ui did not change
- Ensure opening account level rubrics only brings up the rubrics ui
Change-Id: I46e4e01f07e77b61eb7ea63a2baae8f1b4d869be
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/242081
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Adam Lenning <adam.lenning@instructure.com>
Product-Review: Jody Sailor
Reviewed-by: Michael Brewer-Davis <mbd@instructure.com>
"role" was not white-listed as a valid attribute. Though it has been
proposed as a global attribute, I don't think it was ever officially
adopted that way in a standard. However it seems to have been implemented
as a global attribute by browsers. This change adds it as a white-listed
attribute to any element.
This change will address the issue in the old and new RCEs
closes LS-1164
flag=none
test plan:
- in the RCE create a table and a link and whatever else you want
- flip to HTML edit view and add a role. (e.g. role="presentation"
on the table, role="button" on the anchor)
- flip back to wysiwyg editor mode
- flip back to html edit mode
> expect the role attributes to still be in the html
- save whatever it is you're editing
> expect the role attributes to still be in the html on the saved page
Change-Id: Idc99c3792184a72211c655ab45707527365b97aa
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/242176
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jackson Howe <jackson.howe@instructure.com>
QA-Review: Jackson Howe <jackson.howe@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
closes OUT-3781
flag=none
- postMessage events from other sources (e.g. google integration)
are not necessarily in a JSON-formatted string format
Test plan:
- verify no warnings emitted in files selenium tests
- if possible, verify legacy LTI behavior still
functions
Change-Id: I6e50bed414493b58503c867dc5564e941f7b6d17
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/241995
Reviewed-by: Brian Watson <bwatson@instructure.com>
Reviewed-by: Pat Renner <prenner@instructure.com>
QA-Review: Brian Watson <bwatson@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Michael Brewer-Davis <mbd@instructure.com>
closes LS-731
flag = submission_type_tool_placement
Test Plan:
- requires changes and test plan from LA-728
- add an assignment linked to an MC assessment
- add the assignment to a module
- the entry on the module index page should show
a different icon and show the assessment
objectives under the title
Change-Id: If83310541456e7e1eb8fd8972ae12a1cc4e5c231
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/241600
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Clint Furse <cfurse@instructure.com>
closes SAS-1474, SAS-1452
canvas server-side, when:
* a canvas request would generate a redirect to an inst-fs file
* but the request also includes a `X-Canvas-File-Location` header
* and the request is session authenticated
then the server instead responds with a JSON object with:
* a `location` field containing the nominal redirect target
* a `token` field containing a token that can be used as a value for
an `Authorization: Bearer <token>` header when requesting the file
a service worker is then added that intercepts non-navigation GET
requests to those endpoints. it adds the X-Canvas-File-Location header
to the request, and then issues a followup request for the returned
location with the Authorization header added. in effect, it's following
the redirect but with the Authorization header injected. inst-fs can
then recognize the Authorization header as a means of user
authentication in the absence of cookies.
finally, the service worker is installed only if:
* the plugin setting controlling it is enabled
* the browser is Safari 13+
other browsers are able to use simpler work arounds when cookie blocking
is enabled and can thus take advantage otherwise.
test-plan:
* have canvas and inst-fs both served over https
* for safari, be using 13.1 or newer with tracking prevention enabled
* leave the service worker disabled through the inst-fs plugin setting
* have an image uploaded to inst-fs
* visit the image's preview page in the files UI:
- in safari: observe the image fails to load
- in chrome: observe the image successfully loads
* enable the service worker via the plugin setting
* refresh the image's preview page:
- in safari: observe the image now successfully loads
- in chrome: the image still successfully loads, but does so without
involving the service worker
Change-Id: Ie28f2cad40f67549bfbb4c7c6604f215581fbe18
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/237135
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
closes LS-730
flag = submission_type_tool_placement
Test Plan:
- requires changes and test plan from LA-728
- icon_url should be passed as part of MC metadata
- once assignment is created, view the assignment index page
- verify icon is displayed and the assessment objectives is displayed
as per given design
Change-Id: I9d8d98011e6d2db76bd279153545ace5a4545296
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/240477
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
Takes external tools labeled as favorite and includes them in the toolbar.
Embeds the icon into an SVG to be used as the toolbar icon.
Only shows a max of 2 favorite tools.
Also moved the tools favorites to be next to the media upload icons,
as per Peyton's request.
Includes Selenium tests
Test plan:
Enable RCE Enhancements
Activate some apps (Wikipedia and Dropbox work well)
Use Ed's new work to favorite those two apps (or one of them - you do you)
Open an RCE page.
The icons should appear in the toolbar to the right.
Clicking the icon opens up the LTI tool modal properly.
flag = rce_enhancements
Closes LS-532
Change-Id: I96ace173793093f1fd2aa9dba546e7d4cd973c42
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/240530
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
closes PLAT-5808
flag=none
test plan:
* install at least 3 LTI tools for homework_submission using Eduappcenter
* install the LTI 1.3 test tool with a homework_submission placement
* as a teacher,
* create an assignment with online file submission
* as a student,
* submit that assignment using a normal file upload, check that it works
* submit using the test tool from the top tab of submission options
* choose the File option for deep linking response
* check that it works
* submit using the test tool from the More tab of submission options
* choose the File option for deep linking response
* check that it works
Change-Id: I690dccff812e1b237624b05a5fff9bac35baf9af
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/240047
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Tucker Mcknight <tmcknight@instructure.com>
Product-Review: Xander Moffatt <xmoffatt@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
fixes USERS-364
so that branded icons are properly shown
test plan:
* use the theme editor and upload a custom icon for Mobile
Homescreen Icon
* on an Android device, bookmark the canvas website to your homescreen
* you should see your custom icon
NOTE: because this uses the existing brand config variable, apple and
android will now share an icon, whereas they have differed in the past
Change-Id: Ibb1e6da5a42dae630a04651071618b2504a7f3ce
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/229636
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Jonathan Fenton <jfenton@instructure.com>
test plan:
- you should see a progress bar appear while
uploading a file for a content migration
(zip, common cartridge, etc.).
- the spinner should not appear when a
progress bar is present
- the spinner should still show up for migrations
that do not involve an upload (e.g., course copy)
- if you attempt to upload a file that would exceed
your quota, the progress bar should not remain visible
and the submit button should not stay "Uploading..."
- if you complete a migration upload and start another,
you should not briefly see a 100% progress bar
appear before going back to 0 and starting again
- if you attempt to start a migration that requires an
upload without actually choosing a file to upload,
you should get an appropriate error and the
"Uploading..." message should not persist
closes LA-1112
flag = none
Change-Id: I632885b1b8cf257f087cda9577867e2a21840785
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/239555
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
closes LA-991
flag=rce_enhancements
Replaced a few toolbar icons with the instui versions for consistency.
test plan:
- specs pass and everything still works
Change-Id: Ibb488d6df2457f2e41138e40b3b3d9469eb68215
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/239388
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
test plan:
* upload a file >= 100 MB in size for an assignment submission
* you should see a progress circle indicator next to the
submit button while the file is submitting.
fixes LA-615
flag = none
Change-Id: I1cc7a724c9da17ea45477ef72c5a82f1c7eb5ee4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/239815
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
test plan:
this should be tested in conjunction with a commit that adds
an onProgress option to $.ajaxJSONPreparedFiles to report upload
progress
flag=none
refs LA-615
Change-Id: I1ffe941938ba3e677af3450158c67486587df2ce
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/239464
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
RCE images used to be identified by the presence of the data-is-decorative
attribute, and no alt text.This caused a11y audit failures. The new
approach is to mark the image with role="presentation" and leave the allt
text alone. This has the nice side effect of letting the user change her
mind about being decorative w/o losing the alt text.
The image options tray no longer disables the alt text textbox.
closes LA-1116
flag = rce_enhancements
test plan:
- embed an image in the rce (having some text around it will be
helpful later)
- click on it and Options
- in the Image Options tray, check the "Decorative Image" checkbox
- click Done
- inspect the image
> expect role="presentation" to be present
> expect the alt="your text here" to be present
- click the a11y audit button
> expect the image to pass the audit
- save the learning object you were working in
- read the resulting page with a screenreader
> expect the image to be skipped over
Change-Id: Ia0aadd1d65fe207af0b676464078b08e98285761
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/239726
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
flag = none
closes QO-625
test plan:
- create a classic quiz and take it as a student
- in speedgrader, input a score for a question and enter
- score input for the question should be updated
Change-Id: I61f9d29896d638a3fa1d0b20e8159dc12fb1dce9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/238376
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Bryan Petty <bpetty@instructure.com>
Product-Review: Bryan Petty <bpetty@instructure.com>
Reviewed-by: Jared Crystal <jcrystal@instructure.com>
also make sure it reads correctly with their silly branding
refs USERS-604
test plan:
* add _just_ apple auth provider
* go to /login/canvas
* it should read "Sign in with Apple"
* add another well known auth provider, like GitHub
* go to /login/canvas again
* it should only have the icons
* remove the apple auth provider
* go to /login/canvas again
* it should read "Login with GitHub"
Change-Id: I100dc2e4b2609bd097c2ce0337212b83af3bddbd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/239413
Reviewed-by: Charley Kline <ckline@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
fixes KNO-483
flag=none
Previously, we had a few pages that supported keyboard
shortcuts for opening the dialog modal. For most pages,
a user could press ',', '?', or '/'. Our docs heavily
referenced using the comma, sometimes mentioning support
of the question mark. Because the comma is reserved in
NVDA, users navigating Canvas with NVDA could not access
the modal via the comma shortcut. This commit changes
the shortcut to consistently ONLY support '?'.
see https://community.canvaslms.com/docs/DOC-2061-accessibility-within-canvas
for more info on the pages that support keyboard shortcuts
test plan:
- for each of the following pages, this should be true:
- pressing ',' should not open the shortcut modal
- pressing '/' should not open the shortcut modal
- pressing '?' should open the shortcut modal
- Assignment index (/courses/:id/assignments)
- Discussion Topic show (/courses/:id/dicussion_topic/:id)
- Gradebook index (/courses/:id/gradebook)
- Course Module index (/courses/:id/modules)
- SpeedGrader index (/courses/:id/gradebook/speed_grader)
qa risk: low
Change-Id: Ifc95d141afb598f1996913735fe724a2ee60e573
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/238158
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
flag=canvas_k6_theme
Refs UXS-110
Test plan:
1. Turn on RCE Enhancements and Canvas Elementary Theming flags
You can turn them on at the admin level
You can turn them to 'allow' at the admin level
and on at the course level
2. Navigate to any page with RCE. Ex. Syllabus tab in any course
3. Edit the RCE content. By default,
the font should be Balsamic Sans
4. Open the hidden menu (Option + F9)
5. Select Architect's Daughter font
6. Add an additional line to the RCE content
7. Close the editing mode
8. The text should be in the fonts in which it was typed
Change-Id: I3045ea638dfcc044869295369d976d496c5e8657
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/238298
QA-Review: Mark McDermott <mmcdermott@instructure.com>
Reviewed-by: Bryan Petty <bpetty@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jody Sailor
Do not attempt to submit comments in SpeedGrader if a submission request
is already in progress. Although we already disable the "Submit" button
while waiting for a response, navigating between students would still
attempt to record the current comment text as a draft (even if the user
had already explicitly saved it) without checking whether a request was
in progress.
flag=none
fixes TALLY-620
Test plan:
- Have a course with an assignment and some students
- Open SpeedGrader for the assignment
- Ensure the server will take a while to process comment requests
- To do this, you can make a change on the server to force a reload
(e.g., add a line to update_submission in gradebooks_controller),
or get yourself a terrible internet connection if you're not testing
locally.
- Ensure non-draft comments aren't wrongly saved as drafts:
- Type some text in the comment box for a student
- Click "Submit"
- Immediately start hitting the "j" and/or "k" keys with great vigor
- This should *not* cause a zillion draft comments to be saved
- Eventually the actual submission request should finish, and should
add a non-draft comment for the intended student (and only that
student)
- Ensure draft comments only get one copy saved:
- Slow down your server again, as above
- Type some comment text, but do not submit it
- Using the arrow buttons at the top, furiously move between students
- This should *not* cause zillions of draft comments to be saved
- Eventually, the actual draft comment should be saved for the
intended student (and only that student)
- Ensure the more civilized behavior below works as expected:
- Submitting a comment and calmly waiting for the submission to go
through
- Typing some comment text, switching students, and waiting for the
draft comment to be saved without making a ruckus
- Typing some comment text, closing the page, and then re-opening the
page with no hullabaloo (the text should have been saved as a draft)
Change-Id: I57e0781333c763ba22842749f0130fe6c21eb319
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/237373
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Spencer Olson <solson@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
This change ensures that the following requirement is respected:
The tool should only prevent submission on the inner most layer and that
is the attempt timer. All other layers such as Until date, Course end
date need to be respected.
Test plan:
1. Create a quiz without a time limit and observe that it will
autosubmit when the earliest of the following times is reached: quiz
availability end date and course availability end date.
2. Now add a time limit and check Disable Timer Autosubmission and take
the same quiz. You should observe that the clock visible counts down
to 0 for the duration of the time limit, yet does not autosubmit when
the clock reaches zero, but does autosubmit when the end time as
specified in step 1 is reached.
Refs PFS-15660
flag=timer_without_autosubmission
Change-Id: I8ac898203070b79221afb168ef96e75d8f68fdab
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/235571
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Stephen Kacsmark <skacsmark@instructure.com>
Reviewed-by: Chad McGuire <cmcguire@instructure.com>
QA-Review: Petra Ashment <pashment@instructure.com>
Product-Review: Chad McGuire <cmcguire@instructure.com>
Test plan:
1. As a quiz taker, verify that the quiz does not autosubmit after the
time limit runs out when auto autosubmission is effectively disabled
(effectively = both the feature flag and the quiz attribute are true).
2. As a quiz taker, verify that the converse is true and timer
autosubmission continues to work as expected when a time limit is
supplied and timer autosubmission is not effectively disabled.
3. As a quiz taker, verify that when timer autosubmission is effectively
disabled, the late submission is still accepted.
4. As a course instructor or similar, verify that late submissions are
still available in the same way that non-late submissions are.
Refs PFS-15518
flag=timer_without_autosubmission
Change-Id: I0262234331d42bd1ff1ec5f22cf790917514f58b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/234337
Tested-by: Chad McGuire <cmcguire@instructure.com>
QA-Review: Chad McGuire <cmcguire@instructure.com>
Product-Review: Chad McGuire <cmcguire@instructure.com>
Reviewed-by: Stephen Kacsmark <skacsmark@instructure.com>
Test plan:
1. Verify that the "Disable automatic submission" option does not appear
when the "Time Limit" option is unchecked, with or without the
feature flag enabled.
2. Verify that "Disable automatic submission" option does appear when
the Time Limit option is checked and the feature flag is enabled, and
does not appear when the Time Limit option is checked and the feature
flag is disabled.
Refs PFS-15514
Refs PFS-15516
flag=timer_without_autosubmission
Change-Id: I4d155bd986cb7e25fc3f41179c60ec0f731fe4db
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/234186
Product-Review: Hyrum Romrell <hyrum@instructure.com>
Tested-by: Chad McGuire <cmcguire@instructure.com>
QA-Review: Chad McGuire <cmcguire@instructure.com>
Reviewed-by: Stephen Kacsmark <skacsmark@instructure.com>
flag=canvas_k6_theme
Refs UXS-95
Test plan:
1. Turn on RCE Enhancements and Canvas Elementary Theming flags
You can turn them on at the admin level
You can turn them to 'allow' at the admin level
and on at the course level
2. Navigate to any page with RCE. Ex. Syllabus tab in any course
3. Edit the RCE content. By default,
the font should be Architect's Daughter
4. Open the hidden menu (Option + F9)
5. Select any other font (Format > Fonts > [font])
6. Add an additional line to the RCE content
7. Close the editing mode
8. The text should be in the fonts in which it was typed
Change-Id: I450ec45459c6fb9631e6f98ea1a5729a12125f7b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/236126
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
QA-Review: Mark McDermott <mmcdermott@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
This reverts commit d3d7ebf2c1.
Reason for revert: Merged after rebasing but before Jenkins finished building
Change-Id: I86783eb8f555ab4948b9a16937c08ee4871c96c0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/236002
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
flag=canvas_k6_theme
Closes UXS-95
Test plan:
1. Turn on RCE Enhancements and Canvas Elementary Theming flags
You can turn them on at the admin level
You can turn them to 'allow' at the admin level
and on at the course level
2. Navigate to any page with RCE. Ex. Syllabus tab in any course
3. Edit the RCE content. By default,
the font should be Architect's Daughter
4. Open the hidden menu (Option + F9)
5. Select any other font (Format > Fonts > [font])
6. Add an additional line to the RCE content
7. Close the editing mode
8. The text should be in the fonts in which it was typed
Change-Id: Ia5dc5d2fbd0e042310b687a1d865a0804d95ef5d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/233850
Tested-by: Laura Gonzalez-Horwitz <lgonzalez-horwitz@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Mark McDermott <mmcdermott@instructure.com>
fixes LA-965
flag=module_dnd
test plan:
- in an account, enable the "Module File Upload Enhancements"
feature option
- create a new course
- load the files page
- create an empty directory called "test"
- load the modules page
- create a new module
- using the Add Item to Module dialog, run through the following:
* select "File", and then "New File(s)"
* select a file to upload
* click the Add Item button
* confirm the file is uploaded and the module item is added
* open the Add Item to Module dialog again
* confirm that the file input has no files chosen
* select the same file to upload
* click the Add Item button
* confirm that a file rename dialog appears
* close the file rename dialog by clicking on the cancel
button on the upper right
* confirm that the selected file is still chosen in the
file input
* attempt to add the item again by clicking on the
Add Item button and provide a new name instead and
confirm it gets uploaded
* open the Add Item to Module dialog again
* attempt to add the same file again by uploading it and
close the file rename dialog
* change to upload to the "test" folder
* click on the Add Item button and confirm that no file
rename dialog appears and the file is uploaded instead
* open the Add Item to Module dialog again
* select multiple files to upload, including the file that
was previously uploaded
* click the Add Item button
* confirm that the file rename dialog appears and provide
a new name and proceed with the upload of all files
* open the Add Item to Module dialog again
* upload all the same files again and for each file rename
dialog, select Skip on all of them and confirm that
when the final dialog is Skipped, the Add Item to Module
dialog closes
Change-Id: I9511f9e4740ac00f4d3d10ef1b971c4af6a83877
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/235687
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: Pat Renner <prenner@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Mark McDermott <mmcdermott@instructure.com>
Product-Review: Lauren Williams <lcwilliams@instructure.com>
closes LA-508
flag=rce_enhancements
test plan:
The problem described in the ticket:
- in an rce, type in some text, select some text
- choose Documents > Upload Document
- upload a file
> expect the created link to use the selected text,
not replace it
Related fixed issues
- select some text
- choose Links > Course Links
- pick something (Course Navigation is always populated)
> expect the created link to use the selected text
- this should work for images and files also (media is always
embedded)
- with a selected link, try creating another link like above
> the link's href is updated, but the selected text remains
the same
Change-Id: Ia2d419cb07b779e02677b28b60973d1daf53932c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/227979
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Lauren Williams <lcwilliams@instructure.com>
Reviewed-by: Clint Furse <cfurse@instructure.com>
closes LA-963
flag=module_dnd
test plan:
- in an empty module, upload a file using the
drag and drop area
- after upload complete, attempt to upload the
file again using the drop and drop area
- confirm that the rename dialog doesn't mention
"location" anymore
- open the Add Item to Module dialog
- select File -> "New Files(s)" and then attempt
to upload the same file
- confirm that the rename dialog mentions "folder"
and not "location"
- load the "Files" page on the same course
- attempt to upload the same file again, both
using the upload button and file drag and drop
- confirm that the rename dialog mentions "file"
instead of "item" and "folder" instead of "location"
- repeat the above steps with a course associated with
a blueprint course with files, so that the associated
course has locked files
- confirm that when attempting to upload a locked file
that the messaging is not generic like:
"A locked item named...". instead it should start
with "A locked file named..."
Change-Id: I4752b6ae9b0cb8176f230f2d9ab49920c40af2d9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/235297
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Mark McDermott <mmcdermott@instructure.com>
Product-Review: Lauren Williams <lcwilliams@instructure.com>
closes LA-961
flag=module_dnd
test plan:
- create 2 modules
- in module1, create an item for file1
- from module2, click the add item button,
[new file(s)], choose file(s), and select file1
> expect to be asked whether to replace or rename
- replace
> click "Add Item" button
> expect a new module item for file1 in module2
> expect the existing module item for file1 in module1
to also point to the replaced file
- repeat, but rename instead of replace
> expect a new item in module2 with the renamed copy
of the file
Change-Id: Icc2495276182ed118fef904edfd052b147fc04fd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/235400
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Mark McDermott <mmcdermott@instructure.com>
Reviewed-by: Mark McDermott <mmcdermott@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
closes UXS-100
flag=module_dnd
test plan:
- in an account, enable the "Module File Upload Enhancements"
feature option
- create a new course
- load the modules page
- create a new module
- confirm that a drag and drop area appears below the empty
module
- confirm that dragging and dropping some files in that area
upload and create module items with those file names
- confirm that the drag and drop area remains available after
the uploads complete
- drag and drop those same files again
- confirm that a dialog appears for each file, allowing you
to either skip the file for upload, rename the file or
replace
- skip some files, rename some files and replace some files
- confirm that the files renamed appear as module items
- confirm that the files replace appear twice because of
a bug that duplicates a module item if you upload the
same file twice without reloading the page (LA-938)
- create a new module
- confirm that a drag and drop area appears below the empty
module
- drag and drop those same files again into the new module
- confirm that a dialog appears for each file, since those
files were already uploaded, even if they're not module
items yet in this module
- reload the modules page
- confirm that a drag and drop area is no longer available
in the modules, since they have module items
- in an account, enable the "Duplicate Modules"
feature option
- reload the modules page
- confirm if you duplicate any module with module
items, that the duplicate module does not contain
a drag and drop area
- create an empty module and confirm that it does
contain a drag and drop area
- confirm that if you duplicate the empty module,
that the duplicate module contains a drag and drop
area
- confirm that these drag and drop areas upload files
and create module items
- in an account, disable the "Module File Upload Enhancements"
feature option
- return to the modules page
- confirm that when you create an empty module or duplicate
an empty module that no drag and drop area is available
anymore
Change-Id: I5b0f79c5496846d5f51f2efa493fd538123c5909
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/233989
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Mark McDermott <mmcdermott@instructure.com>
Reviewed-by: Pat Renner <prenner@instructure.com>
QA-Review: Mark McDermott <mmcdermott@instructure.com>
Product-Review: Jody Sailor
refs UXS-54
flag=module_dnd
Notes:
- Uploading & replacing the same file twice w/o refreshing the page
creates a duplicate module item. This is existing behavior and
beyond the scope of this change
test plan:
with the module_dnd flag off
- Files page upload should work just like before
- Modules page file upload should work just like before
with the module_dnd flag on
- Files page upload should work just like before
- Creating module items with new or existing learning objects
should work like before
- Creating module items from Files should work like before
with the following changes
- Can upload muliple files to create new module items
- uploads zips and does not offer to expand
- if you upload a file that already exists, you will be
prompted to rename or replace
- if you choose to replace a file and there is an existing module item
for the file you're replacing, doesn't create a new module item
NOTE: currently,if you add a file, then add it again w/o
refreshing the page, it will create a new module item.
- refreshes the file tree when re-opening the dialog to show
newly uploaded files
- if an upload fails, the "Choose files" input still has the
file(s) you picked, and you can retry or cancel.
- the Add Item button is disabled until a file is selected, either
from the list, or from "Choose Files"
- if you skip all the selected files, the "choose files" show no
files chosedn and the "Add Item" button is disabled
Change-Id: Ie281dee44333f6d64d3066a55d0896d8daab3f6f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/232997
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
Reviewed-by: Pat Renner <prenner@instructure.com>
QA-Review: Mark McDermott <mmcdermott@instructure.com>
Product-Review: Jody Sailor
fixes CNVS-48982
flag = none
extract grading form
as separate object and
attempt speccing grading form
TEST PLAN:
* speed grade a quiz
* put the cursor into a "point" input above a question
* hold down the enter key with the network panel open
* you should not see hundreds of cancelled form submits
* release the enter key
* the form submits
Change-Id: I89b0164fb5ccec02baecd57d91768060c834755e
Change-Id: I484dee3bb85ae9e5e97812baf32197a4e4715211
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/235226
Reviewed-by: Aaron Griffin <agriffin@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: David Tan <dtan@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
TEST PLAN:
* speed grade a quiz
* put the cursore into a "point" input above a question
* hold down the enter key with the network panel open
* you should not see hundreds of cancelled form submits
* release the enter key
* the form submits
Change-Id: I4fa8289295869d2c867e48a3121bf432d88dab1a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/235106
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Griffin <agriffin@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
fixes sentry issue: 971915
https://sentry.insops.net/instructure/canvas/issues/971915/
Test Plan:
- Given an UNTAKEN quiz with a file upload question
- On the quiz details page, select 'Download All Files'
- After the first success, do it again
- The download should succeed as expected
This also fixes the submission downloader when we hit an "errored"
state - which can only occur when no files are added to the zip.
flag = none
refs QO-603
Change-Id: I598118e4b5fa36458fca66e47e0df44a6ceb9ec8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/233336
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: David Tan <dtan@instructure.com>
Product-Review: Kevin Dougherty <jdougherty@instructure.com>
Reviewed-by: Stephen Kacsmark <skacsmark@instructure.com>
Test plan:
- The feature flags no longer exist nor do they show up on the
body
Change-Id: I0665219c599aeb7295a955104cf173f827388604
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/234427
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Daniel Sasaki <dsasaki@instructure.com>
Product-Review: Daniel Sasaki <dsasaki@instructure.com>
flag=none
closes QO-354
test plan:
- create a timed classic quiz
- after time is up, close the alert box
- see "Submit Quiz" button is disabled
Change-Id: Ibfc16564e5e94dff3e0fc258a52189e7483f9a88
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/233766
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Vidya Subramaniam <vsubramaniam@instructure.com>
Reviewed-by: Jim Simon <jsimon@instructure.com>
QA-Review: David Tan <dtan@instructure.com>
Product-Review: Kevin Dougherty <jdougherty@instructure.com>
closes USERS-261
flag=responsive_2020_04
Test plan:
- Turn on the April 2020 Responsive feature flag as an admin
- Go to your institution's Settings > Reports (tab)
- Confirm that both modals in the JIRA ticket no longer
overflow at 320px. Note the modal triggered by the ?
button will sometimes contain a data table. I confirmed
with the a11y team that data tables are exempt from
WCAG overflow requirements.
Change-Id: Id5ccba26ae800da388c12b530a82fe06a3cb3968
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/233573
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
Reviewed-by: Gabriel Brady <gbrady@instructure.com>
QA-Review: Daniel Sasaki <dsasaki@instructure.com>
Product-Review: Daniel Sasaki <dsasaki@instructure.com>
Test Plan:
- before https://gerrit.instructure.com/c/canvas-lms/+/233336
- given a quiz with a file upload question that no one has taken
- click 'Download All Files' on the quiz info page
- after the first successful run, click it again
- see some errors until the modal fails
flag = none
closes QO-603
Change-Id: I7e84b06b18580a8e838b3ed840d8fbc6d42a3e40
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/233701
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: David Tan <dtan@instructure.com>
Product-Review: Kevin Dougherty <jdougherty@instructure.com>
closes LA-602
flag=responsive_2020_04
Test plan
The following modal dialogs should now work down to
320px screen width:
- Add Module (the + Module button)
- Add Item (the + button in the heading of a
Module Item Group)
- Edit Module Settings
- Edit Module Item (the edit option from the module
item's dropdown)
Change-Id: I59f8db3e8430c56c00828b1ee022b3e166f6469c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/233603
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Gabriel Brady <gbrady@instructure.com>
QA-Review: Daniel Sasaki <dsasaki@instructure.com>
Product-Review: Daniel Sasaki <dsasaki@instructure.com>
This strips leading and trailing whitespace from grading standards
before they are saved.
fixes TALLY-650
flag=none
Test Plan
- Create a course grading scheme.
- Edit the course grading scheme so that it has spaces leading and
trailing the name of the value.
- Verify that grading in the gradebook with that named-value works if
inputted without leading/trailing spaces.
Change-Id: Ia67638e0fc7f240ae2c1c83d81cf77c68fed2326
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/232283
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Spencer Olson <solson@instructure.com>
Pages include rubrics, outcomes, and the
Zoom and New Analytics LTI apps. This calls
the `set_tutorial_js_env` function on those pages
so the proper JS Env vars are set.
Adds the necessary trays as well as the logic for
whether those trays should be opened or not.
Also adds two more adorable panda illustrations.
Test Plan:
Visit the outcomes page of a course
The Tutorial tray should appear; copy and links
should match the requirements in the linked Jira.
Same when visiting the rubrics page (either through
the outcomes page or via the dedicated nav link)
Same when visiting the Zoom LTI app from the course
navbar.
Same when visiting New Analytics, either from the course
navbar or the toolbar link on the right side of the course.
Refs UXS-53
flag = new_user_tutorial
Change-Id: I94d358cfdb23c575eac7cbc2589b336eb3882a59
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/233279
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: David Tan <dtan@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
Product-Review: Jody Sailor
fixes TALLY-789
flag=none
Test Plan
- Create a course grading standards via course settings.
- Edit the grading standard.
- Attempt to edit the grading standard again without reloading the
page.
- Verify that editing works without errors.
On editing a course grading standard, an invisible template row is
added when the returned grading standards data comes back from the
server. This is added at the bottom, but the logic in the file all
assumes that the last row is worth 0 points. Because the real last row
is no longer the physical last row, it isn't being set to 0, so
subsequent edits will fail when the server rejects the bad grading
standard data.
Change-Id: Ia8ea39b856bf1f205cf11aed49a67a6eed6208b8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/232136
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Gary Mei <gmei@instructure.com>
Product-Review: Spencer Olson <solson@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
fixes QO-523
flag = none
test plan:
- create/publish a classic quiz
- go to moderate the quiz
- adding extra time/attempts for a student should
not update the score column to a 0
- actually scoring 0 on a quiz should show correctly
Change-Id: I6fb93db7bca94c22339d44a5247cbb71f09e1053
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/233358
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Syed Hussain <shussain@instructure.com>
Reviewed-by: Jim Simon <jsimon@instructure.com>
QA-Review: David Tan <dtan@instructure.com>
Product-Review: Kevin Dougherty <jdougherty@instructure.com>