* feat: Reapply "Integrate Forum V2 into edx-platform"
This reverts commit 818aa343a2.
* feat: make it possible to globally disable forum v2 with setting
We introduce a setting that allows us to bypass any course waffle flag
check. The advantage of such a setting is that we don't need to find the
course ID: in some cases, we might not have access to the course ID, and
we need to look for it... in forum v2.
See discussion here: https://github.com/openedx/forum/issues/137
* chore: bump openedx-forum to 0.1.5
This should fix an issue with index creation on edX.org.
This commit introduces the new Forum V2 application, allowing users to choose between the legacy Forum V1 and the new Forum V2 at the course level.
Key Changes:
- Added waffle flag `discussions.enable_forum_v2` to enable Forum V2 for selected courses, allowing coexistence with Forum V1.
- Default data storage for Forum V2 is set to MongoDB, with an option to switch to MySQL using the waffle flag `forum_v2.enable_mysql_backend`.
- Introduced management command `forum_migrate_course_from_mongodb_to_mysql` for per-course data migration from MongoDB to MySQL.
Note: This PR does not include all unit tests for the Forum V2 native API due to ongoing migration efforts. Further updates will follow to ensure full test coverage before final release.
Co-authored-by: [Muhammad Faraz Maqsood] <faraz.maqsood@arbisoft.com>
Co-authored-by: [Ali Salman] <ali.salman@arbisoft.com>
This used to be a symlink that then turned into a copy of the same
command that exists in the contentstore in the CMS. That command is the
correct one to use, this one is going to be removed to reduce confusion.
BREAKING CHANGE: The `python manage.py lms import` command will no
longer work. Use the `python manage.py cms import` command instead.
PII Annotations are very out of date, this commit adds most that were
missing in edx-platform, and some additional annotations to the
safelist. It is not comprehensive, several other upstream Open edX
packages also need to be updated. It also does not include removing
annotations that have been moved upstream, or been removed entirely.
Those are separate follow-on tasks.
This test had a redundant call to get the course data from the store
because that already happens at the end of the setup function. And also
because expected call structure was being built inside the assert, it
made it harder to inspect when debugging. Make the code a little bit
easire to debug in case we're back here in the future.
Because signals are disabled by default for performance reasons, this
doesn't happen automatically. So we manually refresh the course in the
cache after all the changes have been made so that the course in the
cache matches the latest version in the modulestore.
* feat: update preview url to direct to mfe
* fix: use url builder instead of string formatter
* fix: url redirect for never published units
* fix: remove 404 error when not a preview or staff
* feat: update sequence metadata to allow draft branch
Previously, courses were always displayed on the LMS /courses page,
independently of their catalog visibility attribute. This meant that
even with visibility="none" courses were being displayed. This was very
counter-intuitive.
With this change, courses are displayed only when their visibility is
set to "both".
This change is flagged as breaking because it has the potential to
affect course catalogs in existing platforms.
To test this change, go to http(s)://LMS/courses as an anonymous user.
Pick a visible course and go to its "advanced settings" in the studio.
Set "Course visibility in catalog" to "about" or "none". Then, clear the
cache with the following command:
./manage.py lms shell -c "from django.core.cache import cache; cache.clear()"
Open the /courses page again: the course should no longer be visible.
Close https://github.com/openedx/wg-build-test-release/issues/330