Fixes PLAT-991
Test plan:
- Run through an OAuth flow in the usual manner with a given
developer key
- Run through it again, this time giving replace_tokens=1 to the
call to /login/oauth2/token
- Ensure that the old token was nuked and only the new one remains
- Set replace_tokens to true on the developer key you're using
- Run through the OAuth flow again, without giving replace_tokens=1
to /login/oauth2/token, and ensure that the old token was once
again nuked
Change-Id: Id2b40bfd16918ab3d0852dabc13ed7b500277dc9
Reviewed-on: https://gerrit.instructure.com/52286
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins
Product-Review: Alex Boyd <aboyd@instructure.com>
add unit tests and refactor GradingPeriodCollection.jsx and
GradingPeriod.jsx.
closes CNVS-19912
test plan:
the majority of this commit is adding unit testing around
the grading period components. however, i did do some refactoring
of the grading period codebase, so this commit could potentially
affect any behavior on the grading periods page (courses/:course_id/
grading_standards and accounts/:account_id/grading_standards, with
the multiple grading periods flag turned on).
Change-Id: I53c382f952b71de6a6f0c78d4b5047939ef63d3d
Reviewed-on: https://gerrit.instructure.com/52591
Tested-by: Jenkins
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Spencer Olson <solson@instructure.com>
The leading dot is nginx syntax for allowing both `canvas.docker` and `*.canvas.docker`
Also pull in libxmlsec1-dev, for SAML.
Change-Id: I4281252053b7d890b08c06c30ad17f5b11670579
Reviewed-on: https://gerrit.instructure.com/52720
Tested-by: Jenkins
Reviewed-by: Tyler Pickett <tpickett@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
QA-Review: Brian Palmer <brianp@instructure.com>
fixes CNVS-19888
The most recent version of Flash has a critical bug that causes the default
NellyMoser codec to play back at high speed
https://bugbase.adobe.com/index.cfm?event=selectBug&CFGRIDKEY=3970924
I wasn't able to fix the issue by changing NellyMoser sample rate. Switching to
the (more modern) Speex codec fixes the issue. There might be a slight decrease
in sound quality, since Speex sampling is 16khz, vs the 22khz we were using for
NellyMoser. On the other hand, the Speex codec is more optimized for speech,
which is what most of our recorded video is.
This also pulls in a new build of our KRecord.swf widget which enables
soundcodec and soundrate options.
test plan: without this commit, recording webcam video/audio will play back the
preview at high speed. with this commit, it should play back at the correct
speed. the video/audio should also save and play back later as expected.
Change-Id: Ie16a3ca04e836da9c5fc3bdbcf1b699e9dccf193
Reviewed-on: https://gerrit.instructure.com/52615
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
refs CNVS-19888
All accounts now have the alt recorder enabled, so I've deleted the old recorder
and made the "alt" the only recorder. In other words, I renamed KRecord_alt.swf
to KRecord.swf and removed the setting.
test plan:
The "use alternative flash recording widget" kaltura plugin setting should be gone.
All accounts should now use the new, standard recording widget. the easiest
way to test this is to have multiple cameras plugged in, and check that the
recording widget shows a UI for selecting which camera to use.
Note that right now the preview when you record will play back at a higher speed
than expected. This isn't related to this change, it's a Flash Player bug that
CNVS-19888 is working toward addressing. Once you save the video, playback
should work at normal speed.
Change-Id: I899ff0e7eee887f442fe3d74a64764e43e293cf8
Reviewed-on: https://gerrit.instructure.com/52586
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
test plan:
* should not be able to create a quiz question
with a negative point value
* import the package referenced in the ticket
* should not have questions with negative point values
closes #CNVS-19877
Change-Id: I184bf4705af59bfddfe6bce09c7930e0957dccd6
Reviewed-on: https://gerrit.instructure.com/52611
Tested-by: Jenkins
Reviewed-by: Dan Minkevitch <dan@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
Test Plan:
* As a teacher, create different assignment types
* As a student, make submissions to those assignments
* Click on submission details link for different assignments
* Verify that submission information appears correctly
including preview or feedback button
* Verify that turnitin score appears if turnitin used
* Check for visual problems (wrapping etc)
Fixes CNVS-19249
Change-Id: I0ca835cc213768e2338558ba8aaf6619583e8f89
Reviewed-on: https://gerrit.instructure.com/52364
Tested-by: Jenkins
Reviewed-by: Matt Berns <mberns@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Jonathan Featherstone <jfeatherstone@instructure.com>
we applied styles to the :file_preview js_bundle that
fixed the New Files preview but broke other places that
bundle is used. this commit applies those styles only
when we want them.
test plan:
0. have a video file in a course
1. add the video file to a module
2. ensure the video file previews properly
a) when the module item is clicked
(the video should not overlap the page title or the
module sequence footer)
b) in the old files page
c) in the new files page
fixes CNVS-19764
Change-Id: I22d2fd9f59906b590c369412ffa26f09909e66e3
Reviewed-on: https://gerrit.instructure.com/52597
Tested-by: Jenkins
Reviewed-by: Dan Minkevitch <dan@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
fixes PLAT-984
test plan:
add custom setting to an app
try removing all settings
all settings should be removed
Change-Id: I375943e588b52c5ba6ca15e9d06320284ca3fb75
Reviewed-on: https://gerrit.instructure.com/52589
Reviewed-by: Brad Humphrey <brad@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brad Humphrey <brad@instructure.com>
test plan:
* create a course with a student
* create an assignment
* create a module and add the assignment
as an item
* add a completion requirement to submit the
assignment
* in the gradebook, mark a 0 for the student
in the assignment
* as the student, it should not show the requirement
as completed
closes #CNVS-12693
Change-Id: Ic2721ead70b570e66b12d8936cc5bd4fcff62575
Reviewed-on: https://gerrit.instructure.com/52663
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
refs #CNVS-19842
Change-Id: Iea39f42d7c096c14ec5e1372f1d9127d56f40143
Reviewed-on: https://gerrit.instructure.com/52520
Tested-by: Jenkins
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
fixes CNVS-19905
test plan:
- Log in as a user that has been peer reviewed anonymously.
- Navigate to the user's grades page at /courses/:course_id/grades.
- Click the 'comment' icon to expand the comments box.
- Observe that the reviewer's name is not present, and instead it says
Anonymous User.
- Log in as the teacher for the course.
- Navigate to the student's grades page.
- Click the 'comment' icon to expand the comments box.
- Observe that the reviewer's name is present.
Change-Id: Ifdb405a3c80554f7a2b976ef5b5f2325271cb712
Reviewed-on: https://gerrit.instructure.com/52686
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Reviewed-by: Benjamin Porter <bporter@instructure.com>
Tested-by: Jenkins
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
test plan
- upload a file on user 1
- destroy the s3object
- upload the file again on user 2
- merge user2 into user 1
- it should be a new root_attachment that works
Change-Id: I979932a7aa1a652b2aab4c660dcc6b6de15b8861
Reviewed-on: https://gerrit.instructure.com/50954
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
Test plan:
* instead of uploading gradebook csv, upload a cat picture
* it should tell you the csv failed to parse and take you back to the
upload page
Change-Id: I9a09538250351612603e20a735d0aaf75aecce34
Reviewed-on: https://gerrit.instructure.com/52211
Tested-by: Jenkins
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>
Test Plan
* Verify that app_store is functional in environment
* Turn on screen-reader and navigate to course settings/
apps
* Add a new app that has required fields (like big blue button)
* Leave required fields blank, and attempt to hit "add" button
* Verify that screen-reader announces same message in displayed
error message
Fixes CNVS-19920
Change-Id: I16c04807d2981e3198cf234a6a1234c441789fa9
Reviewed-on: https://gerrit.instructure.com/52685
Reviewed-by: Matt Berns <mberns@instructure.com>
Tested-by: Jenkins
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Jonathan Featherstone <jfeatherstone@instructure.com>
fixes CNVS-17618
This commit addresses a bug where, if a teacher grades a question for a quiz,
in SpeedGrader, with the 'Hide Student Names' setting enabled, it shows the student's
name after refreshing the quiz history page.
Test plan
- As a teacher, create a quiz with a question
- As a student, take the quiz
- As the teacher, go to SpeedGrader
- Turn on the "Hide Student Names" setting
- Turn on the "Grade by Question" setting
- Note that the student's name isn't revealed
- Change the grade of the question of the quiz taken by the student
- The "Results for" header should still be anonymized
Change-Id: I0a562765008c860f1391ce88a8133a179279176e
Reviewed-on: https://gerrit.instructure.com/50265
Reviewed-by: Cameron Matheson <cameron@instructure.com>
Tested-by: Jenkins
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>
fixes CNVS-19344
- Add template for table.
- Update OutcomeSmmaryCollection::ResultCollection#scoresFor method to
parse the datetime values from the API.
- Update OutcomeLineGraphView#render to render table of data in addition
to the d3 driven line graph.
- Update OutconeLineGraph to accept a pre-parsed date.
test plan:
- Navigate to student outcome view at
/courses/:course_id/grades/:user_id#tab-outcomes.
- Use the keyboard to highlight the `...` icon and hit enter to expand
mastery info for an outcome.
- Use a screen reader to navigate content in the popover; note the table
that is present to explain the information that is otherwise displayed
just visually as a line graph. The data features two columns: the
first is the data the assignment related to the outcome was submitted
or the data the outcome assessment was made; the second is the score the
user recieved.
Change-Id: Ibc4ac867c8376e1cb9022a06a311b95a2cf27178
Reviewed-on: https://gerrit.instructure.com/51088
Tested-by: Jenkins
QA-Review: Adam Stone <astone@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
test plan:
* enroll a user
* use the course as that user (giving a total activity time)
* add the user to another section of the course
* the total activity time should be unchanged
* repeat, only instead of adding to another section,
switch the user to a different section (removing
them from the old one)
* total activity time should still be unchanged
closes #CNVS-16335
Change-Id: I7b7889832ae97e3d8fafe0fd1243a6048e359645
Reviewed-on: https://gerrit.instructure.com/52248
Reviewed-by: Braden Anderson <braden@instructure.com>
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
fixes CNVS-19827
test plan:
- go to any page that has a tinymce editor box
in chrome/safari
- use keyboard to navigate to HTML format button and hit enter/click
- focus should move to textarea, and you should be able to tab beyond it
- shift+tab back up and toggle the edit box formatting back to rich content
- focus should automatically be moved into the editor box
- there should be no changes in expected behavior/loss of information typed into
the edit box
in firefox
- with the rich text editor active, attempt to tab beyond the edit box
- there should be no issues with kb only navigation in either direction
in all browsers
- with the rich text editor active, tab beyond the editbox
- shift+tab back to it, the focus should go to the editbox
- review CNVS-9789 and ensure there are no regressions concerning that issue
Change-Id: I0673b22a12809e36ad64d6c1d271deb22355513f
Reviewed-on: https://gerrit.instructure.com/52317
Tested-by: Jenkins
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
this change ensures that if big blue button or wimba misbehave and
timeout many times in a row, our standard timeout protection code will
kick in and blacklist them so that we don't exist app server resources
with timeouts.
closes CNVS-8693
test plan:
- general regression test on big blue button conferences
- general regression test on wimba conferences
- make sure you don't get any timeout errors interacting with these
conferences
Change-Id: Id53165aa76b2d4f821cfa8eb3f19f8a1b3733182
Reviewed-on: https://gerrit.instructure.com/51532
Tested-by: Jenkins
Reviewed-by: Joel Hough <joel@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
fixes CNVS-19782
The checkbox used to determine whether or not an assignment's peer
reviews should be considered anonymous, which is part of a backbone
view, did not function properly if it was 'nested' (i.e., if the name on
the field should be `assiginment[anonymous_peer_reviews]`, instead of just
`anonymous_peer_reviews`. The `checkbox` helper is already setup to
handle this; we just needed to pass the `nested` value to it, and to
update how we determine whether or not the checkbox should appear
checked, so as to avoid manually setting the checkbox's `name`
attribute.
Additionally, this patch fixes a bug in the
`RubricAssessment#considered_anonymous?` method, which would blow up if
the model did not have a related rubric_association. I've added a
protection to two other methods that would have thrown exceptions in the
absence of a rubric_assocation as well.
Finally, I updated the logic in the SubmissionComment policy
declaration, so that when trying to `:read_author`, a student can always
see the name of a teacher, even if the comment is marked as anonymous.
test plan:
- as a teacher, create a graded discussion topic. When doing say, enable
peer reviews, and enable anonymous peer reviews.
- as a student, submit an entry for the graded discussion topic.
- as a teacher, assign a peer review to a student for the submission
above.
- as the reviewer student, submit a review.
- as the reviewed student, navigate to the submission details page
(/courses/:course_id/assignments/:assignment_id/submissions/:user_id)
and observe the comment list on the right hand side of the page.
- observe that the name of the reviewer student is not present, and
instead it says 'Anonymous User'.
- as the teacher, navigate to the same submission page, and observe the
comment list on the right hand side of the page.
- observe that the name of the reviewer student IS present.
- as the teacher, navigate to the same submission page, and observe the
comment list on the right hand side of the page
- as the teacher, leave a comment on the submitted assignment.
- as the reviewed student, navigate to the submission details page, and
observe the comment list on the right hand side of the page.
- observe that the name of the reviewer teacher IS present.
Change-Id: I572dd7fa319cd784e59f00057898fcea5349c899
Reviewed-on: https://gerrit.instructure.com/52099
Tested-by: Jenkins
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
QA-Review: Adam Stone <astone@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
fixes CNVS-19921
test plan:
- go to gradebook individual view with a screenreader enabled
- select a student an assignment, then go to submission details
- the grade input should be properly associated with the Grade: label when read
by voiceover
Change-Id: Ic905c28d6fc0870a0efd4ef07f49259c7658b499
Reviewed-on: https://gerrit.instructure.com/52593
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Matt Berns <mberns@instructure.com>
closes CNVS-19678
Test Plan:
- Go to an instance of TinyMCE
- Press Alt+F9 to open the menu bar
- The menu's hover states and focus states should be
compliant for color contrast.
Change-Id: Iaf1258ff28da49e9f672bb9f38ac3175886fc957
Reviewed-on: https://gerrit.instructure.com/52308
Tested-by: Jenkins
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
fixes CNVS-15499
test plan:
- go to a course assignment page
- add a rubric and check 'use for grading'
- hit save, but don't refresh the page
- hit edit on the rubric
- the 'use for grading' check should still be there
- now refresh the page and edit again
- the 'use for grading' check should still be there
Change-Id: Idb43afa1d1974f26cec7b86adc317a64f7010185
Reviewed-on: https://gerrit.instructure.com/52038
Tested-by: Jenkins
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
QA-Review: Adam Stone <astone@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
iTunes requires that enclosure urls end with the media extension, even
if they are redirect urls
fixes CNVS-19718
test plan:
- in a course, upload a media file (like an mp3)
- create an announcement, link to the media file in the announcement,
and check the setting to allow the podcast feed
- save the announcement
- load the podcast rss feed, it should list the media file you uploaded
and the enclosure url should have .mp3 in it (end of url, before query
params)
- load the podcast feed in itunes
- it should work
Change-Id: I398a2cc0462405e27bf4f189fa9a2905df3b29db
Reviewed-on: https://gerrit.instructure.com/52092
Tested-by: Jenkins
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
QA-Review: Adam Stone <astone@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
test plan:
* import the sis .zip package referenced in the ticket
* should have a warning
* should not create an active enrollment in the new course
closes #CNVS-19829
Change-Id: I1f1aa23da7a7a8aab09026bc974945f8f3fc5743
Reviewed-on: https://gerrit.instructure.com/52576
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
test plan:
0. enable "better file browsing" and "usage rights required"
in a course
1. upload and expand a zip file and confirm the files are
unpublished initially
2. confirm that a file imported from an imscc package is
(a) unpublished in the new course if no usage rights
were set in the source course, regardless of whether
the file was published in the source course
(b) unpublished in the new course if it was unpublished
in the source course, regardless of whether usage
rights were set in the source course
(c) published in the new course if it was published in
the source course and had usage rights set.
3. repeat step 2, but with course copy instead
fixes CNVS-19620
Change-Id: I9a32adeafb94e4922ba95ad6466c72aca3fd3598
Reviewed-on: https://gerrit.instructure.com/52465
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Fixes PLAT-994
Test plan
Have a really old google collab
make sure it works with drive
Change-Id: I6e685bb975bc2f6a84a6d3207dd0c61bd7f1d3f5
Reviewed-on: https://gerrit.instructure.com/52551
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins
Reviewed-by: Brad Humphrey <brad@instructure.com>
Product-Review: Brad Humphrey <brad@instructure.com>
test plan:
* log in as a teacher
* set the locale and time zone as the user
* enter student view for a course
* should still use the same locale and time zone
as the real user
closes #CNVS-1488
Change-Id: I81636f3c34a7ded7fb0aec025a6fc8fba9659efd
Reviewed-on: https://gerrit.instructure.com/52516
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
We found this useful in rails2, especially the timing information, but it was
lost in rails3. This uses ActiveSupport Notifications to log the information.
test plan: with redis enabled, load some canvas pages. you should see
"CacheStore" lines in the debug logs, showing the operation, key name, and time
taken.
Change-Id: Ifd30a3aa6a6da6d0ea54fa7ad1aba4537dc483f2
Reviewed-on: https://gerrit.instructure.com/51589
Reviewed-by: Kevin Blackham <kblackham@instructure.com>
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
refs #CNVS-19842
Change-Id: I71b8ee06e6d030260f75736ad9b34b0ce3179469
Reviewed-on: https://gerrit.instructure.com/52464
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Closes CNVS-19694
Test Plan:
- Confirm no dates appear on feature flag.
Change-Id: I4935fcec4e2d6f0a5b5ffa769f9aa87da6e6294b
Reviewed-on: https://gerrit.instructure.com/52148
Tested-by: Jenkins
Reviewed-by: Brian Finney <bfinney@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Ryan Taylor <rtaylor@instructure.com>