Skip to content

Conversation

@salman2013
Copy link
Contributor

@salman2013 salman2013 commented Dec 15, 2025

Ticket: #37718 (comment)

AboutBlock Testing Scenarios

  • Open CMS
  • Open the target course
  • Navigate to Settings -> Schedule & Details
  • On the Schedule & Details Page locate the "Course summary page" section and open the url provided under this heading.
  • Verify that the AboutBlock content is rendered correctly on the course summary page
Screenshot 2025-12-24 at 4 25 16 PM
  • On the Schedule & Details Page locate the "Course overview section.
  • Verify the content displayed under the “Course overview” section
Screenshot 2025-12-24 at 4 24 53 PM

CourseInfoBlock Testing Scenarios

Scenario # 1

  • Open CMS
  • Navigate to Content -> Course Updates
  • Verify Course updates can be properly created and edited.
  • Verify Course handouts can be properly added and modified.
Screenshot 2025-12-24 at 4 26 07 PM

Scenario # 2

  • Open LMS
  • Navigate to Corse tab
  • Verify that course handouts are visible on the right hand side of the course page.
  • Verify that course updates are display correctly under the course update section.
Screenshot 2025-12-24 at 4 26 30 PM

StaticTabBlock Testing Scenarios

  • Open CMS

  • Navigate to Content -> Pages & Resources

  • Scroll to the Custom Page section

  • Add a new custom page and save the changes

  • Open LMS

  • Open same course

  • Verify that a new tab appears in the course navigation.

  • Verify the staticTab content by clicking on tab.

Screenshot 2025-12-24 at 4 27 21 PM Screenshot 2025-12-24 at 4 28 08 PM

@openedx-webhooks openedx-webhooks added the open-source-contribution PR author is not from Axim or 2U label Dec 15, 2025
@openedx-webhooks
Copy link

Thanks for the pull request, @salman2013!

This repository is currently maintained by @openedx/wg-maintenance-edx-platform.

Once you've gone through the following steps feel free to tag them in a comment and let them know that your changes are ready for engineering review.

🔘 Get product approval

