- Course overviews will cache courses upon publish.
- Added management command to warm up cache.
- OAuth2 handler returns courses via course overviews.
The old line:
from path import path
produced pylint errors because of the baroque way that path.py defined
"path". We tried to get them to change how they defined it, but they
deleted the name instead: https://github.com/jaraco/path.py/issues/102
(Jason then changed his mind, but this is a better way to use path.py,
it avoids the pylint error at least.)
TNL-3014
Add tests for search
Add text_search to TeamsListView
Add reindex command line tool for course teams
Add Search Pagination and update comments
Move paginate_search_results to common library
Endpoints support create, read, and list operations.
NOTE: This commit also includes a retrofitted SimpleRouter that supports overriding the lookup regex. This retrofit is simpler to implement than updating edx-ora2 which is pinned to DRF 2.3.x.
XCOM-524
* asadiqbal08/SOL-1058: Add edx-organizations to certificate web view
* Support organization logo asset management
* Remove organization fields from Studio certificate configuration model
* SOL-981 pull request feedback fixes
This feature flag gates the exposure of the Full course/library
Import/Export API URLs in the LMS. This allows openedX deployments
that operate without Studio to take advantage of the API, while
others may turn the feature off to reserve all content authoring for
Studio.
This change adds a Django authentication backend which, when installed
will authenticate users based on their LTI identity rather than using
a username/password combination. The authentication method determines
first whether a user with the given username exists and, if so, whether
that user is associated with an LTI identity. It also verifies that
the LTI consumer and user ID passed to the LTI launch match those
stored in the LtiUser table. This will always be the case if the
authentication backend is reached through the LTI code, but it
provides an extra guarantee if the backend is called from elsewhere.
This is primarily to reduce load on MongoDB, where we've lately
had performance problems that we suspect are caused by very
large course structures being evicted from MongoDB's cache. This
may potentially give us a path to better performance as well,
but that's not the goal of this commit.
Surprisingly, LZ4 seemed to actually run more slowly than zlib
for this. Possibly because of some overhead in the Python
bindings? GZip was also surprisingly slow given that it uses
zlib underneath (something like 5x slower).
Use separate cache backend for caching structures.
Abstract out course structure cache.
add datadog metrics for compressed course structure sizes
Since we're using a different cache background, we don't need to have a cache prefix
Use dummy cache backend for tests.
Fallback to default cache if course_structure_cache doesn't exist.