Commit Graph

65244 Commits

Author SHA1 Message Date
MueezKhan246
03bcbcdbbb refactor: reverting redundant changes 2024-05-23 13:34:17 +00:00
MueezKhan246
a31375a927 refactor: manually bumping build version 2024-05-23 12:57:24 +00:00
MueezKhan246
4123e8b7d3 Merge branch 'master' into MueezKhan246/upgrade-edx-enterprise-be03938 2024-05-22 18:41:22 +05:00
Kyle McCormick
69e5fa4227 test: check both dev and prod asset builds using npm run (#34836)
This switches the static asset check over from the deprecated
paver commands to the new 'npm run build' command. Doing so allows us
to check both the prod AND dev build, whereas before we were only
checking the prod build.

Please note that, as before, the "check" is only ensuring that the build
returns 0. It is not checking the contents of the build output.

Closes: https://github.com/openedx/edx-platform/issues/34834
2024-05-22 09:40:37 -04:00
MueezKhan246
9f42093650 feat: Upgrade Python dependency edx-enterprise
removed unencrypted columns of user data credentials in blackboard config ENT 8010

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
2024-05-22 13:32:13 +00:00
David Ormsbee
be03938377 refactor: update to use Learning Core's new public API
This also bumps our openedx-learning dependency to 0.10.0 (the first
version with the new openedx_learning.api package).
2024-05-21 16:05:56 -04:00
Kyle D. McCormick
f820961de5 test: actually unit test and lint remaining pavelib modules
We haven't unit-tested or linted these modules ever since testing was
moved from Jenkins to GitHub Actions.
2024-05-21 15:14:38 -04:00
Kyle D. McCormick
e64becbdf0 test: fix remaining paver tests
They haven't been run in CI in years, and had gradually become broken
2024-05-21 15:14:38 -04:00
Kyle D. McCormick
c4a1f800e9 feat!: remove paver docs, i18n, servers, and pylint
This is the first step of Paver removal.
These are the parts that we are confident are unused.

Part of: https://github.com/openedx/edx-platform/issues/34467
2024-05-21 15:14:38 -04:00
Alexander J Sheehan
5c3dd11c6a Merge pull request #34831 from openedx/asheehan-edx/enterprise-version-bump-4.19.3
feat: bumping edx-enterprise version to 4.19.3
2024-05-21 14:16:22 -04:00
Chris Chávez
0295d60332 perf: Bump version of openedx-learning for taxonomy import improvements (#34796) 2024-05-21 11:01:25 -07:00
Alexander J Sheehan
2812a706f2 feat: bumping edx-enterprise version to 4.19.3 2024-05-21 17:36:17 +00:00
Ahtisham Shahid
362899e797 fix: Added message to Course update notification in case of small text (#34819) 2024-05-21 13:31:41 +05:00
Jesper Hodge
e95d7e7e32 fix: libraries performance problem
This is an attempt to fix a performance problem on the libraries home page. When you go to studio home and click on the libraries tab, on prod it will be quick for admins but extremely slow for course instructors (> 12 seconds) and leads to timeouts. It grows with the number of libraries that are assigned to the instructor.

The Python code for the request to load libraries for a particular user goes through all existing libraries and then checks all of the user's roles for each library, which results in a complexity of O(l*r), l=libraries, r=roles. This PR improves the complexity to O(l).

The BulkRoleCache and RoleCache classes were using a python set to store all roles for a particular user. A user can have a large number of roles, and lookup speed of iterating through a set is slow (O(n)). Most roles don't have the same course id, however. So if you have the course id of the role you're looking for, we can use a dict of course ids that contain related roles. The number of roles per course id is negligible, so we arrive at a lookup speed of O(1) when looking up a user's roles that belong to a specific course id.

The BulkRoleCache now caches and stores user roles in a data structure like this:
    {
        user_id_1: {
            course_id_1: {role1, role2, role3},  # Set of roles associated with course_id_1
            course_id_2: {role4, role5, role6},  # Set of roles associated with course_id_2
            [ROLE_CACHE_UNGROUPED_ROLES_KEY]: {role7, role8}  # Set of roles not tied to any specific course or library. For example, Global Staff roles.
        },
        user_id_2: { ... }  # Similar structure for another user
    }

While this changes the data structure used to store roles under the hood and adds the new property `roles_by_course_id` to the RoleCache,
when initializing the RoleCache will store roles additionally in the previous data structure - as a flat set - in the `_roles` property accessible via `all_roles_set`. This establishes
backwards compatibility.

We are now storing roles twice in the RoleCache (in each of the two data structures), which means this takes twice as much memory, but only in the scope of a request.
2024-05-20 16:34:08 -04:00
Hamzah Ullah
e7b4db0862 chore: Upgrade edx-enterprise to 4.19.1 (#34822) 2024-05-20 15:34:35 -04:00
Maria Grimaldi
9431e96d3c fix: add in-line docs correct namespace for content_groups_for_teams (#34783) 2024-05-20 14:50:17 -04:00
Maria Grimaldi
33b8137763 refactor: rename minimum partition ID constant to be more generic (#34529)
Rename MINIMUM_STATIC_PARTITION_ID to MINIMUM_UNUSED_PARTITION_ID
so it's not confusing when used to generate IDs for static or dynamic
partitions.
2024-05-20 14:38:58 -04:00
Hamzah Ullah
031df2dbd3 chore: Upgrade edx-enterprise to 4.19.0 (#34821) 2024-05-20 10:11:10 -04:00
Arslan Ashraf
9c485dddd6 fix: make lis_person_contact_email_primary matching case-insensitive 2024-05-17 20:21:32 +02:00
Glenn R. Martin
73231eda86 Merge pull request #34818 from openedx/gmartin/cc-logging
fix: adding additional logging to commerce handle_refund_order
2024-05-17 12:22:08 -04:00
Glenn R. Martin
20c8fc127b fix: logging emission of REFUND_ORDER 2024-05-17 11:55:47 -04:00
Glenn R. Martin
a9b14e8b16 fix: adding additional logging to commerce handle_refund_order 2024-05-17 11:21:59 -04:00
David Ormsbee
4c0623bcbc fix: prevent setting user attributes from JWT in Studio
Open edX implements its a JwtAuthentication class in edx-drf-extensions
(in edx_rest_framework_extensions.auth.jwt.authentication). This class
updates the local User database entry to match certain values in the
token. It's used as a way to automatically provision and update users
with their LMS user information on other Open edX services like
ecommerce.

Since LMS and Studio keep the record of truth in its database tables,
they should *not* update their database user information based on the
JWT. Doing so would allow stale JWTs to incorrectly reset user values
after they had been changed in the LMS. This is done by having the
EDX_DRF_EXTENSIONS['JWT_PAYLOAD_USER_ATTRIBUTE_MAPPING'] setting be an
empty dictionary, and was set correctly for the LMS in its common.py env
settings module. Unfortunately, this was *not* being set for Studio.

This commit adds the same setting to Studio's common settings module.
Prior to this commit, it was possible for a stale JWT to reset user
attributes if the user hit a Studio API endpoint that used JWT for  auth
(e.g. endpoints used by the Course Authoring MFE). This opened up a
potential security issue where a global staff user (is_staff=True) that
had their global staff status removed (is_staff=False) could have up to
a one hour window in which they could use their stale-but-still-valid
global-staff JWT token to regain global staff status by calling a Studio
endpoint with their browser.
2024-05-17 10:01:10 -04:00
Alexander J Sheehan
e33e30ca85 Merge pull request #34814 from openedx/asheehan-edx/edx-enterprise-version-bump-4.18.6
chore: bumping enterprise package version to 4.18.6
2024-05-16 15:49:50 -04:00
Alexander J Sheehan
997f28c25b chore: bumping enterprise package version to 4.18.6 2024-05-16 19:18:28 +00:00
Kyle McCormick
51274af916 fix: use the correct environment variable in watch_sass (#34805)
EDX_PLAFORM_THEME_DIRS was the original name,
but it was changed to COMPREHENSIVE_THEME_DIRS
in https://github.com/openedx/edx-platform/pull/34700.
2024-05-16 15:08:05 -04:00
Raymond Zhou
0fd3bde79d fix: remove instructor info serializer validation (#34802) 2024-05-16 13:47:07 -04:00
Justin Hynes
9fbc6e3bf4 feat: purge name from certificate records during user retirement (#34799)
[APER-3241]

This PR updates the retirement pipeline to purge learners' names from certificate records when their account is being retired.

It also introduces a new management command that can be used by Open edX operators to purge the leftover name data (PII data) from the `certificates_generatedcertificate` table. This is designed as a one-time use data fixup, as the retirement functionality should clean this moving forward.
2024-05-16 09:17:40 -04:00
Muhammad Adeel Tajamul
7709f4b2c6 fix: updated email notifications task and ui fixes (#34803) 2024-05-16 05:18:59 +05:00
Kyle D. McCormick
7d7a18d28b build: add system check to warn of pending devstack settings removal
Note: I had originally implemented this as a `warnings.warn()` call
directly in lms/envs/devstack.py and cms/envs/devstack.py, but for
whatever reason, those warnings were getting swallowed. System checks
display more prominently, anyway.

Part of: https://github.com/openedx/public-engineering/issues/247
2024-05-15 12:56:59 -04:00
Kyle D. McCormick
72a15e36e9 docs: remove outdated configuration diagram 2024-05-15 12:56:59 -04:00
github-actions[bot]
73d3995dae feat: Upgrade Python dependency edx-enterprise, and introduce importlib-metadata (#34794)
* feat: Upgrade Python dependency edx-enterprise

Version bump

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`

* fix: reintroduce importlib_metadata

* chore: Updating Python Requirements (#34798)

---------

Co-authored-by: brobro10000 <82611798+brobro10000@users.noreply.github.com>
Co-authored-by: Hamzah Ullah <hamzahullah@yahoo.com>
Co-authored-by: edX requirements bot <49161187+edx-requirements-bot@users.noreply.github.com>
2024-05-14 15:22:06 -04:00
Feanil Patel
3538c34703 Merge pull request #34792 from openedx/feanil/old_consistency
fix: Check consistency with python 3.8
2024-05-14 13:30:49 -04:00
Feanil Patel
a6614adc0c Merge pull request #34782 from open-craft/yusuf-musleh/update-tagged-openassessment-test
test: Update tagged openassessment test
2024-05-14 11:35:11 -04:00
Feanil Patel
17596bf70e fix: Check consistency with python 3.8
We need to do this until we're ready to compile requirements with python
3.11 some time next week.
2024-05-14 11:04:05 -04:00
Feanil Patel
e54f647929 Merge pull request #34780 from openedx/feanil/drop_old
feanil/drop old
2024-05-14 10:55:25 -04:00
Feanil Patel
4687dae487 build: Drop testing with Mongo 4.4 and Python 3.8 2024-05-14 09:25:18 -04:00
Yusuf Musleh
e8d07cf747 test: Update tagged openassessment test 2024-05-14 10:37:38 +03:00
Katrina Nguyen
62aa7dd06d Merge pull request #34790 from openedx/katrinan029/upgrade-edx-enterprise-20c082c
feat: Upgrade Python dependency edx-enterprise
2024-05-13 15:41:23 -07:00
katrinan029
a28e107c0a feat: Upgrade Python dependency edx-enterprise
feat: Upgrade Python dependency edx-enterprise

version bump

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`

fix: updating edx-enterprise

fix: lint error
2024-05-13 21:54:58 +00:00
Tim McCormack
20c082c33b feat: Remove direct New Relic references (use configured telemetry) (#34781)
Now that edx-django-utils can report to other telemetry backends, we need
to remove the direct newrelic references.
2024-05-13 17:10:46 +00:00
Raymond Zhou
74a514518c fix: instructor info in course details api (#34760) 2024-05-13 12:47:22 -04:00
ABBOUD Moncef
3fa77ea44d feat: add a nontranslated status video field (#33939) 2024-05-13 09:58:01 -04:00
Kyle McCormick
15caa9746f refactor: Completely remove Blockstore (#34739)
Blockstore and all of its (experimental) functionality has been replaced with
openedx-learning, aka "Learning Core". This commit uninstalls the now-unused
openedx-blockstore package and removes all dangling references to it.

Note: This also removes the `copy_library_from_v1_to_v2` management command,
which has been broken ever since we switched from Blockstore to Learning Core.

Part of this DEPR: https://github.com/openedx/public-engineering/issues/238
2024-05-13 09:48:18 -04:00
Ahtisham Shahid
d3ffb3e882 fix: get topics for blocks with discussions enabled (#34732) 2024-05-13 16:50:37 +05:00
sundasnoreen12
60e86dd076 Merge pull request #34687 from openedx/sundas/INF-1371
fix: fixed tds width and margins issues
2024-05-13 11:41:29 +05:00
Feanil Patel
70f06867af Merge pull request #34424 from qasimgulzar/qasim/fix/34379
fix: Course blocks API with param return_type=list
2024-05-10 13:25:16 -04:00
Muhammad Adeel Tajamul
0d4adaa5d7 fix: updated ace template for notifications email digest (#34778) 2024-05-10 17:52:19 +05:00
sundasnoreen12
2c4e039313 fix: moved tr outside forloop 2024-05-10 14:50:30 +05:00
sundasnoreen12
7789923d21 refactor: added tr tags 2024-05-10 13:03:01 +05:00