Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When and why did pointer syntax break for external blocks? #36390

Open
kdmccormick opened this issue Mar 17, 2025 · 2 comments
Open

When and why did pointer syntax break for external blocks? #36390

kdmccormick opened this issue Mar 17, 2025 · 2 comments
Assignees
Labels
bug Report of or fix for something that isn't working as intended discovery Pre-work to determine if an idea is feasible

Comments

@kdmccormick
Copy link
Member

kdmccormick commented Mar 17, 2025

Original behavior

We believe that, in the past, all XBlocks would currently import via either "inline" or "pointer" syntax. We believe that this worked regardless of whether they were built-in to edx-platform or installed from an external repo.

Furthermore, we believe that CMS would export using pointer syntax rather than inline syntx.

1. Inline syntax (one file)

<!-- vertical/foo.xml -->
<vertical url_name="foo">
    <problem url_name="bar" display_name="The Bar">Bar content goes here</problem>
    <drag-and-drop-v2 url_name="baz" display_name="The Baz">Baz content goes here</drag-and-drop-v2>
</vertical>

2. Pointer syntax (three files)

<!-- vertical/foo.xml -->
<vertical url_name="foo">
    <problem url_name="bar" />
    <drag-and-drop-v2 url_name="baz" />
</vertical>

<!-- problem/bar.xml -->
<problem url_name="bar" display_name="The Bar">Bar content goes here</problem>

<!-- drag-and-drop-v2/baz.xml -->
<drag-and-drop-v2 url_name="baz" display_name="The Baz">Baz content goes here</drag-and-drop-v2>

Current behavior

Pointer syntax still imports fine for blocks which are built-in to edx-platform and have XmlMixin. CMS still exports using pointer syntax for these blocks as well.

BUG: Pointer syntax will not import for blocks which are external to edx-platform and do not have XmlMixin. CMS exports these using inline syntax.

Open questions

  • Why did this behavior change? Perhaps, we used to mix XmlMixin into every block, and at some point that accidentally changed?
  • What is the latest release that pointer syntax worked on?
    • Kyle tried drag-and-drop-v2 in Redwood with pointer syntax, and it did not work.
    • Kyle hears that a major Open edX running Quince uses exports with pointer syntax. Need to investigate. If true, this would imply that the breakage happened between Quince and Redwood.
  • When we fix this, should we backport the fix to any of those old releases?

Related

Completing his issue will restore pointer syntax importing on master and in Teak:

@kdmccormick kdmccormick changed the title Discovery: When did pointer tags stop loading? Discovery: When and why did pointer tags stop loading? Mar 17, 2025
@kdmccormick kdmccormick changed the title Discovery: When and why did pointer tags stop loading? When and why did pointer syntax break for external blocks? Mar 17, 2025
@kdmccormick kdmccormick self-assigned this Mar 17, 2025
@kdmccormick
Copy link
Member Author

FYI @farhan , @feanil , @ormsbee

@kdmccormick kdmccormick added bug Report of or fix for something that isn't working as intended discovery Pre-work to determine if an idea is feasible labels Mar 17, 2025
@kdmccormick
Copy link
Member Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Report of or fix for something that isn't working as intended discovery Pre-work to determine if an idea is feasible
Projects
None yet
Development

No branches or pull requests

1 participant