If you haven't already, check this list to see if your contribution needs to go through the product review process.

  • If it does, you'll need to submit a product proposal for your contribution, and have it reviewed by the Product Working Group.
    • This process (including the steps you'll need to take) is documented here.
  • If it doesn't, simply proceed with the next step.
🔘 Provide context

To help your reviewers and other members of the community understand the purpose and larger context of your changes, feel free to add as much of the following information to the PR description as you can:

  • Dependencies

    This PR must be merged before / after / at the same time as ...

  • Blockers

    This PR is waiting for OEP-1234 to be accepted.

  • Timeline information

    This PR must be merged by XX date because ...

  • Partner information

    This is for a course on edx.org.

  • Supporting documentation
  • Relevant Open edX discussion forum threads
🔘 Get a green build

If one or more checks are failing, continue working on your changes until this is no longer the case and your build turns green.

🔘 Update the status of your PR

Your PR is currently marked as a draft. After completing the steps above, update its status by clicking "Ready for Review", or removing "WIP" from the title, as appropriate.


Where can I find more information?

If you'd like to get more details on all aspects of the review process for open source pull requests (OSPRs), check out the following resources:

When can I expect my changes to be merged?

Our goal is to get community contributions seen and reviewed as efficiently as possible.

However, the amount of time that it takes to review and merge a PR can vary significantly based on factors such as:

  • The size and impact of the changes that it introduces
  • The need for product review
  • Maintenance status of the parent repository

💡 As a result it may take up to several weeks or months to complete a review and merge your PR.

@github-project-automation github-project-automation bot moved this to Needs Triage in Contributions Dec 15, 2025
@salman2013 salman2013 added the create-sandbox open-craft-grove should create a sandbox environment from this PR label Dec 15, 2025
@salman2013 salman2013 closed this Dec 15, 2025
@github-project-automation github-project-automation bot moved this from Needs Triage to Done in Contributions Dec 15, 2025
@salman2013 salman2013 reopened this Dec 15, 2025
@open-craft-grove
Copy link

Sandbox deployment successful 🚀
🎓 LMS
📝 Studio
ℹ️ Grove Config, Tutor Config, Tutor Requirements

@open-craft-grove
Copy link

Sandbox deployment successful 🚀
🎓 LMS
📝 Studio
ℹ️ Grove Config, Tutor Config, Tutor Requirements

@open-craft-grove
Copy link

Sandbox deployment successful 🚀
🎓 LMS
📝 Studio
ℹ️ Grove Config, Tutor Config, Tutor Requirements

@open-craft-grove
Copy link

Sandbox deployment failed 💥
Please check the settings and requirements.
Retry deployment by pushing a new commit or updating the requirements/settings in the pull request's description.
📜 Failure Logs
ℹ️ Grove Config, Tutor Config, Tutor Requirements

@open-craft-grove
Copy link

Sandbox deployment failed 💥
Please check the settings and requirements.
Retry deployment by pushing a new commit or updating the requirements/settings in the pull request's description.
📜 Failure Logs
ℹ️ Grove Config, Tutor Config, Tutor Requirements

@open-craft-grove
Copy link

Sandbox deployment failed 💥
Please check the settings and requirements.
Retry deployment by pushing a new commit or updating the requirements/settings in the pull request's description.
📜 Failure Logs
ℹ️ Grove Config, Tutor Config, Tutor Requirements

@open-craft-grove
Copy link

Sandbox deployment successful 🚀
🎓 LMS
📝 Studio
ℹ️ Grove Config, Tutor Config, Tutor Requirements

@open-craft-grove
Copy link

Sandbox deployment failed 💥
Please check the settings and requirements.
Retry deployment by pushing a new commit or updating the requirements/settings in the pull request's description.
📜 Failure Logs
ℹ️ Grove Config, Tutor Config, Tutor Requirements

@open-craft-grove
Copy link

Sandbox deployment successful 🚀
🎓 LMS
📝 Studio
ℹ️ Grove Config, Tutor Config, Tutor Requirements

Copy link
Contributor

@feanil feanil left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes in html_block.py make sense but I need some more explanations of the other changes.


# Convert None or empty string to empty dict for consistency
# empty string means no template data was found
return overview_value or {}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like a change to the course detail serializer, can you explain why you're making this change? This would impact what people expect as output from an LMS REST API endpoint which could break 3rd party integrations that rely on this API.

Copy link
Contributor Author

@salman2013 salman2013 Dec 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Background thoughts on this change:

In LMS multiple tests were failing after using extracted html xblock for AboutBlock.
It failed to find get_template here in this line
overview_template = about_block.get_template('overview.yaml')

As for extracted blocks we have added ResourceTemplates into XBLOCK_MIXINS
Ref: #37184
but it is not available for lms.

To fix the tests i put the check here and pass the empty dictionary in case template do not find. I thought its safe to pass empty dictionary in case template not found. but after reading your comment i believe i need to look it again if it could break 3rd party integrations.

Thanks for updating on this!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reverted this code and figured out the way to resolve test case failure.
As per discussion i found out that during extraction of HTML block we have solved all platform test with the addition of Resource template in XBLOCK_MIXINS and now we can remove ResourceTemplates safely from _BuiltinHtmlBlockMixin and i add it in AboutBlock where it is needed.


about_block = XBlock.load_class('about')
overview_template = about_block.get_template('overview.yaml')
about_block_dynamic = self.mixologist.mix(about_block)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you explain why instantiating this block is necessary here when it wasn't before?

Copy link
Contributor Author

@salman2013 salman2013 Dec 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Multiple tests were failing on CMS and all failed to find get_template here in this line
overview_template = about_block.get_template('overview.yaml').

As ResourseTemplates has added into XBLOCK_MIXINS
Ref: #37184

I followed the same to dynamically bind xblock with a mixin at runtime.

Copy link
Contributor Author

@salman2013 salman2013 Dec 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While fixing the above comment, this code was also removed.

@salman2013 salman2013 force-pushed the salman/html_block_mixin branch from dc90e03 to f3c823c Compare December 24, 2025 09:33
@open-craft-grove
Copy link

Sandbox deployment successful 🚀
🎓 LMS
📝 Studio
ℹ️ Grove Config, Tutor Config, Tutor Requirements

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

create-sandbox open-craft-grove should create a sandbox environment from this PR open-source-contribution PR author is not from Axim or 2U

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

6 participants