Skip to content

Extract Problem XBlock #36538

Closed
6 of 6 issues completed
Closed

Description

@irtazaakram

Tasks

  • (Irtaza) Extracted ProblemBlock and related files from xmodule.capa into xblocks_contrib/problem.
  • (Irtaza) Created PR in xblocks-contrib: #63
  • (Irtaza) Created integration PR in edx-platform: #37136
  • (Salman ) Replace edx-platform–specific services (e.g., xqueue, submissions, grading, user state) with runtime service interfaces or injectable hooks in xblocks-contrib.
  • ( ) Audit and refactor student_view, studio_view, and all templates to remove LMS-specific assumptions (context variables, Django settings, static paths, etc.).
  • (Salman) Update and ensure all unit tests in xblocks_contrib/problem/capa/ pass independently, using mock services or fixtures where needed.#69
  • ( Salman) Remove unused or legacy files from xblocks_contrib.problem.capa; ensure no references remain to xmodule, modulestore, or other platform-only components.
  • (Irtaza) Update and ensure all unit tests in xblocks_contrib/problem/tests/ pass independently, using mock services or fixtures where needed.
  • ( ) Triage and fix all test failures caused by PR #37136; update import paths, settings, or runtime behavior as required.
  • ( ) Add fallback behavior for platform-specific features (e.g., attempt tracking, scoring logic, user progress) to avoid breaking edx-platform unit tests.
  • ( ) Confirm all edx-platform unit tests pass with the external Problem XBlock, and the integration PR is ready for merge.

Activity

  1. self-assigned this
    on Apr 17, 2025
  2. moved this from 🆕 New to 🔖 Ready in Aximprovements Teamon Apr 17, 2025
  3. moved this from 🔖 Ready to 🏗 In progress in Aximprovements Teamon Jul 24, 2025
  4. farhan commented on Aug 12, 2025

    @farhan
    Contributor

    @irtazaakram
    I think it would be helpful to create the sub-tasks in the xblocks-contrib repository and share their links here, as our current assessment suggests these tasks will take some time to complete.
    @feanil your thoughts will be appreciated.

  5. feanil commented on Aug 13, 2025

    @feanil
    Contributor

    For the replacement of the edx-platform specific services, be aware that the xqueue service is being replaced so it may be worth looking at where that work is and working with the people doing that work.

  6. self-assigned this
    on Aug 19, 2025
  7. irtazaakram commented on Oct 15, 2025

    @irtazaakram
    MemberAuthor

    Step 1: Clean Up in edx-platform

    • Format all Python files with black and isort
    • Format all CSS, JS, HTML, YAML files with the right tools (prettier, djlint, etc.)
    • Fix pylint warnings and errors
    • Convert all problem block mako templates to Django templates
    • Convert old JavaScript to ES6+ syntax for all problem block related JS files

    Step 2: Move to xblocks-contrib/problem

    • Make one PR that only moves files (no logic changes, only path updates)
    • Make a new PR against the first branch for a second PR for only fixes or improvements to make it work
  8. 17 remaining items

  9. moved this from 🔖 Ready to 📋 Backlog in Aximprovements Teamon Dec 22, 2025
  10. moved this from 📋 Backlog to 🔖 Ready in Aximprovements Teamon Dec 22, 2025
  11. added
    epicLarge unit of work, consisting of multiple tasks
    on Jan 1, 2026
  12. moved this from 🔖 Ready to 🏗 In progress in Aximprovements Teamon Feb 4, 2026
  13. moved this from 🏗 In progress to 👀 In review in Aximprovements Teamon Mar 18, 2026
  14. moved this from 👀 In review to 🛑 Blocked in Aximprovements Teamon Apr 2, 2026
  15. moved this from 🛑 Blocked to ✅ Done in Aximprovements Teamon Apr 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

epicLarge unit of work, consisting of multiple tasks

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions