test plan:
* create a quiz with a file upload question with
a comment
* copy the course
* the copied question should preserve the comment
closes #QO-88
Change-Id: I479d1f03f11cb00b727300c423ec2632286c8bc7
Reviewed-on: https://gerrit.instructure.com/171924
Tested-by: Jenkins
Reviewed-by: Mysti Sadler <mysti@instructure.com>
QA-Review: Mysti Sadler <mysti@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
test plan:
* create a quiz in a blueprint course
with various question types with answers
* copy to an associated course
* in the associated course, take the quiz
as a student
* edit the blueprint quiz description and re-sync
* the quiz statistics page for the student
should not be broken
closes #QO-416 #QO-197
Change-Id: Ib9a2eaf537e66c0729d52ea94c013f64426dfc6a
Reviewed-on: https://gerrit.instructure.com/168223
Tested-by: Jenkins
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
test plan:
* have an assignment in a course with moderated
and anonymous grading settings checked (may have to enable
features for these to be available)
* copy it into another course (with same features enabled)
* the copied assignment should have the same settings
closes #ADMIN-1489
Change-Id: I2647ce11da3a4cfb3ea370887248ef4b8d79a53a
Reviewed-on: https://gerrit.instructure.com/166114
Tested-by: Jenkins
QA-Review: Jon Willesen <jonw+gerrit@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Reviewed-by: Carl Kibler <ckibler@instructure.com>
Reviewed-by: Mysti Sadler <mysti@instructure.com>
test plan:
- Enable Mastery Paths in the course or account
- Create a course with a Module and add a Page and an Assignment as module items
- Enable MP for Page
- Add Page as a conditional content to an MP assignment
- Login as a student to check that the page is not visible
- Copy course into a new course shell
- Login as a student in the child course
- The page should not be visible before it is unlocked
fixes ADMIN-1461
Change-Id: I4c0d02b33a78862edcb36914dfe531b24caad08f
Reviewed-on: https://gerrit.instructure.com/167010
Tested-by: Jenkins
QA-Review: Mysti Sadler <mysti@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Neil Gupta <ngupta@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
test plan:
* a blueprint course with "Institution" level visibility
should copy the setting (when settings are included)
to an associated course
closes #ADMIN-1428
Change-Id: I1667c968ec75228c6d85962fc0d6f5d87474adf9
Reviewed-on: https://gerrit.instructure.com/164325
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
QA-Review: Carl Kibler <ckibler@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
just copy the external identifier like the way we
do for the rubrics themselves - when the account-level
group is added the outcomes aren't copied down to
the blueprint so we can't rely on the old way
of copying them
test plan:
* have an account-level outcome group
* create an outcome in the group
* create a blueprint course
* add the account-level group (not the outcome alone)
to the blueprint course
* sync to an associated course
* create a rubric on the blueprint and link
to the account-level outcome
* sync to the associated course
* the rubric in the associated course should still
be linked to the outcome
closes #ADMIN-1460
Change-Id: I7a0458200b467f8c9d1fbb056cebfcea4adfabb5
Reviewed-on: https://gerrit.instructure.com/165062
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
closes #ADMIN-1367
Change-Id: I76e134c57090d9c7504cac8faee452e4e5271283
Reviewed-on: https://gerrit.instructure.com/161585
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
test plan:
* have a blueprint course and an associated course
* set start and end dates on the associated course
* make a sync from the blueprint without settings
checked
* it should leave the dates alone
* remove the dates on the blueprint course
* make a sync with settings checked
* it should remove the dates on the associated course
closes #ADMIN-1328
Change-Id: I09fbd02da0ef518f363d40fc3c8bfac9bb1d7580
Reviewed-on: https://gerrit.instructure.com/160696
Tested-by: Jenkins
Reviewed-by: Mysti Sadler <mysti@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
test plan:
* create a course with an assignment added as a module item
* follow the link to the assignment from the modules page
* note the url with a "?module_item_id=X"
* create html content in the course with a link to that url
* copy the course
* it should translate the link so the module_item_id points
to the id of the new module item
closes #ADMIN-1289
Change-Id: Iabac7f65751d55124349c5e99e361a11cf1ef9b1
Reviewed-on: https://gerrit.instructure.com/159035
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
QA-Review: Carl Kibler <ckibler@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
test plan:
- for an initial sync of a blueprint course to an associated
course, the following should be copied:
* start date
* end date
* restrict enrollments to course dates setting
- for subsequent syncs, the above should be included if
"Include Course Settings" is checked
fixes ADMIN-1107
Change-Id: I402a40ce690f19fdcc06e33399dbf2e3af07926c
Reviewed-on: https://gerrit.instructure.com/156421
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
fixes stuff
Test Plan:
- go through canvas
- anywhere you see wiki page notice it now
says page
- cheer
Change-Id: I51211da87fc3c54f1d957da9b11e32808868eb2d
Reviewed-on: https://gerrit.instructure.com/154269
Tested-by: Jenkins
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
Product-Review: Christi Wruck
test plan:
* course copies/blueprint syncs shouldn't affect
a copied assignment's 'muted' status
closes #ADMIN-1065
Change-Id: Ibf027d0175a0c2ed1c3dbc1fe9e9d2546e968310
Reviewed-on: https://gerrit.instructure.com/151267
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Carl Kibler <ckibler@instructure.com>
QA-Review: Carl Kibler <ckibler@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
closes RECNVS-414
test plan
- with instfs enabled
- have a course
- export it
- verify that the download comes from instfs, not canvas
Change-Id: I18dec04f7c98e85163cd29afeba6b1878a0f62c6
Reviewed-on: https://gerrit.instructure.com/148704
Tested-by: Jenkins
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Michael Jasper <mjasper@instructure.com>
test plan:
- have a course with a wiki page and assignment
- create another page that embeds the two former items
in an iframe with "?embedded=true" in the link
as described in the ticket
- copy the course
- in the copy, the "?embedded=true" links should be
preserved
fixes ADMIN-868
Change-Id: I20c775cbd8a76eabecf49252b61a45d0a7817278
Reviewed-on: https://gerrit.instructure.com/147898
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
closes OUT-2154
dev-qa
- run new migration
- ensure RubricAssociation model has hide_outcome_results column
that defaults to false
- create a course with two assignments and attach a rubric
to each assignment
- using rails console, manually set one of the
RubricAssociations in that course to have hide_outcome_results as true
- copy the course using course copy on settings page
- view the new rubric associations in the rails console,
they should accurately reflect the hide_outcome_results attribute
of the original two
Change-Id: Iae4fbea4835f4cb4940e9d2ae2028b7f704ea42c
Reviewed-on: https://gerrit.instructure.com/147536
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
QA-Review: Augusto Callejas <acallejas@instructure.com>
Product-Review: Michael Brewer-Davis <mbd@instructure.com>
closes OUT-1844
dev-qa
- run new migration
- ensure RubricAssociation model has hide_points column
that defaults to false
- create a course with two assignments and attach a rubric
to each assignment
- using rails console, manually set one of the
RubricAssociations in that course to have hide_points as true
- copy the course using course copy on settings page
- view the new rubric associations in the rails console,
they should accurately reflect the hide_points attribute
of the original two
Change-Id: I42cbf003499e054202322a5d56ae0d46c92a56b0
Reviewed-on: https://gerrit.instructure.com/146162
Reviewed-by: Rob Orton <rob@instructure.com>
Reviewed-by: Michael Brewer-Davis <mbd@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
QA-Review: Augusto Callejas <acallejas@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
Tested-by: Jenkins
test plan:
- have a module in a course that has an unpublished module
as a prerequisite
- from the modules page, select "Export Course Content"
- download and unzip the package
- ensure the browser renders it
fixes ADMIN-913
Change-Id: Ib329bfac9f476280ed6b47ccc342b284ef0029f6
Reviewed-on: https://gerrit.instructure.com/145740
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Tested-by: Jenkins
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Even though this is a patch level version bump, it made a subtle change
that broke some workflows we had (see https://xkcd.com/1172/).
The second argument to Zip::File.open is a `create` flag, which
determines whether the zip file is created if it does not exist. Prior
to 1.2.1, the expectation was that `Zip::File::CREATE` was passed as the
argument if creation was desired. However, internally the library was
inconsistent about checking the passed flag against `Zip::File::CREATE`
vs just checking truthiness.
In practice, what this meant is that if you passed a different truthy
value, like `Zip::File.open(filename, 'w')` (like we did in several
places), the file would still be created if it did not exist, BUT,
critically, it would not be saved if nothing was put into the archive.
1.2.1 changed this flag to always check "truthiness", meaning empty zip
archives started to be saved. Unfortuantely, our mime type evalutation
rules don't correctly identify an empty zip file as a zip file, but
instead as just a binary file. These two things combined to create
problems.
see https://github.com/rubyzip/rubyzip/compare/v1.2.0...v1.2.1
and particularly fc23f68f77
closes CNVS-41711
test plan:
- test course copy and export/import workflows (both canvas and standard
common cartridge formats), especially in "sparse" cases where, for
example, no associated files would be copied.
Change-Id: If0033f6c0ede7f7a6e8c26031371ae2bd24cd1fb
Reviewed-on: https://gerrit.instructure.com/143744
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
should be able to link a module to one not added
to the export
test plan:
* have a blueprint course with two modules
* sync to an associated course
* add the first module as a prerequisite to the
second
* re-sync
* the prerequisite should have been added in the
associated course
closes #ADMIN-810
Change-Id: I52b6b43a50b2cb8030bd2baa5ba8d1ec06d04b07
Reviewed-on: https://gerrit.instructure.com/142685
Reviewed-by: Mysti Sadler <mysti@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams <jamesw@instructure.com>
test plan:
* as a site admin, enable the hidden root account
feature flag "Common Cartridge HTML File
to Page Conversion"
* import the "Home-Term" package referenced in the ticket
* it should try to bring over the html files
in the package as pages (e.g. "Overview")
closes #CNVS-41424
Change-Id: If808cd126a8eab1211f8b3f2a4a288d2785ec3ec
Reviewed-on: https://gerrit.instructure.com/142021
Tested-by: Jenkins
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Reviewed-by: Mysti Sadler <mysti@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
test plan:
* have a quiz set to be locked until a future date
* a student should not be able to see the quiz
content in a epub export
closes #ADMIN-842
Change-Id: I323bc3df36b8078e88331a08a85abb7914c92efb
Reviewed-on: https://gerrit.instructure.com/142958
Tested-by: Jenkins
Reviewed-by: Mysti Sadler <mysti@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
test plan:
* make sure that links like
"https://example.com/files" are preserved on copy
but links to "/courses/:course_id/files" are
translated to the new course
closes #ADMIN-805
Change-Id: Ia7cd5ba5ea61fa05c8edb0cfc4d413b667aae5fd
Reviewed-on: https://gerrit.instructure.com/141728
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Closes ADMIN-703
Test Plan:
* Create an course with and an announcement, lock
the announcement after posting.
* Go to Course Settings > Copy Course start new course Copy
* Navigate to course announcemtns in new course, notice migrated
announcement is closed for comments.
Change-Id: I25856f0a44b2c70a9cac54673bac8cab55fde50e
Reviewed-on: https://gerrit.instructure.com/140713
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Dan Minkevitch <dan@instructure.com>
Fixes PLAT-2998
Test Plan:
- Create three assignments. Two should be associated with
plagiarism detection tools (installed in the root account)
and the third should just be a standard file upload assignment.
- For both assignments that use a plagiarism tool do:
Create a tool setting that takes the following
shape:
{
resource_link_id: <lti_context_id of the
assignment>,
tool_proxy: <The tool associated with the
assignment>,
context: <The course of the assignment>,
custom: <A hash with strings as keys>,
custom_params: <A hash with strings as keys>
}
Note that the `custom` and `custom_params` hashes
should be different for the two tool settings.
- Verify that both tool settings are able to be fetched using
this endpoint: "tool_proxy/:tool_proxy_guid/courses/:course_id
/resource_link_id/<lti_context_id of the assignment>/tool_setting"
This endpoint will require a JWT access token.
- Do a course copy
- Verify that two new tool setting were created.
- Verify the resource link ids match the corresponding
copies of the assignments.
- Verify the `custom` and `custom_parameters` hashes
were copied to the correct new tool settings.
- Verify the tool proxy of the new tool settings point
to the original tool.
- Verify the the context of the new tool settings is
the new course.
- Verify that both _new_ tool settings are able to be fetched using
this endpoint: "tool_proxy/:tool_proxy_guid/courses/:course_id
/resource_link_id/<lti_context_id of the new assignment>/tool_setting"
- Verify the copying the plain file upload assignment also succeeded as
normal.
- Edit the new assignments and verify the correct tool launches.
Change-Id: Iaf92fc23c0373585039cc2debf9657d10989c4ec
Reviewed-on: https://gerrit.instructure.com/138218
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
if we run into a link directly to "/files/X" we
should try to pass it through to the other course
instead of leaving it alone
Change-Id: Ie67add5553ec9fbb2a7e2acaf0274cf798eb6b4f
Reviewed-on: https://gerrit.instructure.com/135074
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
refs ADMIN-350
Test plan
- Have at least one account level outcome
- Have at least 2 courses
- Link the account level outcome in both courses
Using a question bank to do this is pretty simple
- Export one of the courses
- Check the export package's course_settings/learning_outcomes.xml
file and ensure that the alignments for the second course have
not been exported
Change-Id: I9ff0c260aa21a4d58ef96f1ec5dc608cebdf5f8a
Reviewed-on: https://gerrit.instructure.com/134993
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Mysti Sadler <mysti@instructure.com>
test plan:
- have assignments and wiki pages with unclosed html tags in their names
(e.g., <style> and no corresponding </style>)
- these items should copy correctly via course copy
or export/import. in particular, check:
1. the HTML tags appear literally in the names
(they are not filtered out)
2. all items are copied
3. item body text is also copied
fixes ADMIN-583
Change-Id: Ic1fc006fca0c1e0af0dec05ebf7cff2041c179f3
Reviewed-on: https://gerrit.instructure.com/134720
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
fixes PLAT-2019
Test plan:
* Using the redirect tool attempt to install using the problematic url
* Ensure that tool installs and that the redirect works
Change-Id: I7f409c764faea90389e5172df6e988f5a6808468
Reviewed-on: https://gerrit.instructure.com/133364
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Andrew Butterfield <abutterfield@instructure.com>
it is no longer necessary to use this directly;
use methods on @package_root instead
test plan: ensure each of the following types of migration succeed:
- course copy
- Canvas cartridge
- QTI import
- Blackboard
- Angel
- D2L
- Moodle
closes ADMIN-528
Change-Id: I3b1ce55e94d4cd98f262b653844fdc8ec64d299a
Reviewed-on: https://gerrit.instructure.com/132934
Reviewed-by: James Williams <jamesw@instructure.com>
Tested-by: Jenkins
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Closes PLAT-2886
Test Plan:
- Install a plagiarism detection tool in a course.
_ Create an assignment associated with the tool.
- Create a tool setting associated with the tool
proxy that contains custom data/params.
- Export the course
- In a blank course install the same plagiarism
tool.
- Import the the coures export package into the
blank course.
- Verify the tool proxy in the previously blank course
now has a tool setting.
- Verify the resource_link_id of the tool setting is
set to the lti_context_id of the assignment it is
associated with.
- Verify the custom params/data was copied to the new
tool setting.
Change-Id: I757c4057618442b5b6714a1073fe66ee2487eb25
Reviewed-on: https://gerrit.instructure.com/131525
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins
Product-Review: Weston Dransfield <wdransfield@instructure.com>
extract PackageRoot to handle common tasks on extracted packages,
such as translating between absolute and package-relative paths,
and enumerating contents
test plan:
- ensure the package attached to the ticket is handled correctly
- regression test course copies and Canvas cartridge imports
refs ADMIN-528
Change-Id: I76b67076a48c8acedcde523d46aac8e2ccef76d0
Reviewed-on: https://gerrit.instructure.com/132389
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
closes CNVS-38795
Test Plan
1. Create a course with all of the following
- weighted assignment groups
- quizzes (with at least one question)
- outcome with at least one aligned item
- module with at least one assignment
- one or more rubrics
- no media tracks
2. Export the course to a common cartridge (CC) file
3. Download and unzip the CC
4. Validate all XML files from the CC vs. cccv1p0.xsd
(with the exception of imsmanifest.xml and
assessment_qti.xml since these use IMS's schemata
and not our own; see the 2-Nov-17 comment on the
ticket for details)
5. Add a media track to the course and repeat (1-4)
6. Import the CC from (5) into a new course
Change-Id: Ib2ef70737189d0107159bf0a93a7cd86d2dfd1c0
Reviewed-on: https://gerrit.instructure.com/127393
Reviewed-by: James Williams <jamesw@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
closes #gh-1142 #ADMIN-332
Change-Id: I54c7f90581269d40e50d473bda16271f5911278e
Reviewed-on: https://gerrit.instructure.com/131291
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
test plan:
* enable the "Post Grades to SIS" or
"Allow Bulk Grade Export to SIS" feature on an
account/course
* have an assignment in a course with
"Sync to SIS" enabled
* copy the assignment into a new course
* should preserve the setting
closes #ADMIN-304
Change-Id: I9fcc10366fed6270073239591f73dd4069ab6b67
Reviewed-on: https://gerrit.instructure.com/130112
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
fixes: PLAT-2844
test plan:
export a assignment with an originality report placment
import the assignment into another course
the originality report placement should be associated with the correct
tool
Change-Id: I2c38adcdf56bf21f3e8b56973aa4c5baf3d782d8
Reviewed-on: https://gerrit.instructure.com/129424
Tested-by: Jenkins
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
Closes PLAT-2843
Test Plan:
- Create an assignment associated with a plagiarism
detection tool.
- Export the assignment and verify the assignment
resource xml contains the product code, vendor
code, and resource type code of the associated
assignment.
- Verify exporting assignments with no plagiarism tools
continues to function as before.
Change-Id: Idc6e9e2863baa083ec6d7c4c058719cf632ecc22
Reviewed-on: https://gerrit.instructure.com/128742
Tested-by: Jenkins
Reviewed-by: Nathan Mills <nathanm@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
Fixes PFS-8549
Test Plan:
Verify that a description is now able to be added for
rubric ratings. Description should adhere to requirements
outlined in JIRA.
Specifically:
1. Add a rating description, and save the rubric. Verify
that description is still present after saving. Reload
page. Verify description is still present.
2. Verify rating description is displayed on the following
pages:
a) Assignment submission view.
b) SpeedGrader / PeerReview view.
c) Student Grades view.
d) Account/Course rubric view.
e) Assignment rubric view.
3. Verify that course copy will also copy rating descriptions
from rubrics.
Change-Id: I544a0564fd3df6b8928a44d13464693621f96533
Reviewed-on: https://gerrit.instructure.com/126139
QA-Review: Aiona Hernandez <ahernandez@instructure.com>
Tested-by: Jenkins
QA-Review: Andrew Porter <hporter-c@instructure.com>
Reviewed-by: Matt Berns <mberns@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
test plan:
* create a course with one or more of the
"Restrict students from viewing ___" settings checked
* the setting should carry over when copied to a new course
(also should work on blueprint course when
settings are included)
closes #CNVS-39459
Change-Id: I6ceca2e61744770236471b15041bcbf39d29def5
Reviewed-on: https://gerrit.instructure.com/127258
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
test plan:
* have a quiz in a course with "Let Students See their
quiz responses" checked
* copy it into another course
* uncheck the setting in the original quiz
* re-copy the quiz into the same course
* it should uncheck the setting in the copied quiz
(also applies to blueprint courses)
closes #CNVS-39464
Change-Id: I36ae2dd514b466404efede9714770c07041ca75c
Reviewed-on: https://gerrit.instructure.com/127345
Tested-by: Jenkins
Reviewed-by: Dan Minkevitch <dan@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
- feature flag for rubric range
Fixes: PFS-8283
test plan:
Enable feature: Rubric Criterion Range
Access rubric in account, course, and assignment.
1. Verify that 'range' option is available when editing
a non-outcome criterion.
2. Verify range option is not available for imported
outcomes.
3. Verify range option is not available when using
custom comments (assignment rubrics only)
For range enabled criterions:
1. Verify that increasing the total points assigned
to a criterion will appropriately scale all
range values.
2. Verify that increasing the max of highest score
cell increases total points available for
criterion.
3. Verify that increasing the max of a middle-cell
will increase the min of cell to left.
4. Verify that min of cell farthest to right is locked
at 0.
5. Verify that adjusting the min of a middle-cell
will adjust the max of cell to the right.
In Speedgrader:
1. Verify that selecting values anywhere within a rating
range will highlight the whole rating cell in green.
Feature Flag:
1. Verify that when feature flag is disabled app functions
as if range has been disabled for all criteria. (Leave
a criterion using range, and verify that is no longer
uses range when the feature is disabled).
In Submission Page:
We should also check the submission show page, since Rubrics
are displayed there as well. It can be a little hard to find
since it doesn't follow typical REST patterns for some reason.
When someone submits to the assignment, the url will be the
assignment's id and the user's id.
e.g, for a user id of 9 and an assignment id of 7 on course 1,
the url would be:
/courses/1/assignments/7/submissions/9
Accessibility:
Verify the new fields are a11y compliant by testing keyboard only
and voiceover navigation, so we don't introduce any new
accessibility issues.
Internationalization:
Test range ratings with different numbering system (i.e. Polish)
Verify that rounding works correctly.
Course Copy:
Verify that course copy preserves rubric ranges.
Change-Id: Ia1e9d3cc1d544aecc21c3628bd3dbec70831da2f
Reviewed-on: https://gerrit.instructure.com/121870
Tested-by: Jenkins
Reviewed-by: Matt Berns <mberns@instructure.com>
QA-Review: Aiona Hernandez <ahernandez@instructure.com>
QA-Review: Andrew Porter <hporter-c@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
i'm not sure if something changed with nokogiri 1.8.0 but
when it parses ASCII text it fails silently when exporting
"output error : unknown encoding ASCII-8BIT"
test plan:
* enable epub exporting in a course with a wiki page
* generate an epub export
* it should include the wiki page content
closes #CNVS-39008
Change-Id: I3fd237d42d197404e5a6335caed8c6e1e6f1e34f
Reviewed-on: https://gerrit.instructure.com/125667
Tested-by: Jenkins
Reviewed-by: Venk Natarajan <vnatarajan@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
there is a measurable cost associated to this step of api content
transformation, so only run it on types of url attributes that might
actually need to be rewritten (ignore mathml href's)
fixes CNVS-38442
test plan:
- create a submission with a lot of <p> tags
- request it from the API
- performance should be better
- now create a link/image to something root-relative in canvas
- request it from the api
- it should come back as absolute
Change-Id: I21fc42db25e84e70a0d19db7dc271cfd46801ecb
Reviewed-on: https://gerrit.instructure.com/122400
Tested-by: Jenkins
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
Change-Id: Ibdbca9847de64e79f472df8d3ff886e3b9c4a4ba
Reviewed-on: https://gerrit.instructure.com/122503
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Change-Id: I60ec3b519219fcb5256a132c05f63538600df73f
Reviewed-on: https://gerrit.instructure.com/121760
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
test plan:
- create a blueprint course and associate it with one or
more target courses
- create links in rich text from one item to another item
in the blueprint course
- perform a sync
- ensure the associated course objects have functioning links
to the associated course's copies of the items
fixes MC-283
Change-Id: I20c8bdf658168aa5c54815c22718b34db988b05f
Reviewed-on: https://gerrit.instructure.com/117934
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: David Mirabile <dmirabile-c@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
fixes PLAT-2634
Test plan:
* Using a course with two lti 2 tools installed
* Export the course
* Then selectively import the course into a new course that doesn't
have the LTI 2 tools installed
* Ensure that the 2 lti tools are listed in the dialog
* Ensure that only the tool profiles that are checked leave warnings
during the import
* Do a selective course copy from the course that has the two lti 2
tools installed.
* Ensure all the same stuff as above
* Do selective course export via the api
* Go through the export process using the following endpoint and
options
/api/v1/courses/:course_id/content_exports?export_type=common_cartridge&select[all_tool_profiles]=1
* Ensure that all the tool profiles in the course are exported
* Go through the export process using the following endpoint and
options
/api/v1/courses/:course_id/content_exports?export_type=common_cartridge&select[tool_profiles][]=<id for a tool profile in the course>
* Ensure that only the selected tool profile is exported
Change-Id: Ib4cfbad35476369aafd8bf66214ef3efb51850e0
Reviewed-on: https://gerrit.instructure.com/116286
Reviewed-by: James Williams <jamesw@instructure.com>
Reviewed-by: Nathan Mills <nathanm@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins
Product-Review: Karl Lloyd <karl@instructure.com>
fixes PLAT-2595
Test plan:
* Install an LTI 2 tool in a course
* Export the course
* Ensure that a json representation of the tool profile is in the
resulting export file
* Repeat this process but this time add a url to the registration_url
field that was added to the Lti::ToolProxy model in this commit
* Ensure that the resulting export includes the registration url
Change-Id: I6d0a4a1d5dce42a48e895601343070d26e9de078
Reviewed-on: https://gerrit.instructure.com/114987
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins
Reviewed-by: Nathan Mills <nathanm@instructure.com>
Product-Review: Andrew Butterfield <abutterfield@instructure.com>
fixes PLAT-2598
Test plan:
* Install the plagiarism detection tool in a course locally using docker
* Get a zip file from me with a bunch of exports
* In the course that has the plagiarism detection tool installed
* Import 'import.imscc'
* Ensure that the import completes without warnings or errors
* Import 'different_version.imscc'
* Ensure that the import completes with a warning about finding a
different version of the tool
* Import 'missing_data.imscc'
* Ensure that the import completes with a warning that has a link to
an error report
* In a course where the plagiarism detection tool is not installed
* Import 'registration_url.imscc'
* Ensure that the import completes with a warning that tells the user
the registration url they can use to install the missing tool
* Import 'import.imscc'
* Ensure that the import completes with a warning that tells the user
they need to install the tool but without a registration url
Change-Id: I3836c2caf602487de135b5a8732bba00b96b9342
Reviewed-on: https://gerrit.instructure.com/114139
Tested-by: Jenkins
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Karl Lloyd <karl@instructure.com>
handle filenames that look like regex and
also just don't export files with blank names anywhere
because that's ridiculous
closes #CNVS-37616
Change-Id: I4b2a1183383beb35fa4774cbe9e06afae601bd94
Reviewed-on: https://gerrit.instructure.com/115892
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
was exploding trying to parse blank date strings
test plan:
* have a course with an assignment with no due date
* enable epub exports for the course
* generate an epub export for the course
* should run successfully
closes #CNVS-37439
Change-Id: I67b7d49c663836f64012143085331b8990d0bcf2
Reviewed-on: https://gerrit.instructure.com/115044
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: David Tan <dtan@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>