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

Merge in Previous Release changes for Configuration #224

Merged
merged 39 commits into from
Apr 10, 2024

Conversation

becdavid
Copy link

@becdavid becdavid commented Jan 8, 2024

No description provided.

@becdavid becdavid force-pushed the feature.nutmeg/configuration branch 2 times, most recently from 884aec1 to 088850f Compare January 8, 2024 19:33
@becdavid becdavid force-pushed the feature.nutmeg/configuration branch from 0045940 to 3dba3ef Compare January 18, 2024 20:00
@becdavid becdavid linked an issue Jan 18, 2024 that may be closed by this pull request
16 tasks
@becdavid becdavid force-pushed the feature.nutmeg/configuration branch from e3d6bc1 to e321c9a Compare February 5, 2024 20:41
@becdavid becdavid force-pushed the feature.nutmeg/configuration branch 3 times, most recently from bec8d28 to 806275e Compare February 20, 2024 16:26
becdavid and others added 22 commits April 4, 2024 10:02
When I tested this it produced this error when the user was logged out of the Open edX LMS and I traversed to the http://localhost:18000/ page.

> (Pdb) request.user.is_authenticated()
*** TypeError: 'bool' object is not callable

To resolve this remove the () on the is_authenticated property.

https://github.com/CUCWD/edx-platform/pull/156/files#r841815053
- Updated the registration questions to have a full question rather than shorted name.
- Sorted the answer options as the research team order specified.
- Styled the fields to adjust the height based on individual questions where text was wrapping.
…om sidebar notifications.

The openedx feature for announcements already exists. We extended this allow for `banner` and `sidebar` announcements from the LMS course dashboard page.

We needed a way to notify the learner about upcoming maintenance for the platform and a banner (at top) seemed more appropriate than sidebar which this feature currently had implemented.

Updated the CMS `/maintenance/announcements/` page to account for `Promote to Banner` behavior when needing to display at the top of the page.
Needed a way to set course advanced fields through the Django management command line. Instead of call the REST PATCH endpoint here cms/djangoapps/contentstore/rest_api/v0/views/advanced_settings.py we utilized the `update_course_advanced_settings` method here  cms/djangoapps/contentstore/views/course.py to pass JSON override values for one or more courses.

A `--force-update-catalog-visibility-about` command option was added to include advanced setting. When upgrading from an older release to `Maple` we had this `catalog_visibility` set to `none` which produced the `There was an error loading this course` message when viewing the course MFE Learning frontend. It was necessary to make sure these courses didn't have the `none` value and received `about` or `both` settings to have the page load properly. This command sets the value to `about` to prevent the course from uploading to the `course-discovery` service and out to the marketing frontend.
```
{
    "catalog_visibility": {
        "value": "about"
    }
}
```

Reference: https://discuss.openedx.org/t/how-to-programmatically-set-a-course-advanced-fields/8901
update to default at 150 courses to avoid memory consumption on server.
…PPS on `pytest cms` run.

**Error**
RuntimeError: Model class custom_reg_form.models.ExtraInfo doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
Unable to load XBlock 'qualtricssurvey'
…agement command.

Resolved these pylint issues.
```
************* Module cms.djangoapps.contentstore.management.commands.set_advanced_fields_all_courses
cms/djangoapps/contentstore/management/commands/set_advanced_fields_all_courses.py:117:12: W0707: Consider explicitly re-raising using the 'from' keyword (raise-missing-from)
cms/djangoapps/contentstore/management/commands/set_advanced_fields_all_courses.py:166:16: R1704: Redefining argument with the local name 'course_id' (redefined-argument-from-local)
cms/djangoapps/contentstore/management/commands/set_advanced_fields_all_courses.py:222:60: C7630: getattr using a literal attribute name (literal-used-as-attribute)
```
These tabs need to be disabled until ready to use. Additional configuration will need to happen for these tabs to be used.
ztraboo and others added 16 commits April 4, 2024 10:02
Since Google Analytics 4 (GA4) is replacing Universal Analytics, we're updating this script include.
Setting `SameSite=None, Secure=True` for third-party sites (e.g. Canvas, Blackboard, etc) to use Google Analytic cookies on.

*Reference*
https://www.simoahava.com/analytics/cookieflags-field-google-analytics/#set-the-field-in-gtagjs
Seems like the override performed by site themes is not overriding this file so we're handling this here across all sites.
…rolled in platform course.

In order to count unique students for our own analytic purposes, we're make sure that these anonymous LTI users get enrolled in the course.

The functionality that edX provides ignores this course enrollment.

**Special Instructions For `Instructor` Roles**
In order to make sure the the instructor has full access rights to EducateWorkforce Instructor Dashboard and analytic tools we'd still want to register their platform accounts with `Instructor/Staff` roles.

To prevent duplicate instructor accounts, we follow these steps to ensure uniqueness:
- Register instructors directly in EducateWorkforce course as we have been doing with the Instructor/Staff role.
- Only perform course enrollments for students in the Canvas course. They'll come in anonymously to the platform but they'll be enrolled the first time they launch the lti_provider link.
- Should an instructor be registered on Canvas directly and not EducateWorkforce, then that account will come in anonymously to EducateWorkforce, but it won't count towards our unique students/instructor count because we're not calling the `CourseEnrollment.enroll()` method.
One of our customers `Securus` was having `X-Frame-Options` set to `sameorigin`. In order to prevent this restriction we're adding the decorator to except this restriction.

**Decorators Used**
https://github.com/django/django/blob/3c447b108ac70757001171f7a4791f493880bf5b/django/views/decorators/clickjacking.py#L46-L54

**EdX Documentation on Clickjacking**
https://openedx.atlassian.net/wiki/spaces/AC/pages/144441658/Clickjacking

**Django Documentation on Clickjacking**
https://docs.djangoproject.com/en/3.2/ref/clickjacking/
With this change the platform users who access content via LTI will
automatically be linked their platform account instead of the anonymous
account when the following conditions are met:
* the LtiConsumer should be configured to auto link the users via email
* the LTI Consumer should share the email of the user using the
lis_person_contact_email_primary parameter in the LTI Launch POST data

Internal-ref: https://tasks.opencraft.com/browse/BB-7875
With the auto linking of edx_user with the lti_users, the scenario where
multiple LTI consumers will create independent LtiUsers depending on the
same edx_user is created. This will not be possible if the edx_user has
a one-to-one relationship with the lti_user. This commit replaces the
one-to-one relationship with an one-to-many relationship so that
multiple LtiUser objects can be created referencing the same edx_user.
For the get_learning_mfe_home_url, the view_name argument has been renamed to url_fragment. This commit updates glossary and badges tab to reflect this change.

Commit also adds glossary tab to setup.py
@becdavid becdavid force-pushed the feature.nutmeg/configuration branch 2 times, most recently from 1abceb0 to b10544d Compare April 5, 2024 14:14
@becdavid becdavid force-pushed the feature.nutmeg/configuration branch from b10544d to 4dc80e4 Compare April 5, 2024 16:10
@becdavid becdavid merged commit c3d38a3 into develop/nutmeg.master Apr 10, 2024
30 checks passed
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.

Merge in Configuration Changes for Nutmeg Release
5 participants