- 24 Aug, 2016 1 commit
-
-
John Eskew committed
-
- 03 Aug, 2016 1 commit
-
-
Calen Pennington committed
-
- 29 Feb, 2016 2 commits
-
-
This abstract class contains most of the fields (aside from the id and foreign key to StudentModule that the subclasses need to manage). It also provides a get_history method that abstracts searching across multiple backends. Move router code to openedx/core We need to use it from cms and lms. Ensure aws_migrate can be used for migrating both the lms and cms. Handle queries directed to student_module_history vs default and the extra queries generated by Django 1.8 (SAVEPOINTS, etc). Additionally, flag testing classes as multi_db so that Django will flush the non-default database between unit tests. Further decouple the foreignkey relation between csm and csmhe When calling StudentModule().delete() Django will try to delete CSMHE objects, but naively does so in the database, not by consulting the database router. Instead, we disable django cascading deletes and listen for post_delete signals and clean up CSMHE by hand. Add feature flags for CSMHE One to turn it on/off so we can control the deploy. The other will control whether or not we read from two database tables or one when searching. Update tests to explicitly use this get_history method rather than looking directly into StudentModuleHistory or StudentModuleHistoryExtended. Inform lettuce to avoid the coursewarehistoryextended app Otherwise it fails when it can't find features/ in that app. Add Pg support, this is not tested automatically.
Kevin Falcone committed -
This is a clone (copy) of CSMH's declaration and methods with an added id of UnsignedBigInAutoField We should be able to delete the save_history code, but needs testing. Add error logging when capa failures happen Put StudentModuleHistory into its own database Bump out the primary key on CSMHE This gives us a gap to backfill as needed. Since the new table's pk is an unsigned bigint, even for people who don't consolidate CSMH into CSMHE, the lost rows are unlikely to matter. Remove StudentModuleHistory cleaner
Calen Pennington committed
-
- 10 Nov, 2015 1 commit
-
-
Please note that this is a squshed commit and the work of: Symbolist, macdiesel, nedbat, doctoryes, muzaffaryousaf and muhammad-ammar
Usman Khalid committed
-
- 18 Sep, 2015 1 commit
-
-
TNL-3179
muhammad-ammar committed
-
- 09 Jul, 2015 1 commit
-
-
The progress page did a number of things that make performance terrible for courses with large numbers of problems, particularly if those problems are customresponse CapaModule problems that need to be executed via codejail. The grading code takes pains to not instantiate student state and execute the problem code. If a student has answered the question, the max score is stored in StudentModule. However, if the student hasn't attempted the question yet, we have to run the problem code just to call .max_score() on it. This is necessary in grade() if the student has answered other problems in the assignment (so we can know what to divide by). This is always necessary to know in progress_summary() because we list out every problem there. Code execution can be especially slow if the problems need to invoke codejail. To address this, we create a MaxScoresCache that will cache the max raw score possible for every problem. We select the cache keys so that it will automatically become invalidated when a new version of the course is published. The fundamental assumption here is that a problem cannot have two different max score values for two unscored students. A problem *can* score two students differently such that they have different max scores. So Carlos can have 2/3 on a problem, while Lyla gets 3/4. But if neither Carlos nor Lyla has ever interacted with the problem (i.e. they're just seeing it on their progress page), they must both see 0/4 -- it cannot be the case that Carlos sees 0/3 and Lyla sees 0/4. We used to load all student state into two separate FieldDataCache instances, after which we do a bunch of individual queries for scored items. Part of this split-up was done because of locking problems, but I think we might have gotten overzealous with our manual transaction hammer. In this commit, we consolidate all state access in grade() and progress() to use one shared FieldDataCache. We also use a filter so that we only pull back StudentModule state for things that might possibly affect the grade -- items that either have scores or have children. Because some older XModules do work in their __init__() methods (like Video), instantiating them takes time, particularly on large courses. This commit also changes the code that fetches the grading_context to filter out children that can't possibly affect the grade. Finally, we introduce a ScoresClient that also tries to fetch score information all at once, instead of in separate queries. Technically, we are fetching this information redundantly, but that's because the state and score interfaces are being teased apart as we move forward. Still, this only amounts to one extra SQL query, and has very little impact on performance overall. Much thanks to @adampalay -- his hackathon work in #7168 formed the basis of this. https://openedx.atlassian.net/browse/CSM-17
David Ormsbee committed
-
- 20 May, 2015 5 commits
-
-
Calen Pennington committed
-
Calen Pennington committed
-
Calen Pennington committed
-
Calen Pennington committed
-
Calen Pennington committed
-
- 07 May, 2015 1 commit
-
-
Christine Lytwynec committed
-
- 16 Apr, 2015 1 commit
-
-
Adam Palay committed
-
- 15 Apr, 2015 1 commit
-
-
This reverts commit 88b91874.
Adam Palay committed
-
- 17 Mar, 2015 1 commit
-
-
Calen Pennington committed
-
- 16 Mar, 2015 2 commits
-
-
Calen Pennington committed
-
This reverts commit 4856ef78, reversing changes made to 7abbbb44.
Calen Pennington committed
-
- 10 Mar, 2015 1 commit
-
-
Calen Pennington committed
-
- 06 Mar, 2015 1 commit
-
-
Calen Pennington committed
-
- 04 Feb, 2015 1 commit
-
-
Calen Pennington committed
-
- 13 Dec, 2014 1 commit
-
-
[PLAT-217]
Calen Pennington committed
-
- 01 Dec, 2014 2 commits
-
-
Sarina Canelake committed
-
Sarina Canelake committed
-
- 10 Nov, 2014 1 commit
-
-
stv committed
-
- 06 Nov, 2014 1 commit
-
-
TNL-683
cahrens committed
-
- 09 May, 2014 1 commit
-
-
Don Mitchell committed
-
- 06 May, 2014 1 commit
-
-
This commit updates lms/djangoapps/courseware. These keys are now objects with a limited interface, and the particular internal representation is managed by the data storage layer (the modulestore). For the LMS, there should be no outward-facing changes to the system. The keys are, for now, a change to internal representation only. For Studio, the new serialized form of the keys is used in urls, to allow for further migration in the future. Co-Author: Andy Armstrong <andya@edx.org> Co-Author: Christina Roberts <christina@edx.org> Co-Author: David Baumgold <db@edx.org> Co-Author: Diana Huang <dkh@edx.org> Co-Author: Don Mitchell <dmitchell@edx.org> Co-Author: Julia Hansbrough <julia@edx.org> Co-Author: Nimisha Asthagiri <nasthagiri@edx.org> Co-Author: Sarina Canelake <sarina@edx.org> [LMS-2370]
Calen Pennington committed
-
- 28 Feb, 2014 1 commit
-
-
Jason Bau committed
-
- 09 Jan, 2014 1 commit
-
-
Calen Pennington committed
-
- 26 Nov, 2013 1 commit
-
-
Co-author: Ned Batchelder <ned@edx.org>
Calen Pennington committed
-
- 06 Sep, 2013 1 commit
-
-
Calen Pennington committed
-
- 27 Aug, 2013 1 commit
-
-
Inspired by: http://eldarion.com/blog/2013/02/14/entry-point-hook-django-projects/ Moves startup code to lms.startup and cms.startup, and calls the startup methods in wsgi.py and manage.py for both projects.
Calen Pennington committed
-
- 18 Jul, 2013 2 commits
-
-
Update existing tests and provide new ones to test new paradigm.
Diana Huang committed -
Refactor new set_many and update XBlock version number.
Sarina Canelake committed
-
- 20 Jun, 2013 1 commit
-
-
Added self to authors. Conflicts: AUTHORS CHANGELOG.rst
Felix Sun committed
-
- 13 Jun, 2013 1 commit
-
-
stores_state is now only used in a single test, in conjunction with has_score. In practice, it's never the case that stores_state is false when has_score is true, so we can delete stores_state entirely, and just use has_score for the grading test.
Calen Pennington committed
-
- 18 Apr, 2013 1 commit
-
-
Jay Zoldak committed
-
- 04 Apr, 2013 1 commit
-
-
Calen Pennington committed
-
- 05 Mar, 2013 1 commit
-
-
Calen Pennington committed
-