Commit Graph

419 Commits

Author SHA1 Message Date
Usman Khalid
1e799eb508 Upgrade to django-pipeline v.1.5.3.
TNL-3137
2015-09-22 20:39:43 +05:00
Nimisha Asthagiri
31d5d513f8 MA-1337 xBlock Rendering View 2015-09-21 16:17:11 -04:00
Dennis Jen
844edac443 Optimize OpenID Course Claims for users.
- Course overviews will cache courses upon publish.
- Added management command to warm up cache.
- OAuth2 handler returns courses via course overviews.
2015-09-17 11:29:28 -04:00
Bill DeRusha
eec2bed0c7 Add edx-search configuration to lms
remove "defensive code" until we can figure out how to actually
catch the errors,
2015-09-11 13:55:39 -04:00
Bill DeRusha
8bfa4e9c21 Add ENABLE_SEARCH_TEAMS flag to tests 2015-09-08 19:12:48 -04:00
William Ono
4d1194800e Support LTI third-party-auth providers
PR #8930
2015-09-03 22:53:45 -07:00
Andy Armstrong
4be74937df Add searching to the teams view
TNL-1935
2015-09-02 12:26:07 -04:00
Ned Batchelder
741f06864a Merge pull request #9502 from edx/ned/import-path-differently
Change imports from path to use the stablest name.
2015-08-28 11:12:10 -04:00
Braden MacDonald
586c237543 Fix for Twitter compatibility 2015-08-27 11:19:39 -07:00
Ned Batchelder
2a0259095d Change imports from path to use the stablest name.
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.)
2015-08-27 12:59:25 -04:00
Bill DeRusha
973314de7b Add basic elasticsearch search for teams
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
2015-08-24 09:22:06 -04:00
Clinton Blackburn
58865ee0a8 Added API endpoints for CreditCourse
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
2015-08-11 15:44:37 -04:00
Matt Drayer
e1ee5ac6df mattdrayer/SOL-981: Integrate edx-organizations application
* 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
2015-08-10 10:29:45 -04:00
Sarina Canelake
db2d8f6594 Allow microsites to use logistration page (ECOM-1976) 2015-07-31 09:33:59 -04:00
Brandon DeRosier
783e83deb0 Revert "Add feature flag for Import/Export API in LMS"
This reverts commit 85b3bfe4f6.
2015-07-08 16:55:38 -04:00
Ned Batchelder
514d85c183 Fix other temp dirs that are not cleaned up properly 2015-07-02 19:31:49 -04:00
Brandon DeRosier
85b3bfe4f6 Add feature flag for Import/Export API in LMS
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.
2015-07-02 15:32:00 -04:00
David Baumgold
a9c67c562e Merge pull request #8527 from edx/db/ensure-noseids-dir-exists
Ensure noseid dir exists when running tests
2015-06-30 10:03:56 -04:00
Braden MacDonald
072ae99d12 Merge pull request #8140 from edx/feature/shibboleth-tpa
Feature: Shibboleth/SAML SSO
2015-06-26 14:17:24 -07:00
Braden MacDonald
b4904adc1e Use ConfigurationModels for third_party_auth, new metadata fetching - PR 8155 2015-06-26 13:23:59 -07:00
Phil McGachey
18734cf0a1 [LTI Provider] Added an authentication backend to log in LTI users
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.
2015-06-26 13:25:13 -04:00
Nimisha Asthagiri
8b5e5c5910 Merge branch 'release' 2015-06-25 13:11:41 -04:00
David Ormsbee
39ab0f31dc Cache SplitMongo course structures in memcached.
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.
2015-06-23 23:24:05 -04:00
Matt Drayer
f0f3766443 mattdrayer/ECOM-1773: Fixed invalid URL reversal 2015-06-22 14:04:43 -04:00
utkjad
59e0d22fc3 Adding call stack manager 2015-06-19 20:43:26 +00:00
Braden MacDonald
345fcabd05 Fix CRI-9 so third_party_auth pipeline always completes, and consolidate auto-enrollment code 2015-06-18 20:57:19 -07:00
Braden MacDonald
350f98ebde Changes for compatibility with latest python-social-auth (0.2.7) 2015-06-18 19:31:47 -07:00
David Baumgold
372eb9085f Ensure noseid dir exists when running tests 2015-06-17 13:34:09 -04:00
Calen Pennington
83fce4d61f Merge pull request #8395 from jazkarta/ccx-custom-ids
MIT CCX: Use CCX Keys
2015-06-12 16:19:12 -04:00
Nimisha Asthagiri
4921ec48c8 MA-792 Course Blocks and Navigation API (user-specific) 2015-06-12 09:27:20 -04:00
cewing
6a0c9aee9d MIT CCX: Use CCX Keys
Implement the use of CCX opaque keys throughout the ccx code base

include the new custom ccx id package in the github checkouts list

update the coach dashboard wrapper to get CCX information from the incoming course_id, if possible

