Commit Graph

4381 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
Demid
16fa97dde4 feat: deprecate filestore
This:

1. Removes the `filestore` property from the `ModuleSystem` in favor of
   the `runtime.resources_fs` property.
   In the original code, `filestore` is equal to
   `DescriptorSystem.runtime.resources_fs`. It's safe to replace it with
   `ModuleSystem.runtime.resources_fs` because both runtimes are combined
   using the `CachingDescriptorSystem`. It provides the `resources_fs` property
   that uses the same file storage.

2. Renames `filestore` argument to `resources_fs` in the `LoncapaSystem`
   constructor.

3. Adds the deprecated `filestore` property to the `ModuleSystemShim`
   and `RuntimeShim`.
2022-04-14 14:45:05 +02: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
Ali Akbar
83b22f1ff5 Merge pull request #30127 from openedx/aakbar/PROD-2741
feat: add a waffle switch for new financial assistance flow
2022-04-05 15:24:56 +05:00
AliAkbar
3082542aa2 feat: add a waffle switch for new financial assistance flow 2022-04-05 15:02:31 +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
Dillon Dumesnil
1106634b58 Merge pull request #30059 from openedx/ddumesnil/check-discussion-link
fix: Check discussion_link exists as an attr before accessing
2022-03-14 12:26:53 -07:00
Dillon Dumesnil
7ade1cc1ab fix: Check discussion_link exists as an attr before accessing
This is a patch to fix CR-4621. A longer term solution should
be implemented.
2022-03-14 15:01:58 -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
d43ece5dba feat: AA-1205: Add Learning MFE support for Entrance Exams
* Adds entrance exam information to the Course Overview object
    * Enables hiding other tabs since the get_course_tab_list uses
      a Course Overview
    * Enables using the entrance exam helper functions to determine
      if Entrance exams are being used in this course.
* Posts a message when Entrance Exam is passed to parent container for
usage in the Learning MFE
* Overrides the 'title' field of the courseware tab since the Learning MFE
uses that over the 'name' field.
2022-03-14 09:04:45 -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
Dillon Dumesnil
61b93d953d feat: Add backfill course tabs management command
Previously, course tabs would only be created once and never try to
update the default tabs again. This leads to an issue if you ever want
to add a new tab. With this command, you can now update the default tabs
for all existing courses and new courses will pick it up upon creation
when CourseTabList.initialize_default is called.
2022-03-11 11:16:18 -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
37601a03f1 Merge pull request #30021 from openedx/mikix/guard-course-end
fix: add some extra guards for a None course.end value
2022-03-07 15:49:13 -05:00
Michael Terry
dbb1e4c8dd fix: add some extra guards for a None course.end value
This has bit us in the past, and here are a few more places
where it doesn't hurt to be cautious.

AA-1198
2022-03-07 15:25:53 -05:00
Chris Deery
b61b29196b feat: [AA-1206] remove redundant fields from API (#29920)
* feat: [AA-1206] remove redundant fields from API

Part of a larger effort to clean up the MFE BFF endpoints.
Remove the redundant fields username and course_access, both of which are also available in the course home metadata call.
2022-03-04 09:01:02 -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
Dillon Dumesnil
d8d4826bf0 Merge pull request #29821 from eduNEXT/MJG/fix-available-cert-date-preview
fix: avoid TypeError when comparing course.end with current date
2022-01-28 07:18:22 -08: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
Maria Grimaldi
7124d6778d fix: avoid TypeError when comparing course.end with current date 2022-01-27 17:34:08 -04: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
Michael Terry
44e799f60d fix: don't show broken enroll link for staff on invite courses
Non-enrolled staff users were being shown enroll links for courses
that you can't self-enroll for (masters-only, invitation-only, etc).

This fixes the outline page to ignore staff status for that check.

AA-1164
2022-01-24 16:14:14 -05:00
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
Awais Jibran
40bb23501a Revert "refactor: Adding some debug logs. (#29639)" (#29791)
This reverts commit 80e12af963.
2022-01-20 12:47:19 +05:00