Commit Graph

2201 Commits

Author SHA1 Message Date
Calen Pennington
951c19d789 Push get down into FieldDataCache, from DjangoKeyValueStore 2015-05-20 15:07:22 -04:00
Calen Pennington
5df3c22651 Push cache_key transformations inside the cache objects 2015-05-20 15:07:21 -04:00
Calen Pennington
29606a170d Extract common django-orm-backed-cache functionality 2015-05-20 15:07:21 -04:00
Calen Pennington
7909bee511 Stop leaking private _data members from per-scope caches 2015-05-20 15:07:21 -04:00
Calen Pennington
01cf2a3225 Store cache objects, rather than dictionaries generated by cache objects 2015-05-20 15:07:21 -04:00
Calen Pennington
21bcf55dba Extract _all_block_types and _all_usage_keys out of cache class 2015-05-20 15:07:20 -04:00
Calen Pennington
4463f71148 Separate caching for particular fields from instantiating the cache 2015-05-20 15:07:20 -04:00
Calen Pennington
0d37ec8099 Change the central cache to store at two levels: first by scope, then by cache key 2015-05-20 15:07:20 -04:00
Calen Pennington
645d2a727f Move field_object -> cache_key transformations to the scope-specific caches 2015-05-20 15:07:19 -04:00
Calen Pennington
7353d40b16 Push field_object iteration inside _retrieve_fields, and rename to _cache_fields 2015-05-20 15:07:19 -04:00
Calen Pennington
9059727672 Extract cache instantiation into classes per-scope 2015-05-20 15:07:19 -04:00
Calen Pennington
fd0c47bc42 Extract query chunking from FieldDataCache 2015-05-20 15:07:18 -04:00
Calen Pennington
4312c0e763 Enable PyContracts during tests 2015-05-20 15:07:18 -04:00
Daniel Friedman
3acd7a008c Refactor and add tests for new grade report.
* Handle grading errors
2015-05-13 06:58:02 -04:00
Daniel Friedman
9269ec3b00 Add new instructor task for weighted problems 2015-05-12 16:32:00 -04:00
Diana Huang
7df9ab9c14 Extend the Score namedtuple to know about module locations. 2015-05-12 16:32:00 -04:00
David Ormsbee
69af4113c2 Merge pull request #7979 from edx/ormsbee/new_relic_xb_tx_reporting
Customize the transaction name sent to New Relic for XBlock handlers.
2015-05-11 11:06:47 -04:00
Phil McGachey
73b854e4f0 [LTI Provider] Adding signals for scoring events 2015-05-11 07:45:50 -04:00
David Ormsbee
f1f34b5ddf Customize the transaction name sent to New Relic for XBlock handlers.
Currently, all XBlock/XModule handlers are lumped together in the
same transaction (courseware.module_render:handle_xblock_callback).
This makes it difficult to pinpoint problems with specific handlers.
With this change, the transaction name will now look like:

  OpenAssessmentBlockWithMixins.save_submission
  CapaDescriptorWithMixins.xmodule_handler/problem_show
2015-05-08 16:53:01 -04:00
Adam
58b34e1cc4 Merge pull request #7974 from edx/merge-release-to-master
Merge release to master
2015-05-08 14:24:14 -04:00
Adam Palay
8243d934e4 Merge remote-tracking branch 'origin/release' into merge-release-to-master
Conflicts:
	common/test/acceptance/tests/video/test_video_times.py
