Commit Graph

2071 Commits

Author SHA1 Message Date
Michael Terry
ce5f1bb343 feat!: drop legacy course home view and related code
This was the "outline tab" view of the course. Preceded by the
course info view, succeeded by the MFE outline tab.

In addition to the course home view itself, this drops related
features:
- Legacy version of Course Goals (MFE has a newer implementation)
- Course home in-course search (MFE has no search)

The old course info view and course about views survive for now.

This also drops a few now-unused feature toggles:
- course_experience.latest_update
- course_experience.show_upgrade_msg_on_course_home
- course_experience.upgrade_deadline_message
- course_home.course_home_use_legacy_frontend

With this change, just the progress and courseware tabs are still
supported in legacy form, if you opt-in with waffle flags. The
outline and dates tabs are offered only by the MFE.

AA-798

(This is identical to previous commit be5c1a6, just reintroduced
now that the e2e tests have been fixed)
2022-04-14 15:18:31 -04:00
Michael Terry
a515c2e992 Revert "Drop legacy outline tab in favor of the MFE's version" 2022-04-14 14:16:29 -04:00
Michael Terry
be5c1a64d5 feat!: drop legacy course home view and related code
This was the "outline tab" view of the course. Preceded by the
course info view, succeeded by the MFE outline tab.

In addition to the course home view itself, this drops related
features:
- Legacy version of Course Goals (MFE has a newer implementation)
- Course home in-course search (MFE has no search)

The old course info view and course about views survive for now.

This also drops a few now-unused feature toggles:
- course_experience.latest_update
- course_experience.show_upgrade_msg_on_course_home
- course_experience.upgrade_deadline_message
- course_home.course_home_use_legacy_frontend

With this change, just the progress and courseware tabs are still
supported in legacy form, if you opt-in with waffle flags. The
outline and dates tabs are offered only by the MFE.

