![]() fixes SAS-1443 requires opt-in (ramping up rate in plugin setting, defaults to 0). will initially opt in on sandbox accounts, then trial accounts, then a gradual roll out to avoid hammering the service. when opted in (100%), asking for a redirect target for a file that's not yet in inst-fs will first try to add it to Inst-FS by posting the metadata only (a nominally quick transaction). Inst-FS can use this to create a "foreign" reference to the existing object in canvas' s3 bucket (which inst-fs should be given access to), at which point it can immediately start serving the object. opting in at a level above 0% but below 100% will have the chosen chance of doing the above per-access. if successful, Inst-FS returns the new instfs_uuid with which the attachment is updated, then the redirect continues to inst-fs instead of s3. if unsuccessful, opted-out, or skipped due to opt-in threshold, the existing s3 object is redirected to as before. test-plan: (setup) - have inst-fs integrated locally - be using an s3 backing for non-instfs files - give inst-fs access to that s3 backing (testing) - turn off the inst-fs plugin setting - upload a file - turn on the inst-fs plugin setting, but leave the migrating flag unset - access the previously uploaded file, should be served from s3 - turn on the migrating flag in the plugin setting - access the previously uploaded file, should be served (or at least attempted, if you haven't allowed inst-fs access to the canvas s3 bucket) from inst-fs Change-Id: I2b909d9b3f1c950e5a88f2af6ec7b40c05e71bb6 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/234167 Reviewed-by: Michael Jasper <mjasper@instructure.com> Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> QA-Review: Jacob Fugal <jacob@instructure.com> Product-Review: Jacob Fugal <jacob@instructure.com> |
||
---|---|---|
.github | ||
Gemfile.d | ||
app | ||
bin | ||
build | ||
client_apps | ||
config | ||
db/migrate | ||
doc | ||
docker-compose | ||
frontend_build | ||
gems | ||
hooks | ||
jest | ||
lib | ||
packages | ||
pact | ||
public | ||
script | ||
spec | ||
.bowerrc | ||
.codeclimate.yml | ||
.dive-ci | ||
.dockerignore | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.js | ||
.gitignore | ||
.gitmessage | ||
.i18nignore | ||
.i18nrc | ||
.lintstagedrc.js | ||
.npmrc | ||
.nvmrc | ||
.prettierrc | ||
.rubocop.yml | ||
.selinimumignore | ||
.stylelintrc | ||
.travis.yml | ||
CONTRIBUTING.md | ||
COPYRIGHT | ||
Dockerfile | ||
Dockerfile-production | ||
Dockerfile.githook | ||
Dockerfile.package-translations | ||
Gemfile | ||
Jenkinsfile | ||
Jenkinsfile.contract-tests | ||
Jenkinsfile.dive | ||
Jenkinsfile.js | ||
Jenkinsfile.main-for-coverage | ||
Jenkinsfile.master-bouncer-check-all | ||
Jenkinsfile.package-translations | ||
Jenkinsfile.selenium.flakey_spec_catcher | ||
Jenkinsfile.selenium.performance.chrome | ||
Jenkinsfile.test-subbuild | ||
Jenkinsfile.vendored-gems | ||
Jenkinsfile.xbrowser | ||
LICENSE | ||
README.md | ||
Rakefile | ||
babel.config.js | ||
bower.json | ||
code_of_conduct.md | ||
config.ru | ||
docker-compose.jenkins.yml | ||
docker-compose.new-jenkins-flakey-spec-catcher.yml | ||
docker-compose.new-jenkins-karma.yml | ||
docker-compose.new-jenkins-package-translations.yml | ||
docker-compose.new-jenkins-selenium.yml | ||
docker-compose.new-jenkins-web.yml | ||
docker-compose.new-jenkins.yml | ||
docker-compose.spring.yml | ||
docker-compose.yml | ||
gulpfile.js | ||
issue_template.md | ||
jest.config.js | ||
karma.conf.js | ||
package.json | ||
parallel_runtime_rspec.log | ||
webpack.config.js | ||
webpack.test.config.js | ||
yarn.lock |
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.