- Jul 09, 2015
-
-
Renzo Lucioni authored
Update edx-oauth2-provider to 0.5.2
-
Clinton Blackburn authored
Updated Commerce API to return CourseMode expiration date
-
Tyler Nickerson authored
Update AUTHORS
-
Tyler Nickerson authored
-
Tyler Nickerson authored
XCOM-281: LMS now passes JWT issuer and expiration date to ecommerce API client
-
Clinton Blackburn authored
XCOM-477
-
Jesse Zoldak authored
Mark a too-flaky Milestones acceptance test for skipping
-
Jesse Zoldak authored
Mark test as flaky TNL-2704
-
Nickersoft authored
-
Christine Lytwynec authored
update bok choy to version 0.4.3
-
David Baumgold authored
Distribute to setuptools
-
Sarina Canelake authored
Fix failed test_course_about_in_cart
-
David Baumgold authored
-
David Baumgold authored
-
David Baumgold authored
-
David Baumgold authored
So that we can use setuptools instead of distribute
-
Régis Behmo authored
'distribute' is the ancestor of 'setuptools', and many packages require setuptools to be installed. Upgrade of MySQL-python from 1.2.4 to 1.2.5 is required because of an incompatibility with setuptools>0.7.
-
Pan Luo authored
-
zubair-arbi authored
Update copy for On Demand Cert Download
-
David Ormsbee authored
Grading Performance Work
-
Andy Armstrong authored
Re-enable the video translation Jasmine tests
-
Chris authored
ORA2: Focus and outline styles
-
Ahsan Ulhaq authored
Credit Payment - Dashboard States
-
Usman Khalid authored
-
Chris Rodriguez authored
-
Jesse Zoldak authored
-
Andy Armstrong authored
Fix the Paver run_all_servers method.
-
Sarina Canelake authored
Upgrade Django 1.4 to the latest point release
-
Christine Lytwynec authored
-
David Ormsbee authored
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
-
Andy Armstrong authored
TNL-2689
-
Tasawer authored
ECOM-1651
-
zubair-arbi authored
add 'provider_description' field for CreditProvider model
-
Ahsan Ulhaq authored
ECOM-1578
-
zubair-arbi authored
ECOM-1842
-
zubair-arbi authored
add 'fulfillment_instructions' for 'CreditProvider' model
-
zubair-arbi authored
update credit eligibility ui text
-
Pan Luo authored
This test failed since d240785b on devstack. The self.request_factory.get() just return a request object, which is being passed to views.course_about() directly without being processed by edxmako.middleware. The REQUEST_CONTEXT.request in https://github.com/edx/edx-platform/blob/d240785b17bdcaeb11e4ef24ee4a3697da26c9b4/common/djangoapps/edxmako/middleware.py#L39 is None, instead of request object, which contains the LANGUAGE_CODE and other stuff used by the view. Also cleaned up the use of MakoMiddleware. Using the method in edxmako.tests module.
-
Clinton Blackburn authored
Comparing currencies with same case
-
- Jul 08, 2015
-
-
Alison Hodges authored
Ahodges/staff labeling
-