AA-798
2022-04-14 09:12:01 -04:00
Michael Terry
0be6d3c8ab Merge pull request #29846 from openedx/mikix/drop-dates-view
feat!: drop legacy dates tab, in favor of MFE version
2022-04-14 09:11:20 -04:00
Kshitij Sobti
60918fb160 feat: use native learning MFE tab for discussions (#30109)
Updates the discussions tab to return the learning MFE tab URL so the discussion content can be shown in the learning MFE itself.
2022-04-13 18:55:27 +05:00
Michael Terry
0eb8962548 feat!: drop legacy dates tab, in favor of MFE version
For the dates courseware tab, we no longer respect the
course_home_use_legacy_frontend waffle flag that enabled the
legacy version in Maple.

Instead, we always send the user to the MFE.

MFEs will be required for the Nutmeg release. This dates tab is
the first to fall, but others will follow.

AA-799
2022-04-12 15:20:37 -04:00
Ali Akbar
5eedf84ba8 Merge pull request #30114 from openedx/aakbar/PROD-2740
feat: add financial assistance configuration model and util functions
2022-04-12 13:02:31 +05:00
AliAkbar
9af7418da6 feat: add financial assistance configuration model and util functions 2022-04-12 12:04:15 +05:00
Usama Sadiq
80f9f1de7a Fix quality failures with pylint 2.13.5 (#30197)
* build: update pylint-checks ci workflow
* fix: fix quality failures with new pylint version
* chore: remove pylint constraint
* chore: Updating Python Requirements (#30196)
Co-authored-by: edX requirements bot <49161187+edx-requirements-bot@users.noreply.github.com>
2022-04-07 13:59:44 +05:00
muhammad-ammar
735607a752 feat: add an xblock renderer endpoint to serve videos as public having
public access set by course author in studio
2022-04-05 16:42:39 +05:00
Michael Terry
fc8601de01 feat!: remove all access to Old Mongo courses
Change has_access to deny 'load' support for Old Mongo courses.

This is in service of dropping support for these ancient
courses and removing legacy code that they rely on.

DEPR-58
2022-04-04 10:37:09 -04:00
Michael Terry
1cbd3e46ce Revert "feat!: remove all access to Old Mongo courses" 2022-04-04 10:19:23 -04:00
Michael Terry
436fc52c52 Merge pull request #29848 from openedx/mikix/remove-old-mongo-access
feat!: remove all access to Old Mongo courses
2022-04-04 09:55:11 -04:00
Saad Yousaf
fd60d8c8cf fix: revert discussion xblock from MFE view to legacy view. (#30141)
Co-authored-by: SaadYousaf <saadyousaf@A006-00314.local>
2022-03-30 11:31:45 +05:00
Michael Terry
d9e9b677f0 Merge pull request #30047 from openedx/ddumesnil/dates-tab-static
feat: Updates the Dates Tab to be a static tab
2022-03-24 09:53:25 -04:00
Michael Terry
939eb0b0ab Merge pull request #30043 from openedx/mikix/progress-visible-grades
fix: have progress MFE API recalculate visible course grade
2022-03-14 10:33:14 -04:00
Kaustav Banerjee
c48c655998 refactor: deprecates replace url related properties from ModuleSystem
Deprecates the following attributes from ModuleSystem:
 * replace_urls
 * replace_course_urls
 * replace_jump_to_id_urls

A new ReplaceURLService is created as replacement with a unified replace_urls method
2022-03-14 09:35:41 -04:00
Dillon Dumesnil
6850c10647 feat: Updates the Dates Tab to be a static tab 2022-03-14 09:03:56 -04:00
Michael Terry
a162140492 fix: have progress MFE API recalculate visible course grade
Previously, the course grade returned would be the stored grade,
which is calculated for all content, not just the visible grades.
(Some grades are not yet released to the learner.)

This fix recalculates the overall grade before sending to the MFE,
so that it doesn't have to recompute it itself (without all the
particular logic that the platform uses when grading).

AA-1217
2022-03-11 15:11:05 -05:00
Robert Raposa
8b775961a6 fix: rename table_blacklist to table_ignorelist 2022-03-09 16:43:47 -05:00
Braden MacDonald
dcb7ef8821 feat: Read course indexes from MySQL, not MongoDB (#29184)
Description
This is a follow up to #29058 and #29413. This is the next step in moving part of the modulestore data (the course indexes / "active versions" table) from MongoDB to MySQL.

There are four steps planned in moving course index data to MySQL:

Step 1: create the tables in MySQL, start writing to MySQL + MongoDB  done
Step 2: migrate all remaining courses to MySQL  done
Step 3: switch reads from MongoDB to MySQL (this PR)
Step 4 (much later, once we know this is working well): stop writing to MongoDB altogether.
Supporting information
OpenCraft Jira ticket: MNG-2557

Status
 Tested with a large Open edX instance is in progress.

Testing instructions
Try making changes in Studio and verify that they work fine.

Deadline
None
2022-03-09 10:21:09 -05:00
Michael Terry
3fad9d606d feat!: remove all access to Old Mongo courses
Change has_access to deny 'load' support for Old Mongo courses.

This is in service of dropping support for these ancient
courses and removing legacy code that they rely on.

DEPR-58
2022-03-08 09:04:39 -05:00
Michael Terry
5e80b692c8 Merge pull request #29987 from openedx/mikix/no-enrollment-old-mongo
feat: mark Old Mongo courses as invitation-only
2022-03-01 10:13:42 -05:00
Michael Terry
ff90533074 feat: mark Old Mongo courses as invitation-only
This is in service of dropping support for these ancient
courses and removing legacy code that they rely on.

Eventually, we'll remove all access. But this is a first step,
to reduce enrolled learners.

DEPR-58
2022-02-28 16:31:46 -05:00
Dillon Dumesnil
31f33da625 fix: Update get user timezone logic
Adds in sanitization of the timezone to ensure the timezone is
formatted correctly and error handling to reasonably fall back to UTC
2022-02-18 13:20:20 -05:00
Carlos Muniz
37bf73ca50 refactor: Replace videosequence & problemset (#29905)
`videosequence` and `problemset` have been replaced with `sequential`.

`problemset` and `videosequence` are old-but-not-entirely-unused aliases to the `sequential` block type (in Studio-speak, "Subsection").
Since [these block types have been removed from the 6 courses that used them](https://openedx.atlassian.net/browse/DEPR-151?focusedCommentId=588197), this ticket removes the support for the `problemset` and `videosequence` block-types.

For more information, see ticket: [DEPR-151](https://openedx.atlassian.net/browse/DEPR-151)
2022-02-16 10:21:31 -05:00
Bianca Severino
af81b3a609 chore: replace integrity signature flag with django setting 2022-02-15 09:57:00 -05:00
Michael Terry
e81c4fe49d Merge pull request #29911 from openedx/mikix/more-old-mongo-test-cleanup
test: more Old Mongo removal from tests
2022-02-11 15:10:45 -05:00
Michael Terry
b905de757b test: more Old Mongo removal from tests
Convert more tests from MONGO_AMNESTY to SPLIT modulestores.

This is in preparation for just wholesale denying access to Old
Mongo, so I either converted tests to split or just deleted some
test variants that were Old Mongo specific. (e.g. ddt lines)
2022-02-11 14:50:30 -05:00
dyudyunov
2716810f48 fix: course discovery dates localization after user logout
Preconditions:
- course discovery enabled

STR:
- log in
- choose any language with different date format (e.g. ukrainian)
- check date format changed on the /courses page
- logout and go to /courses again

AR:
- date format is english on /courses, but stays the same as for logged in
user on the main page

ER:
- date format stays the same as for logged in user
2022-02-08 10:07:35 +02:00
Michael Terry
cb1bb7fa64 test: switch default test store to the split store
It's long past time that the default test modulestore was Split,
instead of Old Mongo. This commit switches the default store and
fixes some tests that now fail:
- Tests that didn't expect MFE to be enabled (because we don't
  enable MFE for Old Mongo) - opt out of MFE for those
- Tests that hardcoded old key string formats
- Lots of other random little differences

In many places, I didn't spend much time trying to figure out how to
properly fix the test, and instead just set the modulestore to Old
Mongo.

For those tests that I didn't spend time investigating, I've set
the modulestore to TEST_DATA_MONGO_AMNESTY_MODULESTORE - search for
that string to find further work.
2022-02-04 14:32:50 -05:00
Julia Eskew
0eb0f99d00 feat: Add org-level waffle overrides to allow a waffle flag to be overridden for all
courses in a particular organization, without needing to make a separate course-level
waffle override for each individual course for an organization.
2022-01-28 08:00:18 -05:00
Peter Pinch
4f58ed4f25 Merge pull request #29260 from open-craft/jill/BD-13-sandbox
[BD-13] refactor: deprecates ModuleSystem properties related to code sandboxing
2022-01-26 09:57:41 -05:00
SaadYousaf
739083e301 fix: remove check for default values for video component when exporting. 2022-01-26 18:14:25 +05:00
Jillian Vogel
2173a98ef8 refactor: deprecates ModuleSystem properties for code sandboxing and cache
* Deprecates ModuleSystem can_execute_unsafe_code, get_python_lib_zip and cache properties
* Adds a new CacheService and SandboxService to provide the deprecated property
* Adds tests for the added CacheService and SandboxService
* Updates the ModuleSystemShim tests in Lms and Studio
2022-01-25 14:42:39 +10:30
Simon Chen
895cc10c1b fix: do not validate proctoring_provider if proctoring is disabled (#29803)
Co-authored-by: Simon Chen <schen@edx-c02fw0guml85.lan>
2022-01-21 12:45:43 -05:00
Robert Raposa
d0259ff38e fix: enhance safe session monitoring (#29681)
* add custom attribute for list of user ids on mismatch.
* log request header for all mismatched users for all
requests for N seconds after the mismatch is found, if
LOG_REQUEST_USER_CHANGE_HEADERS is enabled. See toggle
docs for more details.

ARCHBOM-1940
2022-01-06 12:15:31 -05:00
Kshitij Sobti
b5f045dc5f fix: update discussions MFE path [BD-38] [TNL-9347] (#29691)
* fix: update discussiosn MFE path

* squash!: fix tests
2022-01-06 18:34:53 +05:00
Simon Chen
c85be3fe56 fix: User should not be shown ID Verification prompt on progress page if disabled (#29662)
Co-authored-by: Simon Chen <schen@edx-c02fw0guml85.lan>
2021-12-22 12:15:09 -05:00
Michael Terry
4418c66171 feat: add masquerading support to learning sequences
Previously, it had some basic manual masquerading by calling the
endpoint with ?user=mytestuser. But this adds standard session
masquerading support to the endpoint as well.

This support is limited by LS's own partition group support. It
only looks at the enrollment track partition currently. Further
FBE and cohort partition support will come later.

But this commit opens up normal session masquerading for:
- Generic student
- Specific student
- Enrollment track

AA-1151
2021-12-20 11:14:07 -05:00
Jillian Vogel
2ef69d513f refactor: removes xqueue_callback_url_prefix argument
from the lms get_module_for_descriptor and related methods.

This prefix was previously inferred from the request's base URL and
passed through several methods to reach the XQueueService creation.
But the request base URL always matches the LMS_ROOT_URL (or the preview
URL), so this change simply uses that setting instead.
2021-12-20 15:41:42 +01:00
Jillian Vogel
1974bacadd refactor: deprecates runtime.xqueue in favor of the XQueueService
* Deprecates ModuleSystem.xqueue property
* Adds new XQueueService to provide the deprecated property values to the LMS runtime
  (Studio does not need the XQueueService.)
* Adds tests for new service and updates the ModuleSystemShim tests in LMS and Studio
* Fixes existing tests.
2021-12-20 15:41:42 +01:00
Jillian Vogel
f828d89feb refactor: use UserService to remove deprecation warnings
from code and tests.
2021-12-20 15:41:25 +01:00
Jillian Vogel
e378e42bfa refactor: deprecate user-related ModuleSystem attributes
Deprecates these ModuleSystem attributes in favor of the user service:

* user_location
* get_real_user
* get_user_role

Related changes:

* Stores the user location into DjangoXBlockUserService's optional attribute as request_country_code
* Uses the student model's user_by_anonymous_it to fetch the (cached) real user
* Updates affected tests
2021-12-20 15:41:25 +01:00
Matt Hughes
a92f372a3e fix: redirect behavior to learner-specific progress pages
JIRA:AU-375
2021-12-13 15:52:00 -05:00
Jawayria
5355d2823c fix: split pr to two 2021-12-09 13:43:48 +05:00
Dillon Dumesnil
40964045e4 Merge pull request #29526 from edx/mikix/preserve-params-on-redirect
fix: when redirecting to the MFE, preserve query flags
2021-12-08 05:46:17 -08:00
edX requirements bot
bb20b17428 Python Requirements Update (#29516)
* chore: Updating Python Requirements

* fix: fix pylint issues

Co-authored-by: Mohammad Ahtasham ul Hassan <mohammad.ahtasham@arbisoft.com>
2021-12-08 14:13:27 +05:00
Michael Terry
bf2c2ce3c3 fix: when redirecting to the MFE, preserve query flags
This can potentially fix analytics based on query params like
utm_campaign and the like. And generally seems like the correct
thing to do.

AA-1128
2021-12-07 14:10:32 -05:00
Usama Sadiq
780a6f3c2d Revert "chore: install codejail from pypi (#29481)" (#29501)
This reverts commit 21551095ac.
2021-12-02 22:19:15 +05:00