This is a public, versioned, RESTful API for importing and
exporting full course content. The code was initially ripped from the
existing import/export API in the CMS contentstore djangoapp and wrapped
in Django Rest Framework view classes. It's a new djangoapp in
the openedx directory which is largely an abstraction off the CMS
Import/Export views.
This PR includes configuration changes. Most notably, Studio is
configured to serve the OAuth2 provider alongside the LMS.
This is the initial thread on the code list:
https://groups.google.com/forum/#!msg/edx-code/DmnHWmly25A/ZqjD1zb4o7oJ
And this thread contains another description of the changes:
https://groups.google.com/d/msg/edx-code/6dP9SEKsmqQ/Pvyn8fBDx68J
There are a numerous non-covered lines, all of which are missing
coverage in the CMS API this was ported from. They're mostly error
conditions, such as handling of multipart file upload errors.
* Add a new cookie for user information
* Make marketing cookie names configurable.
* Handle URL reversal when URLs don't exist (in Studio)
* Move cookie code from student/helpers.py into its own module.
Use native checkboxes for courseware license options
In Studio settings editor for video module, don't show license if feature-flagged off
Don't let Scope.contents fields leak to Studio editor
JS gettext() must all be on the same line for i18n
Add docstrings for bok-choy tests
Remove LicenseMixin from HTMLDescriptor
Responding to UX review feedback
Add aria-pressed attribute
Use https links instead of protocol-relative links for links to creativecommons.org
Remove license from course outline page in Studio
The replacement strings need to be unicode, so that when STUDIO_NAME contains non-ascii characters python can handle it correctly without raising exceptions.
Also, the value of STUDIO_SHORT_NAME can be read from cms.env.json.
xblock-external-ui: Alternate referer check for CORS requests
xblock-external-ui: Allow to disable httponly on session cookies
xblock-external-ui: Add a unit test for CorsCSRFMiddleware
path.py objects report themselves as class objects, which confuses the heck out of
pylint. It tries to match variable names using the class-rgx regular expression
instead of the constant-rgx regular expression, and it doesn't match, so it
throws an error. Not sure how to fix pylint, so we'll just ignore these errors.
ECOM-248 Course Info API. Basic functionality implemented.
ECOM-248 adding factory for about descriptor and test cases for course info api
ECOM-248 adding test cases for couse info api.
ECOM-248 re-factoring code. updating test cases.
Tests for course_about data module
ECOM-248 Adding test cases for the exceptions.
ECOM-248 re-factoring code. fixing quality issues.
ECOM-248 fixing test cases and moved parse video method into utils.
added github username in authors
ECOM-248 removed merging issue of test_data
ECOM-248 removed unused files
This feature allows upload of video assets to S3. This requires that the
VIDEO_UPLOAD_PIPELINE setting be properly configured and that each
course be configured with a token issued by the media team for their
processing purposes (e.g. linking the video with a YouTube channel).
Co-authored-by: Greg Price <gprice@edx.org>
Modified to a setting in CMS common.py and aws.py
Also factored out are: ADVANCED_PROBLEM_TYPES
This enables third parties to add XBlocks to their system
without having to make a code change.
Code also added to ensure that a component should exist in both
ADVANCED_COMPONENT_TYPES and the course advanced module list
in order for it to be enabled in the course.