Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: port code drift for open-craft/edx-platform [BB-8366] #614

Merged
merged 14 commits into from
Jan 3, 2024

Conversation

0x29a
Copy link
Member

@0x29a 0x29a commented Dec 28, 2023

Description

I've gone through all 57 commits from this diff. Most of them were present in this project, but some weren't.

Unfortunately, I realized that it's impossible to get a hyperlink to an item only after I archived some of them (I was following this process). That's why items for some PRs present in Quince are archived, and some aren't. Another problem is that the item numbers change whenever you insert a new one, therefore I can't guarantee that the references in the last column are correct.

Commit Present in Quince Should be cherry-picked? Item № here
4d801fe7a8 Archived: Django has been upgraded.
43c635b846 Archived: the client is gone.
653d353fcd Archived: the client is gone.
58ecc18547 No item, but this isn't needed anymore, same reason ^.
613d845502 Archived: the client is gone.
dbe7b04c57 Archived: the client is gone.
7245bdc7f7 1
3101bb7e59 27
17dd0ec3d5 22
64d2883e46 Archived: present in Quince.
c41021213b Archived: present in Quince.
75aa91de50 Archived: present in Quince.
923a2d85ab Archived: present in Quince.
837e9edc78 Archived: present in Quince.
012aa22993 Archived: present in Quince.
8940cb3830 Covered by 12.
0c831dc390 2
3ca85eac12 23
f552973792 24
05324a51d6 No item, this is just a merge commit.
6b01531ccb Archived: present in Quince.
863fdfe2c8 No item, present in Quince.
671034b1a5 Archived: present in Quince.
dff4e8c2f0 No item, this is just a sync with upstream.
39d71161d8 No item, this is just a sync with upstream.
dcf72e1444 No item, this is just a sync with upstream.
3e17ba4e49 No item, this is a revert commit.
e100302b57 No item, this is just a sync with upstream.
65112defa5 9
448295fc11 No item (not our PR).
8c1ed2ce7f No item, this is just a sync with upstream.
05e638f9cb No item, this is a revert commit.
6a20ffc594 No item, this is just a sync with upstream.
13bda07dc7 No item.
86041f9ab1 14, 19
5d160c2ecd 3, 6, 12
5ebef3a184 3, 6, 12, merge commit.
0e0bf0413e Archived: present in Quince.
81681bbaa4 No item, this is just a sync with upstream.
98944d2e4c No item, this is just a sync with upstream.
2be436d061 3, 6, 12
0362a0fd9f 15
b68314b831 No item, this is just a sync with upstream.
6e79a5389e 13
d5e16f5826 3, 6, 12, merge commit.
4b52e996fd Archived: present in Quince.
78eb0e78cf 28
a8389b474c Archived: present in Quince.
b92baaa43b No item, this is just a sync with upstream.
377bb0762e No item, merge commit.
63440c5bf9 No item, this is just a sync with upstream.
7d52828402 16
dff3647570 29
0eef233403 No item, this is just a sync with upstream.
4df908a4ee 26
c5bd3f39c1 No item, this is just a sync with upstream.
1c6d7b2d60 16

Testing notes

6da7f58:

Pull request: openedx#30832

Tested that anonymous_user_id is an MD5 hash.

21571c6:

Pull request: openedx#31715

Tested that redirecting works as expected.

d468a8c:

Pull request: openedx#31794

The course clone endpoint worked as expected and the cloned course was browseable.

c596bf3:

Pull request: #540

🟥 Was unable to test this. Standard OAuth login doesn't use the affected code. 🟥

50da901:

Pull request: openedx#32406

Tested that DEFAULT_GRADE_DESIGNATIONS setting works as expected.

6de7b64:

Pull request: openedx#32569

Tested that superusers and not staff can access Studio.

0567608:

Pull request: openedx#32656

Tested that changing the site for OAuth2ProviderConfig config creates a new config object.

a21b4f0 and a20e51d:

Pull request: #561

Tested that the eSHE Instructor role works by itself and in combination with other roles, such as Staff, Discussion Admin and Course Data Researcher.

dfb8ac9:

Pull request: openedx#33338

Tested that the course navigation bar is visible on wiki pages.

b9662f4:

Pull request: #591

🟥 Didn't test this. The PR description is missing Google Analytics setup description. 🟥