update function signatures for all view functions to expect CCX as passed by the dashboard wrapper (default to None), remove calls to get_ccx_for_coach as the ccx is passed in.

update reverse calls in python view code to use a CCXLocator for the URL instead of a CourseLocator

use CCXLocator where necessary

use course id to find ccx, instead of thread local

remove unused method and related tests

use course id for getting ccx

provide course id to the get_current_ccx method

ensure the course id passed in is a CourseKey instance of some type whether it starts out as a string or not

use the provided block to figure out what the course_id should be, then get the ccx for that

redirect to ccx dashboard using coach ccx if no ccx is passed in

update student dashboard listing for ccx to build an appropriate url from a CCXLocator, not from the course locator.

refactor building the ccx locator so we don't have to do it repeatedly

begin test refactoring after ccx_keys introduction

Ensure that when access checking happens, the course_locator form of a ccx locator is used.  This ensures that the access check happens against the course and it is not necesarry to duplicate the entire access control structure for the course.

pick up api change in ccx-keys

create and conditionally use a wrapper for the mixed modulestore returned by xmodule.modulestore.django.modulestore

the wrapper will strip and restore ccx values from CourseKey and UsageKey objects

fix return values on a few methods

remove unused symbol

pull updated ccx-keys package

set course_id on the caching descriptor system to avoid api incompatibilities in some subsystems

use ccx.course instead of self.course

fix get method to find course keys from blocks that are not themselves keys but have a location attribute (which will be a key)

if an item coming out of the db has children, restore the ccx to them as well

if the block passed in has a CCX key, unwrap that before we try to look up the override, otherwise it will never be found.

pick up a change in the ccx keys package that allows for stripping CCX identity from a usage key

begin writing tests to cover this modulestore wrapper

remove the switch_pocs view, the url pattern for it, and the tests that covered it

remove the ccx context and the middleware responsible for setting the current CCX.  These are no longer needed

all dashboard views should raise 404 if a ccx is not provided by the coach_dashboard decorator

code quality

prevent errors resulting from trying to `get` a ccx based on non-unique criteria.

remove obsolete usage of ACTIVE_CCX_KEY

fix setUp method for grading tests to properly create grades for the ccx rather than for the course.

clean up reverse calls

code quality

adding docstrings to clarify purpose of this patch

fix bug in getting ccx for coach

fix grading views to properly fetch a ccx-ified course so that grades for that version will be calculated

fix small errors in modulestore implementation

fix errant merge marker

update call to get_current_ccx after key refactoring merged with tab changes
2015-06-12 00:01:24 -07:00
Andy Armstrong
358aa7754b Add "Teams Configuration" advanced setting 2015-05-15 14:13:41 -04:00
christopher lee
5cef287c5d MA-635 Block Mobile Content for unfulfilled milestones
Previously, the mobile api did not check for pre-requisite courses
or entrance exams. This change checks for these milestones and then
returns course content accordingly.
2015-05-15 09:39:54 -04:00
Feanil Patel
6289b190d9 Fix pep8 and pylint. 2015-05-08 09:01:50 -04:00
Feanil Patel
3b2a750d33 Update the cache backend for the new version of celery and djcelery. 2015-05-08 09:01:49 -04:00
Feanil Patel
27223ae80f Load celery for CMS as well. 2015-05-08 09:01:48 -04:00
Feanil Patel
34df5a32d2 Get LMS tests passing. 2015-05-08 09:01:48 -04:00
Martyn James
1eeca4d81f Merge pull request #7522 from edx/feature/dashboard-search
Feature/dashboard search
2015-04-27 09:46:35 -04:00
Davorin Sego
71feb068e3 Dashboard search feature 2015-04-24 09:45:12 -04:00
Phil McGachey
6c1d997347 [LTI Provider] Create LTI Provider app, initial views and OAuth signature validation 2015-04-23 13:45:47 -04:00
Andy Armstrong
6c3b94d249 Bump User API and Profile Images API to v1
TNL-1669
2015-04-17 17:23:13 -04:00
Daniel Friedman
23f02d9492 Configurations for filesystem and s3 backends.
TNL-1789
2015-04-17 17:23:13 -04:00
Andy Armstrong
c898e4137b Add default profile images
TNL-1796
2015-04-17 17:23:12 -04:00
jsa
46b63164a0 Implement profile_image upload and remove endpoints
TNL-1537

Co-Authored-By: Andy Armstrong <andya@edx.org>
Co-Authored-By: cahrens <christina@edx.org>
2015-04-17 17:23:12 -04:00
Andy Armstrong
650a9a9b85 Implement parental controls for user profiles
TNL-1606
2015-04-17 17:23:11 -04:00
Daniel Friedman
6f6fdbfb5f Integrate profile images into Accounts API
TNL-1545
2015-04-17 17:23:11 -04:00
Carson Gee
b6970d9aa3 Put CCX URLs behind their feature flag
- Moved the CCX URLS into their django app.
2015-04-15 16:38:10 -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
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
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