Commit Graph

10459 Commits

Author SHA1 Message Date
Braden MacDonald
f663739510 feat: Index Studio content using Meilisearch [experimental] (#34310) 2024-03-22 10:08:31 -07:00
ruzniaievdm
85dd7f35e3 feat: [FC-0044] certificates API DRF (#34339)
* feat: [FC-0044] certificates API DRF

* fix: remove unused import from previous commits
2024-03-22 10:46:34 -04:00
Justin Hynes
907c32ae6d fix: add validation to cdb and cad settings on update (#34406)
[APER-3228]

This PR tries to correct bad data on a course update before it enters the system. There are times when we are updating a course (via Studio) and we save bad data that has been persisted and passed to the backend from the CMS's legacy Django template-based frontend.

The bad data doesn't affect the LMS or CMS much, as there is extra logic in the monolith around course pacing. However, downstream services (e.g. Credentials) don't understand the concept of course pacing and will persist bad data (like a certificate available date associated with a self-paced course run).

The most common problem that manifests is that Credentials will hide a certificate from a learner on their Learner Record, even though the course certificate is visible and accessible to the learner from the LMS.
2024-03-21 13:46:45 -04:00
ruzniaievdm
3ecc4bf6a0 feat: [FC-0044] textbooks API DRF (#34388)
* feat: [FC-0044] textbooks API DRF

* fix: resolve discussions
2024-03-21 13:39:03 -04:00
Syed Sajjad Hussain Shah
71396c33a5 feat: add authn mfe in csrf trusted origins list (#34397) 2024-03-21 11:03:04 +05:00
Maria Grimaldi
45178e0ced feat: add paginated HomePageCoursesV2 view with filtering & ordering (#34173) 2024-03-20 11:31:59 -04:00
Diana Olarte
490a3d4c75 feat: allow instructors to manage certificates (#31265)
* feat: Add context to certificate webview.

Add support to instructor certificates generation. If user has instructor permissions over a course, the staff permissions are also granted.
* fix: rename local parameters to fix pylint redefined-outer-name alert
* feat: create a setting to enable certificate panel for instructors
* fix: remove unnecessary permisions
* fix: update persmissions and testing
* style: fix pylint issues

---------

Co-authored-by: Squirrel18 <daniel.quiroga@edunext.co>
Co-authored-by: Maria Fernanda Magallanes Zubillaga <maria.magallanes@edunext.co>
2024-03-20 07:46:15 -04:00
Ahtisham Shahid
c344fdc698 feat: added channels column to send notification on specific channels (#34289)
* feat: added channels column to send notifications on specific channels
2024-03-20 13:17:45 +05:00
ruzniaievdm
7189bd6484 feat: [FC-0044] add waffle flag support (#34338)
* feat: [FC-0044] add waffle flag support

* fix: resolve discussions
2024-03-19 10:16:16 -04:00
Maria Grimaldi
9600a90c1e docs: document ENABLE_HIDE_FROM_TOC_UI feature toggle (#34377)
Docs for the ENABLE_HIDE_FROM_TOC_UI feature toggle so it can be extracted by the feature toggle sphinx plugin.
2024-03-19 09:08:45 -04:00
ruzniaievdm
1bcf25f22b feat: manage Tags on block level (#34361) 2024-03-18 16:09:47 -04:00
Jonas Burigo
1247254fbe test: un-skip test of course export tarball (#33697) 2024-03-18 12:30:02 -07:00
Lewis M. Kabui
3a84339a95 fix: Use Locator property block_id. (#34187)
This change has been made to address 9 deprecation warnings which
can be seen after the tests are run.

`name` property of Locators has been deprecated and replaced by the
`block_id` property.

Co-authored-by: Lewis Kabui <lewisemm@users.noreply.github.com>
2024-03-18 12:10:25 -07:00
ruzniaievdm
334348d65f feat: Manage access API (#2500) (#34360)
* feat: [AXIMST-418] Manage access API

* fix: tests and linter

---------

Co-authored-by: monteri <36768631+monteri@users.noreply.github.com>
2024-03-18 12:58:11 -04:00
Omar Al-Ithawi
a10fce3379 feat!: remove Transifex calls for FC-0012 - OEP-58 (#34355) 2024-03-14 13:38:28 +00:00
Kristin Aoki
dc234d5acc feat: update page renders for studio-frontend pages (#34329)
* feat: update page renders for studio-frontend pages

* fix: checklist redirect url

* fix: failing tests

* fix: checklist link

* fix: redirect url typo

* fix: no newline error
2024-03-13 09:57:58 -04:00
ruzniaievdm
cd5c4c992b feat: [FC-0044] XBlock's children API as DRF (#34055)
* feat: XBlock's children API as DRF

* fix: 500 error appears if user adds a Content Experiment

* fix: wrap into try/except block getting icon for xblock (#2509)

* fix: wrap into try/except block getting icon for xblock

* fix: revision after review
2024-03-12 11:07:32 -04:00
ruzniaievdm
844db29d64 feat: add sequence_ids to container response (#34337)
* feat: add sequence_ids to container response

* fix: PR comments fix

* fix: update

---------

Co-authored-by: monteri <36768631+monteri@users.noreply.github.com>
2024-03-12 10:27:23 -04:00
Rômulo Penido
cb6801dbfd feat: paste tags when pasting xblocks with tag data (#34270) 2024-03-08 12:03:43 -08:00
Kshitij Sobti
c3c0adf978 feat: add support for zip files to course and library import code (#34191)
Co-authored-by: Rodrigo Ferreira de Souza <rodfersou@gmail.com>
2024-03-08 18:51:35 +01:00
Bryann Valderrama
8f886734f6 feat: show message in subsection visibility tab when hft is enabled (#33981)
Shows a message in the visibility tab of the subsections when the Hide From TOC is enabled.

Ref: https://openedx.atlassian.net/wiki/spaces/OEPM/pages/3853975595/Feature+Enhancement+Proposal+Hide+Sections+from+course+outline
2024-03-07 15:31:50 -04:00
Bryann Valderrama
19bc5c802c feat: add share link button when hide from toc is enabled in sections (#34043)
* feat: add share link modal when hide from toc is enabled

Adds a new button in the child subsections of sections with Hide From TOC enabled.
This button displays a new modal with two tabs. The first tab displays a button
that allows you to copy the link of that subsection to the clipboard. The second
tab displays a button that allows you to copy the embedded link of the same
subsection to the clipboard.

Ref: https://openedx.atlassian.net/wiki/spaces/OEPM/pages/3853975595/Feature+Enhancement+Proposal+Hide+Sections+from+course+outline
2024-03-07 14:12:17 -04:00
Saad Yousaf
e3467f91a3 fix: fix content_url for course update notification 2024-03-06 14:37:25 +05:00
Saad Yousaf
95e0df5935 fix: add notification expiry settings to cms 2024-03-05 17:34:25 +05:00
Maria Grimaldi
f544a4825d feat: make hide from TOC a visibility section setting (#33952)
Exposes the hide_from_toc xblock attribute so course authors can configure it as a section visibility option in Studio. Before this change, the Hide from TOC functionality was mainly used by OLX components. Hence, it wasn't available for configuration through the Studio UI. Still, its implementation existed in the platform and could be used by setting the attribute: hide_from_toc=true as part of the OLX definition.
Ref: https://openedx.atlassian.net/wiki/spaces/OEPM/pages/3853975595/Feature+Enhancement+Proposal+Hide+Sections+from+course+outline
2024-02-29 11:13:33 -04:00
Danyal Faheem
3a2b6dd8fc fix: hide help button in unauthenticated studio header (#34249)
Co-authored-by: Zia Fazal <zia.fazal@arbisoft.com>
2024-02-28 10:14:08 +05:00
Saad Yousaf
a110fc79d5 feat: add notification for course updates 2024-02-27 13:58:50 +05:00
ayesha waris
c61df904c1 fix: Error message does not show when user clicks Dismiss button (#34277) 2024-02-26 16:21:18 +05:00
David Ormsbee
86f1e5e8aa feat!: Switch v2 libraries to Learning Core data models (#34066)
This moves the Content Libraries V2 backend from Blockstore [1] over to
Learning Core [2] For high-level overview and rationale of this move, see
the Blockstore DEPR [3]. There are several follow-up tasks [4], most notably
adding support for static assets in libraries.

BREAKING CHANGE: Existing V2 libraries, backed by Blockstore, will stop
working. They will continue to be listed in Studio, but their content
will be unavailable. They need to be deleted (via Django admin) or manually
migrated to Learning Core. We do not expect production sites to be in
this situation, as the feature has never left "experimental" status.

[1] https://github.com/openedx-unsupported/blockstore
[2] https://github.com/openedx/openedx-learning/
[3] https://github.com/openedx/public-engineering/issues/238
[4] https://github.com/openedx/edx-platform/issues/34283
2024-02-22 16:38:05 +00:00
Awais Ansari
5007418803 feat: add discussion configuration redirect in unit settings (#34266)
* feat: add discussion configuration redirect in unit settings

* test: fix test course index file test cases after adding discussion redirection
2024-02-22 16:29:36 +05:00
Maria Grimaldi
f3dab829fe fix: use non_atomic_requests decorator in handle_block view (#34020) 2024-02-21 13:19:53 -04:00
Yusuf Musleh
6e0bc66a77 feat: Serialize tag data in OLX for blocks (#34145) 2024-02-14 10:30:23 -08:00
Cristhian Garcia
5a36fa9163 feat: add open_managed team type (#33672)
Ref: https://openedx.atlassian.net/wiki/spaces/COMM/pages/3885760525/Open+Managed+Group+Type
2024-02-14 11:30:19 -04:00
salmannawaz
f76b6b4e10 Remove bok-choy reference (#34216)
* chore: remove bok-choy references
2024-02-14 09:42:08 -05:00
Régis Behmo
4daf452620 fix!: infinite growth of cache when auto eviction is disabled
See discussion here: https://github.com/overhangio/tutor/pull/984

This is a breaking change that will explicitely set the timeout of
course structure cache entries to 1 week, instead of being unlimited. If
you wish to revert to the former behaviour, you should set
`course_structure_cache["TIMEOUT"] = None`.

The course structure cache keys were previously set with an explicit
timeout of `None` which was overriding the cache default timeout of 2h.
This was OK in environments where the cache is configured with a maximum
memory limit and an automatic key eviction strategy. But in others (such
as Tutor), the course structure cache could grow infinitely.

It was agreed that course structure cache keys should be long-lived but
should respect the default cache structure timeout. Thus, we set here
the TTL to 1 week.

We can also configure Tutor to use a cache eviction policy. But that
means we need to set a `maxmemory` value in Redis. It's not possible to
set a value that will be appropriate for everyone:
- if it's higher than the total memory (e.g: in small instances), server
  will crash before the cache is filled.
- if it's too low (e.g: in large instances), the whole platform will abruptly
  slow down as many cache entries are suddenly evicted.

That question of whether Tutor should define a cache eviction policy is
still under discussion, but it can be resolved independently of this
change.
2024-02-14 08:28:37 -05:00
salmannawaz
57b480b04f Update all edx-platform REST endpoints to support JWT Auth (#34152)
* chore: update API endpoints to support default JWT auth

The default DRF Auth classes were recently updated to allow for both JWT and Session auth by default. Any endpoint that overrides the AUTHENTICATION_CLASSES but has just session, just JWT or just both of those should be updated to remove the override.

Details in https://github.com/openedx/edx-platform/issues/33662
2024-02-13 10:46:58 -05:00
Rômulo Penido
c2d91c343e refactor: remove ContentObjectTag model and related functions (#34146) 2024-02-08 11:55:39 -08:00
Justin Hynes
393c7da3bd docs: add diagrams visualizing "available date" and "visiblity date"
A PR that adds a diagram that visualizes how an update to a course run's availability date propogates through our systems.
2024-02-08 17:00:47 +00:00
Justin Hynes
3a3b72cbbf fix: fix default credentials internal service url in devstack settings
I was trying to test a communication pathway between the CMS and Credentials and requests were failing with the following error:
```
2024-02-07 19:25:46,524 ERROR 202 [celery.app.trace] [user 3] [ip 192.168.16.1] trace.py:270 - Task openedx.core.djangoapps.programs.tasks.update_credentials_course_certificate_configuration_available_date[898eae19-cd38-4857-a656-dc080d64a3c5] raised unexpected: ConnectionError(MaxRetryError("HTTPConnectionPool(host='localhost', port=18150): Max retries exceeded with url: /api/v2/course_certificates/ (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fc5b2c357c0>: Failed to establish a new connection: [Errno 111] Connection refused'))"))
Traceback (most recent call last):
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/urllib3/connection.py", line 174, in _new_conn
    conn = connection.create_connection(
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/urllib3/util/connection.py", line 95, in create_connection
    raise err
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/urllib3/util/connection.py", line 85, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
```

I have updated the default value of the `CREDENTIALS_INTERNAL_SERVICE_URL` in our devstack settings to use the internal server URL and this fixed the issue.
2024-02-07 19:35:26 +00:00
Nathan Sprenkle
d28684dbda feat: add ORA MFE to devstack CSRF trusted origins (#34197) 2024-02-06 20:30:31 +00:00
Tim McCormack
5e732f9d1e feat: Support Django 4.2 in devstack (#34192)
With the Django 4.2 upgrade, devstack needs `CSRF_TRUSTED_ORIGINS` for MFEs
to work. This PR is probably not a complete list, but gets us started.

Ticket: https://github.com/openedx/edx-platform/issues/34180
2024-02-06 16:06:24 +00:00
Navin Karkera
6edc0c2dd9 feat: add discussion settings to course index api (#34174) 2024-02-05 09:13:11 -05:00
bogdan3d
09d4835d2b fix: fixing the prompt view cancel button style for color and cursor shape (#33895) 2024-02-02 11:03:02 -04:00
Muhammad Soban Javed
e40a01c7cc feat!: upgrade Django version to 4.2 (LTS)
This reverts commit 23659d5ba8.
2024-02-02 17:08:54 +05:00
Usama Sadiq
23659d5ba8 Revert "feat!: upgrade Django version to 4.2 (LTS) (#34162)" (#34165)
This reverts commit 1fc2e8a771.
2024-02-01 19:29:56 +05:00
Muhammad Soban Javed
1fc2e8a771 feat!: upgrade Django version to 4.2 (LTS) (#34162)
* feat!: upgrade Django version to 4.2 (LTS)
---------

Co-authored-by: iamsobanjaved <iamsobanjaved@users.noreply.github.com>
2024-02-01 16:10:34 +05:00
Navin Karkera
4590f1ec91 feat: include custom relative dates flag info in outline api (#34058) 2024-01-31 11:38:19 -05:00
Leangseu Kim
206ddd11ad chore: revert change to Mathjax 2024-01-31 10:05:33 -05:00
Muhammad Soban Javed
790e364097 Revert "chore!: upgrade Django version to 4.2 (LTS)" 2024-01-31 17:14:43 +05:00
Awais Qureshi
82edbc635c Merge branch 'master' into iamsobanjaved/django-42-lts 2024-01-31 13:46:58 +05:00