The variable expansion documentation has instances of information being
outright incorrect, or just confusing. Furthermore, there are no examples
of how to invoke custom fields via variable expansion. For everything
(except the `Canvas.file` type variables), I've documented what is actually
returned as well as an example of what the data might look like. I've also
added examples of how tools can be configured to use custom fields (via
API, UI, or XML).
Test Plan:
Test plan:
1) run localhost Canvas
2) build the API docs (docker-compose run --rm web bundle exec rake
doc:api)
3) navigate to the following:
<your host url>/doc/api/file.tools_variable_substitutions.html
4) check for spelling, grammar, accuracy of information and that any links
work
Fixes PLAT-2022
Change-Id: I754bc2c5e48d4cdd4738c6d03d4d7e3c12a621b1
Reviewed-on: https://gerrit.instructure.com/96801
Tested-by: Jenkins
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Jesse Poulos <jpoulos@instructure.com>
test plan:
- have a master course that locks a file
- ensure the file can't be overwritten in a minion course
closes MC-25
Change-Id: I19f85bb003c401cd71f14d95b422da6fa0b2c0d7
Reviewed-on: https://gerrit.instructure.com/98596
Reviewed-by: James Williams <jamesw@instructure.com>
Tested-by: Jenkins
Product-Review: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Fixes CNVS-34218
Test Plan:
* Create a course; do NOT publish it
* Create a new Discussion in the course and save
* As a teacher, see that you have a Reply button for the Discussion
* See that you are able to add replies to the Discussion
* Enter Student View mode from the course Settings page
* Navigate to the Discussion
* The reply button should be visible and interactive
* Exit Student View mode
* Publish the course
* Enter Student View mode again and navigate to the Discussion
* The reply button should still be visible and interactive
Change-Id: I001088747776d2534c090b1d26b7593115af8fad
Reviewed-on: https://gerrit.instructure.com/99086
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Heath Hales <hhales@instructure.com>
Product-Review: Dan Minkevitch <dan@instructure.com>
test plan
- run enrollment import
- it should work
- if unique index error happens it should continue
Change-Id: If128dbe34b2e41a8139f5afb8d87f9d424dd024a
Reviewed-on: https://gerrit.instructure.com/99088
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
This adds a drop down menu to the total grade column in Default Gradebook.
closes CNVS-31608
test plan:
1. enable Gradezilla in Account Settings
2. visit Gradezilla version of Gradebook
3. verify the total grade column shows the text "Total"
4. verify the "More" menu is present and functional
QA/Dev Notes:
* For this feature to work properly with SlickGrid, the sorting
functionality needed to be removed from the student column. This
behavior will be restored in a subsequent commit as an option within
this menu.
* There are known issues with the InstUI PopoverMenu component, which
are currently being worked on by the InstUI team.
* clicking outside of the open menu will throw an error
* opening/closing the menu will scroll the window
* the first item is always highlighted when using the cursor
* Menu Items are translated, but are placeholders without
functionality. Clicking them will do nothing at this time.
Change-Id: I3b8d4591bd52735fc03b550d2929c7a54ed12cdb
Reviewed-on: https://gerrit.instructure.com/99078
Tested-by: Jenkins
QA-Review: Anju Reddy <areddy@instructure.com>
Reviewed-by: Neil Gupta <ngupta@instructure.com>
Reviewed-by: Shahbaz Javeed <sjaveed@instructure.com>
Product-Review: Christi Wruck
fixes: CNVS-34235
test plan:
* automated tests should pass
* make sure that you see that it picks up all
the plugin stuff in the jenkins webpack build
* mv gems/plugins ./moved_plugins
* ln -s ./moved_plugins gems/plugins
* run webpack with those plugins in the symlinked
directory
* it should work
Change-Id: I97024d29d9dbf153147781af05c205fe766c0bd3
Reviewed-on: https://gerrit.instructure.com/99159
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
closes OFFW-47
test plan
- Load the Course Content Downloads page either via modules
or going directly to /courses/:course_id/offline_web_exports
- Verify that there is a real list of downloads in oldest to
newest order
- If there are any that are in process, they should not show up.
- A spinner should show up while loading the history
- If you can induce an error, you should get error text
Change-Id: I21cb0d0196fdd3fda93ee0680ff076e79b798780
Reviewed-on: https://gerrit.instructure.com/98236
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Mysti Sadler <mysti@instructure.com>
when input is null or undefined it will return NaN, when input is a
number returns original input, when input is an object it is
converted to a string before parsing.
refs CNVS-34225
test plan:
- code review new tests
Change-Id: I1b57df02c6f2221a882ed84ad9d3ad1562167201
Reviewed-on: https://gerrit.instructure.com/99112
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Neil Gupta <ngupta@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Brent Burgoyne <bburgoyne@instructure.com>
Fixes: CNVS-33917
test plan:
- as an admin open outcomes
- click the ... button on the upper right then "manage rubrics"
- either open an existing rubric or add a new rubric
- find an outcome and add to rubric (click the edit button on an existing
rubric ... then the "find outcome" link at the bottom of the rubric table)
- save the rubric
- now... use the rubric you just created or edited for at least one student
assignment... as a student submit the assignment so as the teacher you can
enter a score that earns mastery for said student
- back in the course sub-nav click "outcomes"
- click the name of the outcome you created and used... click the title
again and you will be taken to the alignments page
- original view: http://www.screencast.com/t/rNg2r9NEWb
- new view: http://www.screencast.com/t/CsMXAouuLjg
- side note: the icon that appears alongside the outcome name was also
updated from icon-note-light to the new icon-outcomes as was the uggo
yellow flag that appeared next to the outcome name within the rubric
table (example: http://www.screencast.com/t/9gNg1ZLPt)
Change-Id: I76694fa6bc55cdbb6a5ecf64d05e1eae70babd99
Reviewed-on: https://gerrit.instructure.com/98733
Tested-by: Jenkins
Reviewed-by: Chris Hart <chart@instructure.com>
QA-Review: Dan Sasaki
Product-Review: Kyle Follett <kfollett@instructure.com>
Fixes CNVS-32980
Test plan: smoke test grade calculator
* As a teacher, create an assignment
* As a student, submit something for that assignment
* As a teacher, grade the submission
* Make sure the grade saved properly and is viewable by teacher
and student.
Change-Id: Ie789492c3966be660bb726079dc2191cc1cbf8fe
Reviewed-on: https://gerrit.instructure.com/99065
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
Tested-by: Jenkins
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Neil Gupta <ngupta@instructure.com>
cleaner interface, with the bonus of making it easier to avoid mocking
`any_instance` on this class.
closes CNVS-33854
test plan:
- register twitter as a user service
- it should work
Change-Id: I9dd2c7b85dd9937ebe2653a5e1309757812b6bf2
Reviewed-on: https://gerrit.instructure.com/97537
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: Benjamin Christian Nelson <bcnelson@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
refs OUT-450
test plan:
- enable Academic Benchmarks using v1 credentials
- import any set of standards
- confirm that only vendor_guid and migration_id
columns in learning_outcomes and learning_outcome_groups
are populated
- clear out all outcomes and outcome groups
- configure Academic Benchmarks using v3 credentials
- enable the use of the new GUID columns by running the following
in a Rails console:
* plugin = Canvas::Plugin.find('academic_benchmark_importer')
* pluginSettings = PluginSetting.find_by_name(plugin.id)
* pluginSettings.settings[:new_guid_columns]=true
* pluginSettings.save!
- import any set of standards
- confirm that only vendor_guid_2 and migration_id_2
columns in learning_outcomes and learning_outcome_groups
are populated
- restore the use of the current GUID columns by running
the following in the previous Rails console:
* pluginSettings.settings.delete(:new_guid_columns)
* pluginSettings.save!
Change-Id: I77e5d578a55a0967310208029f1c5225188c3455
Reviewed-on: https://gerrit.instructure.com/98347
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Michael Brewer-Davis <mbd@instructure.com>
QA-Review: Cemal Aktas <caktas@instructure.com>
Product-Review: Michael Brewer-Davis <mbd@instructure.com>
Fixes PLAT-1781
Test Plan:
- Launch the LTI 2 registration modal and
verify the modal contains focus when
content is tabbed through.
- Navigate to the assignment creation page
- Launch a tool from the RCE and verify
that focus is contained in the modal
when tabbing through content.
- Choose submission type 'external tool',
click 'find', and launch a tool. Verify
that focus is contained in the modal when
tabbing through the content.
- Repeat the test for module selection
placement.
- Repeat the test for the assignment
submission placement modal.
Change-Id: I8afc232987c2f60fd57ab2c722e1e3b4c9db0757
Reviewed-on: https://gerrit.instructure.com/98818
Tested-by: Jenkins
Reviewed-by: Nathan Mills <nathanm@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
no longer hash change when skipping to content
This specifically fixes lti_collaborations iframeception
but will also prevent other push state change watchers from rerenderering
Ref: RD-3385
t# On branch master
Change-Id: I2ff8c95b442df48f1575601fd1f47add32c76076
Reviewed-on: https://gerrit.instructure.com/98890
Tested-by: Jenkins
Reviewed-by: Daniel Nehring <dnehring@instructure.com>
Reviewed-by: Josh Orr <jgorr@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
Change-Id: Icb882728dc0ed2388c0614cc082cd229d4831578
Reviewed-on: https://gerrit.instructure.com/99083
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
closes: OUT-792
Test plan:
- As teacher, create a mastery paths rule that includes OR
- For some/all of the assignments included in the OR, give
the assignment a description. Include rich content.
- As student, trigger the mastery paths rule.
- Go to modules and see "Select assignment set" link
- Go to select assignment set page
- Verify that the descriptions are shown with each assignment,
and the rich content is rendered correctly
Change-Id: I5e732e6e3976b38375f322e3f09a266159abaf46
Reviewed-on: https://gerrit.instructure.com/97064
Reviewed-by: Christian Prescott <cprescott@instructure.com>
Tested-by: Jenkins
QA-Review: Cemal Aktas <caktas@instructure.com>
Product-Review: McCall Smith <mcsmith@instructure.com>
closes #CNVS-34198
Change-Id: Icae803f040cee1999dfd9bc4c92f10c7f3494f97
Reviewed-on: https://gerrit.instructure.com/99097
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Fixes CNVS-33763
Test Plan:
* Prerequisite: Kaltura/Notorious plugin enabled for generating
file previews
* Create a course with "Institution" visibility.
* Upload a media file to the course.
* Create a content page and link the media file using the sidebar.
* Log in or masquerade as a non-enrolled user.
* Access the page and see that the file link appears along
with its preview.
Change-Id: If5590abaded4d74a1f5d737fe84de42bb60c6ffe
Reviewed-on: https://gerrit.instructure.com/97790
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Heath Hales <hhales@instructure.com>
Product-Review: Dan Minkevitch <dan@instructure.com>
closes FALCOR-51
Test plan:
When viewing student context cards, users that have masquerade
permissions should see a link to masquerade on the context card
Change-Id: Id052bad1f218b46af14c8688a03add6050765009
Reviewed-on: https://gerrit.instructure.com/98960
Reviewed-by: John Corrigan <jcorrigan@instructure.com>
Tested-by: Jenkins
QA-Review: Dan Sasaki
Product-Review: Christi Wruck
fixes: CNVS-33198
test plan:
- given a grading scheme
- the name of the scheme should not be focusable when tabbing through
elements or using any other keyboard-only nav inputs.
- given a grading period
- the names and dates are not focusable when tabbing through input
elements
Change-Id: Iea2166f26d855e3b060a35b7b5fe2915534164ac
Reviewed-on: https://gerrit.instructure.com/98945
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Tested-by: Jenkins
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
QA-Review: KC Naegle <knaegle@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
fixes PLAT-1857
test plan:
- submit a file through the TII lti tool
- once you get a score back, pull up the Attachment model in a
rails console and change the uploaded_data using a StringIO object
- hit
api/v1/support_helpers/turnitin/refresh_lti_attachment?attachment_id=:attacment_id&submission_id=:submission_id
-once the fixer completes the attachment in canvas should be refreshed
with the correct data
Change-Id: Ife04efd952d615a44114894bca2a6d816740948d
Reviewed-on: https://gerrit.instructure.com/98729
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins
Product-Review: Nathan Mills <nathanm@instructure.com>
Fixes: SIS-2575
Notes: The gergich warning about adding tests is
being ignored because we are only adding a setting
to accounts which is tested else where i.e. the UI
where it is actually used and tested thoroughly.
This has been the pattern of the other account
settings we've added in the past.
Test plan:
- Confirm the new setting 'Limit assignment names lengths' is there
- Confirm the name length input box appears when the setting is
checked
- Confirm the value you set on the input persists on save
Change-Id: I34e7d09a23fb2350ad16f37c372a7355fde2686c
Reviewed-on: https://gerrit.instructure.com/96853
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Tested-by: Jenkins
Reviewed-by: Stewie aka Nicholas Stewart <nstewart@instructure.com>
Product-Review: Brad Humphrey <brad@instructure.com>
The monkey-patch is necessary to allow shoulda-matchers > 3.0.1
to work with active_model-better_errors. This essentially
provides a working grep implementation to ErrorMessageSet
test plan:
* Ensure specs pass
Change-Id: I1e4b490e98803a62293702fa38951f3dce5fcde4
Reviewed-on: https://gerrit.instructure.com/98513
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
QA-Review: Keith T. Garner <kgarner@instructure.com>
Tested-by: Jenkins
When a student uses What-If grades on muted assignments, those
assignments will be included in the grade calculation, rather than
ignored.
closes CNVS-27403
test plan:
A. select or create
1. a course
2. a teacher for the course
3. a student enrolled in the course
4. at least two assignments
B. as the teacher
1. mute one assignment
2. grade the assignments
C. as the student
1. visit the grade summary page
2. verify that the muted assignment
a. is not visibly graded
b. does not count in the displayed grade calculation
3. apply a What-If grade to the muted assignment
4. verify that the What-If grade is used in the grade calculation
5. remove the What-If grade
6. re-verify step 2
Change-Id: I6bafc25b26506ae4137dc5b1142babc2d49ca7b1
Reviewed-on: https://gerrit.instructure.com/98985
Tested-by: Jenkins
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
Adding a flag to the Account.settings that determines if turnitin is
enabled. The ability to set or remove this flag has been changed to
only be available to site admins. Once the flag is set to on, the
account admins will have the ability to configure the turnitin
settings. Turning this flag off will disable turnitin for the
account.
closes CNVS-33937
test plan:
- As an account admin, visit the account settings page and note there
is no turnitin checkbox nor the turnitin settings dialog.
- As a site admin, visit the account settings page and note the
turnitin checkbox.
- As the site admin, check the turnitin checkbox and save the
settings.
- Note on page reload the turniting settings dialog appeared.
- As an account admin, visit the account settings page and note the
settings dialog is present.
- As an account admin, fill in the settings dialog and save the
settings.
- As a site admin, visit the account settings page and uncheck the
turnitin checkbox and save the settings.
- Note on page reload the turnitin dialog is gone.
- As a site admin, check the turnitin checkbox and save the settings.
- Note the turnitin settings dialog appears and contains the previous
info.
Change-Id: I06e0add066794d56be27cb13250ccfa79d095e26
Reviewed-on: https://gerrit.instructure.com/98765
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Tested-by: Jenkins
QA-Review: Anju Reddy <areddy@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Christi Wruck
fixes CNVS-34164
test plan:
* basic smoke test that translations still work
Change-Id: Ia88fc88de8b52aeaa92b65ea43b93eef5adb1dcc
Reviewed-on: https://gerrit.instructure.com/95065
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
fixes OFFW-31
test plan:
* as a student that has never initiated an offline download,
make sure no text shows below the offline download button.
* initiate a download by clicking on the button, then go back to modules
and see the last download text below the offline download button.
* the link in the last download text should take you to the offline
download page. clicking on this should not change the last download
date on the modules page since it doesn't start a new download.
* refreshing the download page should also not start a new download.
Change-Id: Id5611e7308bfefebf565cbc61350cac008304347
Reviewed-on: https://gerrit.instructure.com/97760
Tested-by: Jenkins
Reviewed-by: Cameron Sutter <csutter@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
fixes FALCOR-17
- Adds a CoursesController#permissions endpoint to be used for soft
checking of permissions for a given course & user.
- Adds a permission request to StudentCardStore; conditionally performs
addition API requests based on result of inital permission request.
- Updates StudentContextTray to conditionally display things based on
permission information.
test plan:
- Observe that as a teacher viewing the tray for a student:
-- All links & buttons work (including message form)
-- All information is displayed (course information; user information;
recently graded submissions).
- Observe that as a student viewing the tray for a student:
-- The message student form works (assuming those rights are granted),
but that the grades / analytics links / buttons are not present.
-- Course & user information is present.
Change-Id: I537af3e14495a6dfcb3df5f0346630e3849714d5
Reviewed-on: https://gerrit.instructure.com/97028
Reviewed-by: Cameron Matheson <cameron@instructure.com>
QA-Review: Dan Sasaki
Product-Review: Christi Wruck
Tested-by: Jenkins
When a student is graded, the score for their grading period will now
be updated in addition to their total course score. Previously, when a
student was graded, their grading period score was not updated.
closes CNVS-26709
test plan:
1) In a course with multiple grading periods enabled and grading
periods set up, grade students for assignments that fall in grading
periods and make sure the scores get updated for the grading period
and for the course total.
* To make sure the scores get updated for the grading period, open a
rails console and find the grading period scores (we'll assume the
student's enrollment ID is 5, and the ID of the grading period
that the assignment falls in is 8).
$ Enrollment.find(5).scores.where(grading_period_id: 8)
Then, give a different grade to the student for the assignment
that falls in the grading period and run the command above again.
You should see that the current_score and final_score have
changed.
* To make sure the scores get updated for the course total, open a
rails console and find the course total scores (we'll assume the
student's enrollment ID is 5).
$ Enrollment.find(5).scores.where(grading_period_id: nil)
Then, give a different grade to the student for the assignment
that falls in the grading period and run the command above again.
You should see that the current_score and final_score have
changed.
Edge case: make sure that grading period scores continue to get updated
even if MGP is turned off. To verify this, turn off MGP in a course
that originally had MGP turned on. Then, grade students in assignments
that fell in a grading period when MGP was enabled. After grading, the
grading period scores should be updated.
Change-Id: I29e4e22a0b73d1062a93c6ad420d876c2f5d040a
Reviewed-on: https://gerrit.instructure.com/98603
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Tested-by: Jenkins
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
fixes FALCOR-48
test plan:
- Make sure that StudentContextTray is turned on.
- Trigger Tray for a student as a teacher.
- Observe that the Rating component shows up twice at the bottom of the
Tray, once for participation level, once for page views level.
Change-Id: I2158b6203a6a6fd1c9b4c8c7faa1a97cb279ef04
Reviewed-on: https://gerrit.instructure.com/96852
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Tested-by: Jenkins
Product-Review: John Corrigan <jcorrigan@instructure.com>
closes MC-27
Change-Id: I06b81999b1f3113f8ece9fb9b34a4a0ea705d746
Reviewed-on: https://gerrit.instructure.com/98556
Reviewed-by: James Williams <jamesw@instructure.com>
Tested-by: Jenkins
Product-Review: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
closes #MC-57
Change-Id: I29991072323cf1f4eeff89fe5d416299f5694787
Reviewed-on: https://gerrit.instructure.com/98851
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Fixes CNVS-34159
Test Plan:
* As a teacher in a course
* Create multiple announcements with various post dates
and delayed post dates
* Create and set a wiki front page to the Course Homepage
* Enable "Display Announcements on Homepage" course setting
* The course homepage should show the announcements in order
from most recently posted (or delayed posted) to oldest
* The /api/v1/announcements API endpoint should return
the announcements in the same order
Change-Id: I2e16194bb4ad4ed812d7854a763b2ed8b2817e7a
Reviewed-on: https://gerrit.instructure.com/98895
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: David Tan <dtan@instructure.com>
Product-Review: Dan Minkevitch <dan@instructure.com>