2015-05-08 10:23:04 -04:00
Adam Palay
afec81b662 prevent overly nesting _field_data (TNL-2050) 2015-05-07 14:05:27 -04:00
Christine Lytwynec
ddb1ae667e Split lms unittests into multiple shards 2015-05-07 09:17:26 -04:00
muzaffaryousaf
f5de0bbf43 Enable unit preview by default.
TNL-1261
2015-05-06 12:40:44 +05:00
Ned Batchelder
6fd60f21b5 Merge pull request #7358 from edx/ned/add_dunder_init_files
Add missing __init__.py files
2015-04-30 10:50:49 -04:00
Ned Batchelder
777be12ada Add missing __init__.py files 2015-04-30 07:43:08 -04:00
Awais
19ab698f4c ECOM-1284 enabling re-generate certs. 2015-04-30 14:15:33 +05:00
Phil McGachey
31790ab415 [LTI Provider] Wiring up LTI views to the courseware template 2015-04-27 11:52:26 -04:00
Adam
9a35c51e6e Merge pull request #7724 from edx/release
Release
2015-04-16 13:40:41 -04:00
Adam Palay
987ea8551e fix quality violation 2015-04-16 10:13:36 -04:00
Adam Palay
9196817abb Revert "Decrease the number of inserts and updates needed by DjangoKeyValueStore"
This reverts commit 88b9187476.
2015-04-15 17:41:11 -04:00
Marko Jevtić
a3aecb2014 Merge pull request #7548 from edx/mjevtic/SOL-531
(SOL-531)(SOL-532) Course Cards update on the homepage;
2015-04-14 16:17:34 +02:00
marjev
939a3672d4 (SOL-531)(SOL-532)Course Cards update; A link to course discovery page has been added to the OpenEdX homepage 2015-04-14 14:58:06 +02:00
David Ormsbee
03c3bbb379 Merge pull request #6636 from jazkarta/feature-pocs
MIT CCx (was Personal Online Courses)
2015-04-11 11:15:43 -04:00
Carlos de la Guardia
f9351ef830 MIT: CCX. Code Quality Fixes
Remove duplicated course listings template code on the student dashboard.
2015-04-10 23:30:27 -04:00
cewing
8ba74429b1 MIT: CCX. Fixes for API changes that affect the binding of descriptors to student context.
fix for making sure all descriptor fields are always available for course descriptors despite module_class tricks

add required fields to cache data for tests

use a different strategy to mock up the get_children method
2015-04-10 23:30:27 -04:00
Carlos de la Guardia
b315b4d747 MIT: CCX. Fixes for issues identified in code review
Switch to font awesome icons, to fix issue with toggling collapsible sections of the schedule in ccx coach dashboard

Ensure access check takes place after descriptor is bound to the user, or field override checks will never happen
2015-04-10 23:30:26 -04:00
Carlos de la Guardia
9ddee93401 MIT: CCX. Code Quality fixes
add doc strings; fix pep8 warning
address some minor issues brought up by the code review process
2015-04-10 23:30:26 -04:00
Carlos de la Guardia
b3da2a54bb MIT: CCX. Fix issues identified in code review
Original Commit Messages:

use edx's own get_parent method, rather than our own.

add field to unique constraint to avoid MultipleObjectsReturned in case of multiple browser clicks on submit

fix 0011 migration, inherit from TimeStampedField and add composite index (migration only)

fix bug where adding an already registered user to a ccx would cause a crash due to an undefined variable

add assertNumQueries tests to test modules where override field providers are used

remove unnecessary teardown

implement recommended style for checking empty list

import utility methods rather than use duplicate code

added comment explaining date conversion to string for json

add logging for invalid users or emails when enrolling students

add comment about xmodule user state

avoid using get_or_create, which seems to be causing a race condition on schedule change save

relocate badly placed edvent handlers to fix multiple submit problem
2015-04-10 23:30:26 -04:00
cewing
7f691e4a92 MIT: CCX. Rename POC to CCX
Final official name is Custom Courses for EdX (CCX), rename all code to remove previous name.

Rename the FEATURE constant used to identify this feature

Rename the middleware for the CCX change

rename the constant used for storing the current poc id on the session.

rename the _PocContext threading local

rename the override provider in all places where it is referenced

`PersonalOnlineCoursesOverrideProvider` -> `CustomCoursesForEdxOverrideProvider`

generally rename symbols from overrides.py to replace `poc` with `ccx` where possible without changing model names or attributes

rename more symbols from poc to ccx
rename util functions from app utils module

general symbol renaming poc -> ccx in views.py and related url changes

Rename the coach role wherever it is used.

reword poc_coach to ccx_coach

UI rename

replace POC with CCX globally

template context variable renamed

