Commit Graph

4466 Commits

Author SHA1 Message Date
Tim McCormack
279e4d0b67 feat: Use new configurable producer API for event bus (#31356)
This involves a breaking-change update to edx-event-bus-kafka 2.0.0.
2022-11-28 18:41:35 +00:00
connorhaugh
fe15171209 feat: author permission studio xblock handler (#31239)
Conversation around a hasty fix for security reasons led to a fix-forward improvement. You can find that conversation here. #31221 .
2022-11-18 16:39:51 -05:00
Kshitij Sobti
de0b132f10 fix: delay creation of course topics after course publish (#31307)
When running in a sharded MongoDB setup it's possible that querying the
modulestore right after the course publish signal will not return the
latest data.

This commit adds a delay similar to the one used in other places in the
codebase for a similar reason.
2022-11-18 16:49:29 +05:00
Maximiliano Fernandez
5fa05289a4 fix: remove course pre requisite only if is not entrance exam (#22529)
See details in the related PR

Co-authored-by: Omar Al-Ithawi <i@omardo.com>
Co-authored-by: Shadi Naif <shadinaif@gmail.com>
2022-11-17 08:20:38 -04:00
0x29a
d6c6a44ed5 refactor: remove prefer_xmodules
This function is no longer needed as all XModules have been converted to XBlocks.

XBLOCK_SELECT_FUNCTION Django setting is removed too, as it could take only `prefer_xmodules` or `default_select` values.
2022-11-16 13:08:22 +01:00
Piotr Surowiec
f419d6b194 feat: deprecate track_function and publish in ModuleSystem [BD-13] (#30046)
* feat: delete `track_function` from ModuleSystem

* feat: delete `publish` argument from ModuleSystem
2022-11-15 10:46:24 -05:00
Zachary Hancock
b4ea4f1da5 fix: edx-exams request data/headers (#31290) 2022-11-14 14:11:52 -05:00
Zachary Hancock
01f14dbc2d test: update exams test to use split modulestore (#31223) 2022-10-28 11:49:17 -04:00
Sagirov Eugeniy
8f88422c4a test: prepare tests for removing support for children in Old Mongo 2022-10-28 11:43:20 -04:00
connorhaugh
f9c39375cc fix: studio edit permissions (#257)
Per 12. Make your fix public. 
I am merging this fix.
2022-10-27 10:12:28 -04:00
Usama Sadiq
4734f9f16e fix: bump pylint version (#31084) 2022-10-27 12:19:09 +05:00
Sagirov Eugeniy
3f3d0d25d8 feat!: Remove inheritance-related code from Old Mongo 2022-10-24 11:58:44 -04:00
Rebecca Graber
b8d13812a4 feat: remove constraint on and upgrade openedx-events, edx-event-bus-kafka (#31182)
This will remove the "effort" field from COURSE_CATALOG_INFO_CHANGED event data
2022-10-24 08:03:01 -04:00
Kristin Aoki
0d0f9e7b3c feat: add video_images_upload_enabled api so new video editor knows val 2022-10-05 11:09:24 -04:00
Agrendalath
dd97c74fde refactor: deprecate course_id from ModuleSystem
This attribute is already deprecated for XBlocks in favour of directly
retrieving it like `block.scope_ids.usage_id.context_key`.

This commit also removes some redundant logging code which was omitted in the
Datadog removal in #19420.
2022-09-21 18:53:45 +02:00
Agrendalath
668683559b refactor: deprecate static_url argument from ModuleSystem
This argument was officially used only by the ProblemBlock.
If you need to get the base URL for static assets in your XBlock, please use
`settings.STATIC_URL` directly, instead of `runtime.STATIC_URL`.
2022-09-21 18:28:44 +02:00
Zachary Hancock
2f3c93ed9f feat: sync with exam service on course publish (#31015)
Call into the exam service instead of the edx-proctoring plugin on course publish if the course_apps.exams_ida course waffle flag is enabled. This is an early step in moving away from edx-proctoring
2022-09-20 12:38:32 -04:00
Sagirov Evgeniy
42246c858d feat!: remove code related to Old -> Split migration (#30955)
This commit removes code that was used to copy Old Mongo courses into
new Split Mongo courses. This includes both the migrate_to_split
management command, as well as the backend code that would be invoked
to re-run Old Mongo courses as Split courses using Studio (the UI for
this was already removed in b429e55c).

This is a part of the Old Mongo removal effort tracked in:
  https://github.com/openedx/public-engineering/issues/62
2022-09-19 10:51:40 -04:00
Kshitij Sobti
a923cfc32e feat: Add mechanism to migrate discussion blocks to discussion flag (#30931)
The new mechanism for marking that a unit has discussions is to use the
discussion_enabled flag instead of adding a discussion block. This change
adds code that is run during the course rerun process to mark any existing
units that have a discussion block as discussible using the new mechanism.
It doesn't touch the existing discussion blocks.

If the new discussions configuration experience is globally enabled, this
will also switch from the legacy provider to the new provider. It analyses
the course for any discussion blocks that have been added to graded
subsections, and if that is the case, it also automatically enables
discussions in graded subsections (which are otherwise disabled for new
courses by default).
2022-09-19 16:56:50 +05:00
Sarina Canelake
4a2f231302 fix: fix github url strings (org edx -> openedx) 2022-09-15 14:52:28 -04:00
Sagirov Evgeniy
b429e55cac feat!: remove Studio editing for Old Mongo Courses
This removes user-facing Studio edit support for Old Mongo courses
(courses that have a CourseKey of the format {org}/{course}/{run}).
This does not affect our normal courses, which have CourseKeys
starting with "course-v1:".

After this commit:

* Old Mongo courses will continue to appear on the Studio course
  listing page, but are not clickable.
* Any attempt to directly access an Old Mongo course in Studio via URL
  fail with a 404 error.
* Course certificates will still be available for Old Mongo courses.
* Old Mongo courses will continue to be returned by CourseOverviews
  and get_course_summaries() calls.

We decided against removing Old Mongo courses from the listing entirely
because that would require very expensive CourseOverviews query to
filter them out. Making that query more efficient would involve a
database migration to add appropriate indexing, which is something else
that we are looking to avoid. CourseOverviews are used everywhere in
the system, so we want to avoid changing how they work so that we can
minimize risk.

This is part of the Old Mongo Modulestore deprecation effort:
  https://github.com/openedx/public-engineering/issues/62
2022-09-14 10:53:33 -04:00
Kristin Aoki
d111be5375 feat: add check for new video editor waffle flag 2022-09-09 13:57:50 -04:00
alangsto
92b60f11b2 feat: add lti proctoring provider option (#30950) 2022-09-08 13:53:23 -04:00
Kshitij Sobti
3cd3c60b59 feat: enable unit-level control over discussions by default (#30903)
This PR changes the default behaviour of the discussions experience by making the previous "unit-level
visibility" the default mechanism for configuring discussions.

Prior to this PR, under the new discussions configuration experience, all units would automatically get
assigned a discussion topic and have discussions enabled for them (other than units in graded or exam
subsections). However, if authors wanted they could enabled a custom visibility mode which would allow
toggling discussions on or off on a per-unit level.

This PR makes this custom visibility mode the standard behaviour (and eventually, only behaviour)
and enables discussion for all units by default. This replicates the behaviour that already existed,
however, now gives authors control over disabling discussions for individual units by default.

It also removes the ability to disable discussions for all units (while still keeping course-wide
discussions) enabled.
2022-09-07 16:41:17 +05:00
Tim McCormack
322c22a4eb chore: Upgrade event-bus-kafka to 0.6.0 (#30934) 2022-09-01 17:27:34 +00:00
Eugene Dyudyunov
ff33fc1014 fix: studio registration using the LMS SSO (#30855)
* fix: studio registration using the LMS SSO

Add the social-core settings:
```
INACTIVE_USER_LOGIN = True
INACTIVE_USER_URL = 'http://localhost:18010'
```

Change the registration link's `next` parameter to trigger SSO login
after the registration.
2022-09-01 11:25:22 -04:00
Rebecca Graber
c1009b56f6 feat: emit COURSE_CATALOG_INFO_CHANGED signal on publish (#30805)
Implements https://github.com/openedx/edx-platform/issues/30682

Produce signal only once transaction for a course publish is
committed, and only for actual courses (not libraries).

- Use newer openedx-events version that has a fix for None datetime
  and that has CourseCatalogData without org, number.
- Add edx-event-bus-kafka -- specify recent version that drops
  confluent-kafka from explicit deps, fixes common auth settings, and has
  a multi-producer caching tweak.
- New functionality is behind toggle

As per https://github.com/openedx/openedx-events/issues/88 we're going to
try explicit dependencies on implementations for now, rather than solve
all the problems we'd encounter by using private dependencies.

Co-authored-by: Tim McCormack <tmccormack@edx.org>
Co-authored-by: Rebecca Graber <rgraber@edx.org>
2022-08-24 16:39:24 +00:00
Kristin Aoki
36439bb047 feat: add static full url to asset response 2022-08-24 09:02:04 -04:00
Sagirov Evgeniy
0ff6d50734 [BD-14] feat: Take the Library Content xblocks out the Advanced section to the top default level (#30803)
* feat: Take the Library Content xblocks out the Advanced section to the top default level

* feat: remove library component from library category
2022-08-16 08:25:46 -04:00
connorhaugh
6b6935b8f9 Revert "feat: add new template text for raw html editor" (#30843)
This reverts commit 95a13bff5d.
2022-08-10 15:17:20 -04:00
Kristin Aoki
95a13bff5d feat: add new template text for raw html editor 2022-08-09 14:42:31 -04:00
connorhaugh
15b7564a73 feat: add mgmt command to track active_versions (#30730)
In order to gain more information about ongoing questions related to the potentially out-of-sync nature of the SQL and MongoDb tables in Split Modulestore, I have created the management command to list all courses with out-of-sync active_versions and course_index entires.

This should have no direct impact on anyone, nor alter anything.

part of an on-going investigation to figure out 500 errors in studio.
2022-07-14 16:00:07 -04:00
Jansen Kantor
143ea1dbbc fix: use peer assessment as default ora template (#30705)
* fix: use peer assessment as default ora template

* chore: bump ora

* test: update test after ORA update
2022-07-13 10:21:42 -04:00
Justin Hynes
26ae8b4bcd feat: add management command to clean stale certificate availability dates
[MICROBA-1806]

We are aware of product issue where it is possible for a self-paced course-run to get have a `certificate_availability_date` created in the course settings. This can have an adverse effect on the Credentials IDA where a learner's Program Record does not correctly display the course certificates they have earned because of this data. This not only causes confusion for our learners, as it appears that a course certificate a learner can access and share in the LMS is displayed as unearned in the Credential's program record, but this can also cause issues when a learner attempts to share their program record through a credit pathway and the program record would not accurately reflect their program completion.

Unfortunately, the settings that manage the certificate availability date are hidden for self-paced courses in Studio (as they should only be used in instructor-paced courses).

For this reason, we are introducing a management command that will remove a certificate available date for a specified (self-paced) course-run. This will allow us to fix issues for individual learners while we work on a longer-term fix for the larger issue.

* Add new `clean_stale_certificate_available_dates` management command
* Add new `CleanStaleCertificateAvailabilityDates` Configuration Model
* Add tests for the new management command
* (Unrelated cleanup) Fix potential issue with private.py settings in the CMS being overwritten in devstack.py for developers using devstack.
2022-07-11 13:13:27 -04:00
0x29a
cf1a7c616a refactor: remove error_descriptor_class and NonStaffErrorBlock
It's safe to remove this because non-staff [1] users cannot access [2]
an `ErrorBlock`. We were able to reproduce this with and without this commit
with the following results:
1. Staff users were seeing the `ErrorBlock`.
2. Non-staff users were getting an empty `<div class="vert-mod"></div>`.

In theory, error blocks should be hidden in the Learning MFE because of this
option [3]. However, when we manually set `hide_access_error_blocks` to
`False`, we kept getting identical results (with and without this commit), so
it looks that the removal `NonStaffErrorBlock` was just omitted at some point.

[1] a4ec4c1b8e/lms/djangoapps/courseware/access.py (L419-L436)
[2] a4ec4c1b8e/lms/djangoapps/courseware/access.py (L150-L151)
[3] 92ca176fde/lms/djangoapps/courseware/views/views.py (L1547-L1551)
2022-06-30 15:53:39 +02:00
Kshitij Sobti
8169aa99da fix: if pages and resources view is disabled, show all pages in studio (#30550)
In a previous PR #28686, the ability to see and enable/disable wiki and progress tabs was removed from studio along with the ability to re-order non-static tabs. The ability to toggle the Wiki tab was moved to the pages and resources section of the course authoring MFE. If that MFE is unavailable this means there is no way to show/hide the Wiki. This reverts some of the old changes if the pages and resources view is disabled.
2022-06-28 21:19:32 +05:00
Raymond Zhou
d1394922ae feat: change text xblock title to 'Text' v2 (#30578) 2022-06-13 14:13:08 -04:00
Feanil Patel
b9131ac1af Merge pull request #30299 from raccoongang/depr/remove-course-info
FC-0001: Remove legacy course info page & related code
2022-06-13 08:23:25 -04:00
Demid
8886f29e52 refactor: remove debug property from ModuleSystem (#30450)
This also:
1. Removes this property from XBlock runtime shims.
2. Updates the minimum required version of the LTI Consumer XBlock.
2022-06-08 18:59:45 +02:00
jfavellar90
0f4082427e fix: LI-10, improve home studio performance.
Improving Studio homepage performance for users with course access role with no course_id

Fixing unit tests

Added create CourseOverviewFactory after creating course to course listing test

Fix order import for `from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
`

(cherry picked from commit 997a0ff770744309f0ee84f3c0696a80310c5f2d)
2022-06-07 15:13:11 -05:00
Sagirov Eugeniy
92ca176fde refactor: Remove legacy course info page & related code 2022-06-05 19:00:05 +03:00
connorhaugh
2e13033fbe Revert "Feat change default title for text xblock to be 'text'" 2022-06-01 10:52:09 -04:00
Raymond Zhou
a27247d14d Merge pull request #30406 from openedx/feat--change-default-title-for-text-xblock-to-be-'Text'
Feat  change default title for text xblock to be 'text'
2022-05-31 09:35:33 -07:00
Raymond Zhou
8422f50a16 feat: fix test 2022-05-27 11:05:52 -07:00
Raymond Zhou
9c8b026588 feat: assertEqual 2022-05-27 10:47:27 -07:00
Raymond Zhou
0678a444ec feat: missed a translation in item.py 2022-05-27 10:23:39 -07:00
rayzhou-bit
cf84c3bc64 feat: more pep8 fix 2022-05-27 03:48:33 -04:00
rayzhou-bit
701bfbc8c6 feat: pep8 fixes 2022-05-27 03:24:18 -04:00
rayzhou-bit
c63d871e5c feat: add testing and i18n 2022-05-27 02:58:07 -04:00
Eugene Dyudyunov
b4fecd620b refactor: rename toggle_warnings to toggle_warning (#30458)
Rename toggle_warnings to toggle_warning for consistency with setting_warning.
2022-05-24 11:47:31 -04:00