Go to file
Omar Khan 353b6e90d4 Add Assignment#duplicate_of relation
This commit updates Assignment#duplicate to store a reference to the
original assignment on the duplicated assignment. Both the original
assignment and the new assignment's lti_resource_link_id are included
in the `assignment_created` live event emitted when the new assignment
is saved.

This allows LTI tools listening for Canvas live events to identify when
an assignment has been duplicated, and duplicate their own data
accordingly.

Closes QUIZ-3749

Test plan:

- Set up live events and tail the kinesis stream as per the instructions
  in doc/live_events.md
- Create an LTI assignment
- An `assignment_created` live event containing this assignment's
  lti_resource_link_id should appear in the kinesis log. Make a note of
  this lti_resource_link_id
- Duplicate this assignment by clicking the "kebab" menu and clicking
  "Duplicate"
- Check that another `assignment_created` live event appears in the
  kinesis log, containing both the original assignment's
  lti_resource_link_id and the new assignment's lti_resource_link_id

Change-Id: I64bdb9a2132e58c4e7be0ab7687c2c819a3587fd
Reviewed-on: https://gerrit.instructure.com/140877
Tested-by: Jenkins
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Reviewed-by: Jeff Belser <jbelser@instructure.com>
Product-Review: Michael Hargiss <mhargiss@instructure.com>
2018-02-20 22:55:00 +00:00
Gemfile.d bump saml2 2018-02-17 14:57:25 -07:00
app Add Assignment#duplicate_of relation 2018-02-20 22:55:00 +00:00
bin copyright linter auto correct, refs SD-2295 2017-05-11 20:06:08 +00:00
build use RubyGems version in base docker image 2018-02-07 22:35:06 +00:00
client_apps Remove broken symlink 2018-02-16 17:12:08 +00:00
config update tr translation 2018-02-20 05:58:33 -07:00
db/migrate Add Assignment#duplicate_of relation 2018-02-20 22:55:00 +00:00
doc Update membership expansion documentation 2018-02-13 21:45:55 +00:00
docker-compose Use node 8.9.4 2018-01-03 20:41:37 +00:00
frontend_build add comment about hashSalt in baseWebpackConfig.js 2018-01-30 15:38:49 +00:00
gems Handle named colors like ‘red’ in theme editor 2018-02-16 23:26:02 +00:00
jest let jest know about some of our aliases 2018-01-12 19:16:18 +00:00
lib Add Assignment#duplicate_of relation 2018-02-20 22:55:00 +00:00
packages/canvas-planner Only load one dashboard component at a time 2018-02-15 16:52:04 +00:00
public add the UI to disable and enable gravatar from account settings 2018-02-16 18:00:40 +00:00
script Move planner under canvas-lms 2018-02-02 23:58:48 +00:00
spec Add Assignment#duplicate_of relation 2018-02-20 22:55:00 +00:00
.babelrc add babel-plugin-transform-runtime for smaller JS 2017-10-12 14:35:46 +00:00
.bowerrc introduced bower to manage js dependencies 2013-12-13 17:45:57 +00:00
.codeclimate.yml disable ESLint in code climate 2017-02-14 17:47:39 +00:00
.dockerignore Fix build :fingers-crossed: 2017-07-06 19:24:41 +00:00
.editorconfig Add EditorConfig configuration file to help maintain code style 2016-11-15 20:08:55 +00:00
.eslintignore ignore AmbiguousBlockAssociation for specs 2018-02-12 18:37:09 +00:00
.eslintrc.js [eslint] have --fix add copyright header for you 2018-02-15 20:01:41 +00:00
.gitignore don’t cp all of canvas-planner’s node_modules dir 2018-02-05 22:13:31 +00:00
.i18nignore bump rails 3 to github branch for ruby 2.2 compatibility 2015-02-18 22:55:20 +00:00
.i18nrc upgrade to node 6 2016-08-09 23:37:07 +00:00
.jshintrc make jslint settings more sane 2012-08-17 11:04:40 -06:00
.npmrc fix brand config previewing and skipping 2015-10-27 16:16:15 +00:00
.nvmrc Use node 8.9.4 2018-01-03 20:41:37 +00:00
.prettierrc Add .prettierrc so it matches our existing code 2017-11-03 16:21:50 +00:00
.rubocop.yml relax some rubocop nits 2018-02-15 18:23:47 +00:00
.selinimumignore Revert and bring InstIcons into Canvas 2016-11-29 20:52:54 +00:00
.stylelintrc stylelint, refs SD-1603 2016-10-25 00:21:16 +00:00
.travis.yml more travis builds 2014-02-10 16:23:19 +00:00
CONTRIBUTING.md Add CLA FAQ from legal 2018-01-22 16:41:44 -05:00
COPYRIGHT Initial commit. 2011-01-31 18:57:29 -07:00
Dockerfile use RubyGems version in base docker image 2018-02-07 22:35:06 +00:00
Dockerfile-production use RubyGems version in base docker image 2018-02-07 22:35:06 +00:00
Gemfile allow choosing rails 5.1 via consul 2017-10-11 19:13:02 +00:00
LICENSE Initial commit. 2011-01-31 18:57:29 -07:00
README.md Update README.md since Canvas is still modern 2016-12-15 03:18:28 +00:00
Rakefile remove dead parallelized specs task 2016-11-10 21:41:08 +00:00
bower.json use node_modules wherever possible 2016-11-01 15:14:52 +00:00
code_of_conduct.md contributor code of conduct 2014-12-23 18:13:59 +00:00
config.ru remove extra logging to debug Passenger connection orphan issue 2017-07-14 16:27:03 +00:00
docker-compose.jenkins.yml Rename docker-compose.test.yml 2017-05-17 18:51:53 +00:00
docker-compose.override.yml Remove stylesheets docker volume 2017-11-02 19:11:46 +00:00
docker-compose.yml Use redis:alpine 2017-07-31 22:31:40 +00:00
gulpfile.js ensure lato font is loaded in the rce 2018-02-16 19:24:43 +00:00
issue_template.md Add issue_template.md for GitHub issues 2016-02-17 21:00:48 +00:00
jest.config.js Restore ThemeEditor to how it was before InstUI conversion 2018-01-31 01:25:26 +00:00
karma.conf.js speed up JS tests by running them concurrently 2018-01-16 19:32:28 +00:00
package.json Upgrade Canvas to INSTUI 4.7.2 2018-02-15 20:37:02 +00:00
schema.graphql graphql: allow filtering submissions by workflow_state 2018-02-15 17:33:15 +00:00
webpack.config.js don't pass frontend build files through babel 2016-11-08 20:29:29 +00:00
webpack.production.config.js upgrade webpack related npm modules 2017-08-16 21:33:10 +00:00
webpack.test.config.js speed up JS tests by running them concurrently 2018-01-16 19:32:28 +00:00
yarn.lock Fix dirty yarn.lock 2018-02-15 22:32:42 +00:00

README.md

Canvas LMS

Canvas is a modern, open-source LMS developed and maintained by Instructure Inc. It is released under the AGPLv3 license for use by anyone interested in learning more about or using learning management systems.

Please see our main wiki page for more information

Installation

Detailed instructions for installation and configuration of Canvas are provided on our wiki.