rename poc_ to ccx_ in urls and all related locations (views, js, scss etc)

remove pocs migrations

Final massive renaming, including models.  Re-built migration.

cleaning up a few tailing references

Fix reference typo in schedule template JS

undo modifications made on the fly in test setup to ensure that our tests are properly isolated from the rest of the system tests.

Fixes jazkarta/edx-platform#38

Clean up some leftover strings and comments

fixing more strings and comments in python files

fix a naming error in the schedule tab that was causing problems in deleting courseware items.

Fixes jazkarta/edx-platform#36

updating tests and utility code to match changes in infrastructure from latest rebase
2015-04-10 23:30:25 -04:00
Carlos de la Guardia
97748e56ea MIT: CCX. Fix test failures
Django double-importing overwrites the TESTUSER object, invalidating identity comparisons.  Use a string instead to avoid the problem.

The get_current_poc function operates using a threadlocal and so no longer requires the user as an argument
2015-04-10 23:28:09 -04:00
Chris Rossi
2b4da4d836 MIT: CCX. Address performance issues.
Use client's session to set POC for test, now that we have the capability to do that.

Use a middleware to set the current POC one time per request, and avoid having to look up the stack for the current request in 'get_current_poc'.

Fetch all overrides for a block at one time.

Speed up the lineage computation by doing some caching.

Unused import.

Get field overrides once per user per block.

Streamline configuration.

Fix poc config tuples
2015-04-10 23:17:38 -04:00
Chris Rossi
e66fe2b311 MIT: CCX. Properly handle possible representations of the course key 2015-04-10 23:13:57 -04:00
Chris Rossi
aa1333c363 MIT: CCX. Hide course blocks not in the CCX from view for coaches and students 2015-04-10 23:13:11 -04:00
Chris Rossi
a2cb7fd276 MIT: CCX. Implement Custom Courses for Edx.
This feature provides the ability to designate a "coach" who can create customized runs of an existing course, invite students to participate, and manage students through the run of the course.

In this squashed commit we implement the initial scifi, add the 'POC Coach' course role, refine the scifi, add migrations for models, create POCs, enforce POC Coach role, provide panels for Coach Dashboard, set up rudimentary display of course outline, add and remove units, show/hide all units, and save schedule changes, set dates when adding units, edit dates on units already added and provide some tests.

We also provide mechanisms for invitation and enrollment in a POC (to become CCX) and control the display of blocks to students in a POC.
2015-04-10 23:10:48 -04:00
Ben Patterson
a542b3d3c8 Merge pull request #7647 from edx/benp/remove-lettuce-tab-tests
[Lettuce deprecation] Remove redundant lettuce tab tests.
2015-04-10 11:57:25 -04:00
aamir-khan
ca08b979b3 ECOM-1290: added the redirection back to courseware after re-verification 2015-04-10 19:44:35 +05:00
Ben Patterson
1146bb2c61 [Lettuce deprecation] Remove redundant lettuce tab tests.
These are already covered by bok-choy tests:
  File: test_lms.py
  Class: HighLevelTabTest
2015-04-09 18:20:03 -04:00
aamir-khan
917ca595cc ECOM-1289: added the re-verification service to implement the re-verification xblock 2015-04-07 18:09:53 +05:00
Chris Rossi
3256eb1ff6 Architecture for arbitrary field overrides, field overrides for
individual students, and a reimplementation of the individual due date
feature.

This work introduces an architecture, used with the 'authored_data'
portion of LmsFieldData, which allows arbitrary field overrides to be
made for fields that are part of the course content or settings (Mongo
data).  The basic architecture is extensible by means of writing and
configuring arbitrary field override providers.

One concrete implementation of a field override provider is provided
which allows for overrides to be for individual students.  This provider
is then used as a basis for reimplementing the individual due date
extensions feature as a proof of concept for the design.

One can imagine writing override providers that provide overrides based
on a student's membership in a cohort or other similar idea.  This work
is being done, in fact, to pave the way for the Personal Online Courses
feature being developed by MIT, which will use an override provider very
much long those lines.
2015-04-06 13:04:44 -07:00