Skip to content

Consolidate Optional XBlocks #317

Closed
10 of 10 issues completed
Closed

Description

@kdmccormick

Preliminary list:

  • openedx/AudioXBlock
  • openedx/ConceptXBlock
  • openedx/schoolyourself-xblock
  • openedx/xblock-image-modal
  • openedx/xblock-qualtrics-survey
  • openedx/xblock-sql-grader
  • openedx/xblock-submit-and-compare
  • openedx/FeedbackXBlock
  • openedx/DoneXBlock
  • openedx/RecommenderXBlock

Other blocks, TBD

High-usage

  • openedx/xblock-drag-and-drop-v2
  • mitodl/edx-sga
  • open-craft/xblock-poll

Not sure

  • openedx/xblock-google-drive
  • openedx/xblock-image-explorer
  • openedx/xblock-in-video-quiz

Questions

  • what's the criteria for extra (versus xblocks-contrib)?
  • which of these are installed by default?

Linked Parent Story: openedx/openedx-platform#34827

Activity

  1. moved this to 📋 Backlog in Aximprovements Teamon Mar 6, 2025
  2. farhan commented on Mar 6, 2025

    @farhan

    We have created following document
    @feanil @kdmccormick Please fill the usage data for example (High, Medium, Low, No)

    https://docs.google.com/spreadsheets/d/1n1PYV1wnHPRYCObJ_mrWhgJttd3pZULEU5uAV8ACciE/edit?usp=sharing

    We have classiffied the XBlocks in this way so far:

    1. xblocks-contrib: Core XBlocks
      - word-cloud
      - annotatable
      - html
      - ...

    2. xblocks-extras: XBlocks not installed by default in platform [Can further classify based on usage and list size]
      - feedback-xblock
      - AudioXBlock
      - ConceptXBlock
      - schoolyourself-xblock
      - xblock-image-modal
      - xblock-qualtrics-survey
      - xblock-sql-grader
      - xblock-submit-and-compare

    3. xblocks-extras-reloaded xblocks-extras-2: XBlocks installed by default in platform. There are some major xblocks in it that deserve to stay in separate repository alone.
      - ora2
      - acid-xblock
      - lti-consumer-xblock
      - crowdsourcehinter-xblock
      - done-xblock
      - recommender-xblock
      - staff-graded-xblock
      - xblock-poll
      - xblock-drag-and-drop-v2
      - xblock-google-drive

  3. changed the title [-]Collect low-usage blocks into xblocks-extra[/-] [+]Let's Classify XBlocks[/+] on Mar 6, 2025
  4. farhan commented on Apr 3, 2025

    @farhan

    As per weekly discussion with the client on 26th Mar, 2025 we decided:

    1. Keep the blocks like ora2, lti-consumer-xblock, xblock-google-drive standalone in the repos as they have large code base and quality to stay separate.
    2. It's fine to merge the blocks of xblocks-extras mentioned above as they are smaller xblocks.

    cc: @kdmccormick @openedx/axim-aximprovements

  5. kdmccormick commented on Apr 9, 2025

    @kdmccormick
    MemberAuthor

    The plan for xblocks-contrib (installed by default) and xblocks-extras (not installed by default) looks good to me.

    @farhan could you explain xblocks-extras-reloaded? I understand that some of them (e.g. ora2) will remain separate. What about the others? Could they be merged into xblocks-contrib as well, or do you see a need for another bundle?

  6. farhan commented on Apr 9, 2025

    @farhan

    @kdmccormick

    xblocks-extras-reloaded is not a real name, I just gave any other name for now :)
    We will have another brainstorming session on the compilation of leftover xblocks and their grouping.

    cc: @openedx/axim-aximprovements

  7. farhan commented on Apr 10, 2025

    @farhan

    @hinakhadim will be working further on this as an open source contributor, we had a discussion on it and explained the task
    Here are the useful links:
    https://github.com/openedx/xblocks-contrib [Consolidated repo as a sample architecture]
    https://docs.google.com/spreadsheets/d/1rMwbRldYwp-xPsAG2vijqwB__9M7P2AgjDxX31G7ucA/edit?gid=0#gid=0

  8. hinakhadim commented on Apr 15, 2025

    @hinakhadim

    Hey @kdmccormick @feanil, would you mind creating the xblocks-extras repository and adding me as a maintainer in xblock-extras repository? I don't have access to create it.

  9. kdmccormick commented on Apr 15, 2025

    @kdmccormick
    MemberAuthor

    Hi @hinakhadim , please create a New Issue here, and use the GH Access/Config template: https://github.com/openedx/axim-engineering/issues. That way we'll have a record of why the repo was created. Tag Feanil and I on the issue, and we'll get the repo created for you shortly.

  10. hinakhadim commented on Apr 15, 2025

    @hinakhadim

    Hey @kdmccormick, I’ve opened the request here: openedx/axim-engineering#1443
    Appreciate your help in getting the xblocks-extras repo created and granting me maintainer access. Let me know if anything else is needed!

  11. e0d commented on Sep 19, 2025

    @e0d
    Member

    Should we consider pulling this in https://github.com/raccoongang/xblock-pdf. It's used by a fair number of folks.

  12. moved this from 📋 Backlog to 🔖 Ready in Aximprovements Teamon Oct 9, 2025
  13. 25 remaining items

  14. moved this from 🔖 Ready to 🏗 In progress in Aximprovements Teamon Apr 9, 2026
  15. self-assigned this
    on Apr 13, 2026
  16. moved this from 🏗 In progress to 📋 Backlog in Aximprovements Teamon Apr 27, 2026
  17. FuaadZam commented on Apr 28, 2026

    @FuaadZam

    This Block is pending

    xblocks-extras-2: XBlocks installed by default in platform. There are some major xblocks in it that deserve to stay in separate repository alone.

    • ora2
    • acid-xblock
    • lti-consumer-xblock
    • crowdsourcehinter-xblock
    • done-xblock
    • recommender-xblock
    • staff-graded-xblock
    • xblock-poll
    • xblock-drag-and-drop-v2
    • xblock-google-drive
  18. feanil commented on May 5, 2026

    @feanil
    Contributor

    If we do want these to continue to be installed by default for the smaller ones, it may make sense to just pull them into xblocks-core (previosly xblocks-contrib) and then for any that are large or have their own database models, I think we should leave them as separate repositories/django apps since moving django apps can be complex and not usually worth the pain. What do you thin @kdmccormick

  19. kdmccormick commented on May 5, 2026

    @kdmccormick
    MemberAuthor

    moving django apps can be complex and not usually worth the pain

    Renaming django apps or moving models between apps is painful. Moving models across repos without renaming the app is fine.

    That said, I agree with the general approach of:

    • Small, stable, supported installed-by-default blocks can go in xblocks-core
    • Large complex blocks should stay in separate repos so that they can be maintained separately
    • Any block that we are considering to deprecate should probably also stay separate
  20. moved this from 📋 Backlog to No status in Aximprovements Teamon Jun 24, 2026
  21. moved this from 🆕 New to 🔖 Ready in Aximprovements Teamon Oct 29, 2026
  22. Hammadahmad2 commented on Oct 30, 2026

    @Hammadahmad2

    @farhan , need to review this as discussed in the meeting

  23. feanil commented on Oct 30, 2026

    @feanil
    Contributor

    I think we've done the portion of this that has the most value, which is taking the smaller blocks with no maintainers and consolidating them. The next set mostly has maintainers and there would be less value in consolidating it for now.

  24. moved this from 🔖 Ready to ✅ Done in Aximprovements Teamon Oct 30, 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