Commit Graph

271 Commits

Author SHA1 Message Date
Leonardo Beroes
70ea641c99 feat: Improve robust score rendering with event-based architecture
This commit implements a comprehensive solution for test score integration in the
enhancement system along with improvements to the score rendering mechanism. Key
changes include:

- Add event handler for rendering blocks with edx-submissions scores
- Implement event-based mechanism to render XBlocks with scoring data
- Create signal handlers in handlers.py to process external grader scores
- Develop specialized XBlock loader for rendering without HTTP requests
- Add queue_key propagation across the submission pipeline
- Register submission URLs in LMS routing configuration
- Add complete docstrings to score render module for better code maintainability
- Add ADR for XBlock rendering with external grader integration
- Add openedx-events fork branch as a dependency in testing.in
- Upgrade edx submission dependency

These changes support the migration from traditional XQueue callback HTTP requests
to a more robust event-based architecture, improving performance and reliability
when processing submission scores. The included ADR documents the architectural
decision and implementation approach for this significant improvement to the
external grading workflow.
2025-12-15 09:01:40 -05:00
Santhosh Kumar
87eb6718c4 feat!: Remove Proctortrack dependency (#37284)
* chore!: remove Proctortrack dependency

Remove all Proctortrack dependencies from the project, including:
- Python package dependencies in requirements files
- JavaScript package dependency in package.json
- Translation configuration in conf/locale/config.yaml

BREAKING CHANGE: Proctortrack proctoring provider is no longer available as a dependency.
This change removes the Proctortrack Dependency while preserving code references.

* feat: Update the package lock

* chore: Updating the requirements

* chore: Updating the requirements2

* chore: Clean up comments in github.in

Remove comment about django42 support pending release.
2025-09-19 13:07:07 -04:00
Kyle McCormick
15caa9746f refactor: Completely remove Blockstore (#34739)
Blockstore and all of its (experimental) functionality has been replaced with
openedx-learning, aka "Learning Core". This commit uninstalls the now-unused
openedx-blockstore package and removes all dangling references to it.

Note: This also removes the `copy_library_from_v1_to_v2` management command,
which has been broken ever since we switched from Blockstore to Learning Core.

Part of this DEPR: https://github.com/openedx/public-engineering/issues/238
2024-05-13 09:48:18 -04:00
Awais Qureshi
46776e92e2 chore: using edx-proctoring-proctortrack hash for django42 compatib… (#33406)
* chore: using `edx-proctoring-proctortrack` hash for django42 compatibility.
* docs: link the follow up issue for github dependency

---------

Co-authored-by: edX requirements bot <49161187+edx-requirements-bot@users.noreply.github.com>
Co-authored-by: UsamaSadiq <usama7274@gmail.com>
2023-10-06 17:52:05 +05:00
Braden MacDonald
83f54aeebe refactor: Split base.in into kernel.in (required) and bundled.in (optional) (#32552)
Plus remove a few unused and indirect dependencies
2023-06-30 09:51:43 -07:00
Usama Sadiq
d5d3c90767 Use mongodbproxy from pypi (#32259)
* fix: use mongodbproxy from github to pypi
2023-05-23 13:58:01 +05:00
Muhammad Umar Khan
dae5759311 Installing edx-drf-extension from pypi (#32244)
chore: update edx-drf-extensions version

Co-authored-by: mumarkhan999 <mumarkhan999@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mumarkhan999 <mumarkhan999@users.noreply.github.com>
2023-05-18 19:14:06 +05:00
Muhammad Umar Khan
08a52f1519 chore: Install edx-drf extension from git hash (#32229)
* chore: test updated drf extensions

---------

Co-authored-by: edX requirements bot <49161187+edx-requirements-bot@users.noreply.github.com>
2023-05-16 18:54:23 +05:00
Kyle McCormick
ed8d0e28bb build: add docs to github.in & ensure ArbiBOM sees changes to it (#31824)
Nine different URL-specified Python dependencies had
accumulated in edx-platform, noticably increasing the amount
time it took to install edx-platform requirements.

After many developer hours of work, we are nearly finished
converting them to PyPI-hosted depencencies:
openedx/wg-developer-experience#153

We're making these updates in hopes that we don't end
up with so many URL-specified depencencies again.
We're also updating OEP-18:
https://github.com/openedx/open-edx-proposals/pull/450

The CODEOWNERS update would mean that Arbi-BOM is notified
on all future PRs that change github.in. At the moment, edx-platform
does not *require* CODEOWNER review, so this is not a *hard* gate to
github.in changes.
2023-03-06 15:15:01 +00:00
Usama Sadiq
9cdbe72b82 Use olxcleaner from pypi (#31819)
* fix: use olxcleaner from PyPI
2023-03-02 14:55:48 +05:00
Pooja Kulkarni
40804f774a chore: install xblock-poll from pypi 2023-02-22 10:31:36 -05:00
Tim McCormack
ff2c37a68d fix: Remove django-require git-dependency (missed in previous PR) (#31750)
https://github.com/openedx/edx-platform/pull/31279 switched to installing
a fork of django-require from PyPI but did not commit the removal of the
line from github.in. This completes the transition.
2023-02-13 17:10:42 +00:00
Mohammad Ahtasham ul Hassan
9ec033699b Install blockstore from PyPI (#31236)
* chore: install blockstore from PyPI
---------

Co-authored-by: zubairshakoorarbisoft <zubair.shakoor@arbisoft.com>
2023-02-08 12:02:35 +05:00
Mohammad Ahtasham ul Hassan
2741beda51 fix: install codejail from pypi (#31683) 2023-02-02 12:26:57 +05:00
Mohammad Ahtasham ul Hassan
19ee9f0354 chore: install django-wiki from pypi (#31271) 2022-11-29 13:29:07 +05:00
Mohammad Ahtasham ul Hassan
c2506ea8d0 Revert "chore: install codejail from PyPI (#31207)" (#31213)
This reverts commit 66e4902e9e.
2022-10-27 17:10:29 +05:00
Mohammad Ahtasham ul Hassan
66e4902e9e chore: install codejail from PyPI (#31207) 2022-10-27 14:26:11 +05:00
Mohammad Ahtasham ul Hassan
c349f9318d Install xblock-google-drive from pypi (#31201)
* chore: install xblock-google-drive from pypi
2022-10-26 15:48:38 +05:00
Mohammad Ahtasham ul Hassan
3f46d489eb chore: install xblock-drag-and-drop from pypi (#31196) 2022-10-25 13:09:50 +05:00
Kyle McCormick
5bc00b373c revert: Optimize and reorganize GitHub-hosted dependencies (attempt 2) (#31184)
codejail is specified twice: once as `edx-codejail==3.3.0` (correct)
and once as `codejail==3.1.3` (incorrect).

We are reverting everything now, and later we will fix
the original PR (https://github.com/openedx/edx-platform/pull/31104)later.

This reverts commit 475cb801cd.
This reverts commit 23ebd5a113.
This reverts commit 545b2dc0d8.
This reverts commit c417455b4e.
This reverts commit cce13a5011.
This reverts commit edfd66498b.
2022-10-20 14:55:01 -04:00
Kyle McCormick
23ebd5a113 build: upgrade codejail from 3.1.3 to 3.3.0
Changes: https://github.com/openedx/codejail/compare/3.1.3...3.3.0

The only notable change here is that codejail's setup.py
has been fixed so that it includes all necessary files
in its distribution. This addresses an issue that happened
last time we tried to update codejail's pin in edx-platform
to be a wheel instead of editable (development) mode:
the proxy_main.py and memory_stress.py files were missing.
2022-10-20 13:15:46 -04:00
Kyle McCormick
545b2dc0d8 build: install GitHub-hosted dependencies as wheels
We update github.in to use the proper git-based depencency
format specified in the file comment. This format installs
a package as a pre-built wheel:

    git+https://github.com/...

instead of a development-mode editable requirement:

   -e https://github.com/...

Installing packages in editable mode increases the amount of time
it takes to install edx-platform  dependencies, increases the
resulting virtual environment's size, and installs packages in a
way that has several subtle differences compared to the way
wheels are installed:
https://setuptools.pypa.io/en/latest/userguide/development_mode.html#limitations

NOTE: This commit also upgrades django-require its latest version.
(changelog:
https://github.com/openedx/django-require/compare/0c54ad...f4f01e)
The difference between the current version and the latest version
is entirely clerical; there are no code changes.

NOTE: This commit also upgrades blockstore from 1.2.4 to 1.2.5
(changelog:
https://github.com/openedx/blockstore/compare/1.2.4...1.2.5).
The only outward-facing difference between those two releases
is that 1.2.4 can only be installed in editable mode, whereas
1.2.5 has its setup.py fixed so that it can be installed as
a pre-build wheel.
2022-10-20 13:15:46 -04:00
Kyle McCormick
c417455b4e style: alphabetize GitHub-based dependencies 2022-10-20 13:15:46 -04:00
Kyle McCormick
cce13a5011 docs: remove section headers from github.in
They give the impression that, for example,
third-party XBlocks belong in github.in.
In reality, GitHub-hosted requirements should be avoided
in all circumstances. Third-party XBlocks are best
added to base.in as a PyPI-hosted dependency.

Furthermore, the existing section headers are not
even being followed.
2022-10-20 13:15:46 -04:00
Kyle McCormick
edfd66498b docs: update & improve instructions for GitHub-hosted deps
They have fallen out of date since we switched from Jenkins-
run upgrades to GitHub Actions -run upgrades.
2022-10-20 13:15:46 -04:00
Edward Zarecor
b6fb69f432 fix: Remove deprecated "rate" XBlock from requirements (#31158)
RateXBlock has been deprecated and moved to openedx-unsupported.

Co-authored-by: Edward Zarecor <ed@tcril.org>
2022-10-18 16:35:48 +00:00
Kyle McCormick
66dc16c626 chore: upgrades blockstore to 1.2.4 (#31121)
and runs `make upgrade`

Blockstore changeset: https://github.com/openedx/blockstore/compare/1.2.1...openedx:blockstore:1.2.4

Co-authored-by: Jillian Vogel <jill@opencraft.com>
2022-10-13 08:45:07 -04:00
Tim McCormack
fd20dfe51d chore: Unpin newrelic (Confluent Kafka instrumentation bug is fixed) (#31143)
Previously pinned in commit 71686cddb9/PR #31119.

Closes https://github.com/openedx/event-bus-kafka/issues/52
2022-10-11 14:29:16 +00:00
Tim McCormack
71686cddb9 fix: Pin newrelic to unreleased version fixing kafka instrumentation (#31119)
This will allow us to resume producing events with edx-event-bus-kafka
and help validate NR's fix. Unpinning is be tracked in
<https://github.com/openedx/event-bus-kafka/issues/52>.
2022-10-06 16:03:59 +00:00
Kyle McCormick
d8442484a0 Revert "docs: update & improve instructions for GitHub-hosted deps"
This reverts commit 8bb39fa6c7.
2022-09-20 06:35:46 -04:00
Kyle McCormick
6f7ceaf80b Revert "docs: remove section headers from github.in"
This reverts commit 7ed0e8d0e9.
2022-09-20 06:35:46 -04:00
Kyle McCormick
211aa9856a Revert "style: alphabetize GitHub-based dependencies"
This reverts commit 40158f5991.
2022-09-20 06:35:46 -04:00
Kyle McCormick
2ac7a6f774 Revert "build: install GitHub-hosted dependencies as wheels"
This reverts commit 6490f5b585.
2022-09-20 06:35:46 -04:00
Kyle McCormick
6490f5b585 build: install GitHub-hosted dependencies as wheels
We update github.in to use the proper git-based depencency
format specified in the file comment. This format installs
a package as a pre-built wheel:

    git+https://github.com/...

instead of a development-mode editable requirement:

   -e https://github.com/...

Installing packages in editable mode increases the amount of time
it takes to install edx-platform  dependencies, increases the
resulting virtual environment's size, and installs packages in a
way that has several subtle differences compared to the way
wheels are installed:
https://setuptools.pypa.io/en/latest/userguide/development_mode.html#limitations
2022-09-19 13:54:21 -04:00
Kyle McCormick
40158f5991 style: alphabetize GitHub-based dependencies 2022-09-19 13:54:21 -04:00
Kyle McCormick
7ed0e8d0e9 docs: remove section headers from github.in
They give the impression that, for example,
third-party XBlocks belong in github.in.
In reality, GitHub-hosted requirements should be avoided
in all circumstances. Third-party XBlocks are best
added to base.in as a PyPI-hosted dependency.

Furthermore, the existing section headers are not
even being followed.
2022-09-19 13:54:21 -04:00
Kyle McCormick
8bb39fa6c7 docs: update & improve instructions for GitHub-hosted deps
They have fallen out of date since we switched from Jenkins-
run upgrades to GitHub Actions -run upgrades.
2022-09-19 13:54:21 -04:00
Sarina Canelake
69f0849165 fix: update path to .github workflows to read from openedx org 2022-09-15 14:52:28 -04:00
Sarina Canelake
4a2f231302 fix: fix github url strings (org edx -> openedx) 2022-09-15 14:52:28 -04:00
Keith Grootboom
7021b0e977 chore: bump django-wiki version to 1.1.1 (#30709) 2022-07-25 12:35:31 -04:00
Sagirov Evgeniy
dccb463103 FC-0001: Remove edx-jsme, Molecular Structure Problem type (#30321)
* feat: Remove edx-jsme, Molecular Structure Problem type

* feat: remove common/static/js/capa/jsme and common/static/js/capa/jsmolcalc
2022-07-06 15:51:58 -04:00
connorhaugh
d1180fb778 Revert "[BD-14] chore: bumps blockstore to 1.2.3" 2022-06-16 14:46:40 -04:00
Jillian Vogel
c2d1ad41ad chore: bumps blockstore to 1.2.3 2022-06-16 07:05:59 +09:30
Robert Raposa
371eafebf0 fix: revert blockstore to 1.2.1 (#30595)
Blockstore 1.2.2 currently has a bug.
See 7794a65d63 (r76182896)
2022-06-15 13:01:32 -04:00
Jillian Vogel
8592ef4c3e chore: bumps blockstore version
to add logging to debug blockstore app storage configuration
2022-06-15 22:39:31 +09:30
Jillian Vogel
cfd53aff70 refactor: installs blockstore into edx-platform
* adds blockstore as a requirement and an installed app, with
  configurable bundle storage settings.
* adds waffle switch and setting to allow use of blockstore's python API
  instead of REST API in live testservers and in production.
* adds database router which, when a `blockstore` DATABASE connection is
  configured, allows the platform to use the blockstore service's
  database instead of the default edxapp database.
* replaces blockstore_api exceptions and models with blockstore.app.api classes
* minor fixes to the blockstore_api to make the Blockstore REST API
  return data packaged the same as the Blockstore Python API.
2022-04-21 09:39:54 +01:00
Usama Sadiq
1df2c691db fix: bump bleach and django-wiki versions (#30263) 2022-04-20 10:39:50 +05:00
Usama Sadiq
d8f282737c fix: Remove edx-django-utils GitHub pin (#30265)
* fix: remove unnecessary edx-django-utils github constraint
2022-04-18 14:48:31 +05:00
Awais Qureshi
bc45f1ee48 fix: Removed usage of djangoratelimitbackend. (#30116)
* fix: Removed usage of djangoratelimitbackend.
2022-03-25 15:27:39 +05:00
Robert Raposa
9fa79809d8 refactor: CookieMonitoringMiddleware moved to edx-django-utils
The CookieMonitoringMiddleware and its related script
moved to edx-django-utils.

ARCHBOM-2054
2022-03-17 16:59:00 -04:00