However, this was a clean cherry-pick and the target file changes extremely rarely, so the risk that this is broken is fairly low.

f553cc4:

Pull request: openedx#33491

Tested that users with the Limited Staff course role can access http://localhost:18000/courses/course-v1:ABC+ABC+ABC/cohorts/.

87400e5:

Pull request: openedx#33684

Tested that the "Instructor" tab is hidden when impersonating.

a46281a:

Pull request: openedx#33647

Tested that the default filter works. Note: adding new Dark Lang config isn't adding a new language to the dropdown on the "Account" page.

kaustavb12 and others added 14 commits December 27, 2023 15:20
…to md5

The hashing algorithm has been changed in cd60646. However, there are Open edX
operators who maintain backward compatibility of anonymous user IDs after past
rotations of their Django secret key. For them, altering the hashing algorithm
was a breaking change that made their analytics inconsistent.

(cherry picked from commit 746e4fe)
(cherry picked from commit ff6d92f)
(cherry picked from commit 7245bdc)
This change adds a new waffle switch to redirect a student to coursware after
enrolment instead of the dashboard.

(cherry picked from commit f494586)
(cherry picked from commit 79c4b4a4bbb067c07b30980d9bd11ceb3f4e9af2)
…account is unlinked

(cherry picked from commit e83a8c8f82849644cf95534cde3fe149e4f11916)
(cherry picked from commit 0c831dc)
(cherry picked from commit 7a7af8cdc16416ec8e3289f9482e734b58145b0e)
(cherry picked from commit 9475431)
(cherry picked from commit 3ca85ea)
(cherry picked from commit 8ef55754f4a529cc6b784298320fcdb8b415bd83)
(cherry picked from commit 8e281a9)
(cherry picked from commit f552973)
Allows admins to configure same oauth backend for multiple sites.

This change includes site_id in KEY_FIELDS for oauth configuration
provider allowing a backend configuration for each site.

(cherry picked from commit 565b34e)
Adds the eSHE Instructor role, which inherits Course Staff permissions,
but isn't able to enroll / un-enroll students and can't assing course
team roles unless in combination with Course Staff / Instructor /
Discussion admin roles.

(cherry picked from commit 5d160c2)
Learners want to have the usual course navigation when viewing a wiki,
so that they can go back to the course related to the wiki and browse
other tabs/sections of the course.

Wiki reads the course from the `request.course`. If it's not present,
i.e.  None or not set on the request, it will not show the course
navigation UI.

It seems like `WikiAccessMiddleware` already has the code that parses
course id from the request (when the request is for a wiki view) and
sets the course for the request. However, it doesn't work in most
scenarios, because the course id is not in the it's normal format in
most requests that go to wiki.

For example, when a leaner clicks on a wiki tab from the course
overview, they are redirected to `/wiki/<wiki_slug>/` path. The wiki
slug is taken from course's `wiki_slug` field. This slug can be used to
figure out what course this wiki belongs to in most (not all) cases.

This commit adds code to the `WikiAccessMiddleware` that attempts to
find a course based on wiki slug, and in case of success, sets the
course to the `request.course`, so that wiki can display course
navigation UI.

(cherry picked from commit 755fa7f)
Limited Staff should not have studio read access by design.

However, since many LMS views depend on the `has_course_author_access` check and `course_author_access_required`
decorator, we have to allow write access until the permissions become more granular. For example, there should
be STUDIO_VIEW_COHORTS and STUDIO_EDIT_COHORTS specifically for the cohorts endpoint, which is used to display
"Cohorts" instructor dashboard tab.

(cherry picked from commit febcccc)
Adds a feature flag to filter courses by users preferred language by default

test: add test
(cherry picked from commit 13ad42f759fdc1a387744ca971871bb30f5934f1)
@xitij2000
Copy link
Member

@0x29a This looks good, but I think there is one commit missing:

6e79a53

@0x29a
Copy link
Member Author

0x29a commented Jan 3, 2024

Thanks for checking this out, @xitij2000.

Isn't this commit backporting openedx#32397, which is present in Quince?

@0x29a 0x29a merged commit 14497bf into opencraft-release/quince.1 Jan 3, 2024
42 checks passed
@0x29a 0x29a deleted the 0x29a/bb8366/quince-shared-branch branch January 3, 2024 14:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants