![]() Updates Outcomes::LearningOutcomeGroupChildren by adding cache at the queries for getting the total subgroups and outcomes. closes OUT-4148 flag=improved_outcomes_management Test plan: - Create nested learning outcome groups - For each nested learning outcome group create learning outcomes > With FF improved_outcomes_management: OFF - On Rails console: calls to Outcomes::LearningOutcomeGroupChildren methods should return a default value - On web: when generating actions over ContentTag, LearningOutcome and LearningOutcomeGroup it should not lead to clear any cache > With FF improved_outcomes_management: ON - On Rails console: call Outcomes::LearningOutcomeGroupChildren methods for getting total subgroups and outcomes, queries to the DB should be made (it will need the root context) - Call again the same methods, it should return the values from cache - Create a new instance of the class and call the same methods, it should return the values from cache - Clear the cache with `Rails.cache.clear` - On web (or through GraphiQL) get the total subgroups and total outcomes multiple times; it should cache the data and should not run additional queries - On web: clear the cache by executing the following actions: - Add a Learning Outcome Group - Adopt a Learning Outcome Group - Copy a Learning Outcome Group from global - Remove a Learning Outcome Group - Add an Outcome - Remove an Outcome - Get the total subgroups and total outcomes, it should run new queries - Run the same tests for global context, it should generate and clear the cache in the same way Change-Id: I9b0bfc68b84b3e36869d69a926ef84d9989ea96d Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/257257 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Augusto Callejas <acallejas@instructure.com> QA-Review: Chrystal Langston <chrystal.langston@instructure.com> Product-Review: Michael Brewer-Davis <mbd@instructure.com> |
||
---|---|---|
.github | ||
.storybook | ||
Gemfile.d | ||
app | ||
bin | ||
build | ||
config | ||
db/migrate | ||
doc | ||
docker-compose | ||
engines | ||
frontend_build | ||
gems | ||
hooks | ||
jest | ||
lib | ||
log | ||
packages | ||
public | ||
script | ||
spec | ||
tmp | ||
.bowerrc | ||
.codeclimate.yml | ||
.dive-ci | ||
.dockerignore | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.js | ||
.gitignore | ||
.gitmessage | ||
.i18nignore | ||
.i18nrc | ||
.lintstagedrc.js | ||
.npmrc | ||
.nvmrc | ||
.prettierrc | ||
.rubocop.yml | ||
.stylelintrc | ||
.travis.yml | ||
CONTRIBUTING.md | ||
COPYRIGHT | ||
Dockerfile | ||
Dockerfile.githook | ||
Dockerfile.jenkins | ||
Dockerfile.jenkins-cache | ||
Dockerfile.jenkins.final | ||
Dockerfile.jenkins.karma-builder | ||
Dockerfile.jenkins.karma-runner | ||
Dockerfile.jenkins.webpack-builder | ||
Dockerfile.jenkins.webpack-cache | ||
Dockerfile.jenkins.yarn-runner | ||
Dockerfile.package-translations | ||
Gemfile | ||
Jenkinsfile | ||
Jenkinsfile.cassandra | ||
Jenkinsfile.contract-tests | ||
Jenkinsfile.dive | ||
Jenkinsfile.docker-smoke | ||
Jenkinsfile.docker-sync | ||
Jenkinsfile.dynamodb | ||
Jenkinsfile.js | ||
Jenkinsfile.master-bouncer-check-all | ||
Jenkinsfile.package-translations | ||
Jenkinsfile.parallel_logs | ||
Jenkinsfile.postgres | ||
Jenkinsfile.redis | ||
Jenkinsfile.selenium-chrome | ||
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.new-jenkins-contract-tests.yml | ||
docker-compose.new-jenkins-flakey-spec-catcher.yml | ||
docker-compose.new-jenkins-js.yml | ||
docker-compose.new-jenkins-package-translations.yml | ||
docker-compose.new-jenkins-selenium.yml | ||
docker-compose.new-jenkins.canvas.yml | ||
docker-compose.new-jenkins.consumer.yml | ||
docker-compose.new-jenkins.vendored-gems.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 | ||
ubuntu.development.Dockerfile | ||
ubuntu.production.Dockerfile | ||
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.