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

feat: [FC-0070] add events and style for rendering Split xblock in chromeless template #35813

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

ihor-romaniuk
Copy link
Contributor

@ihor-romaniuk ihor-romaniuk commented Nov 8, 2024

Description

This feature introduces functionalities to improve XBlock interactions within iframes:

  • Add styles that adopt default styles for Split Test which renders chromless template via iframe in MFE Authoring.
  • When the isIframeEmbed option is enabled, the XBlock sends a postMessage to the parent window. When sending such a message, the standard link transition is cancelled and the transition is carried out in MFE Authoring.
split_test.mov

Related Pull Requests

Testing instructions

  • Create a new course.
  • Create several units.
  • Open the course unit page.
  • Add a Content Experiment xBlock to the unit.
  • Click the “View” button on the Content Experiment xBlock.

@openedx-webhooks openedx-webhooks added the open-source-contribution PR author is not from Axim or 2U label Nov 8, 2024
@openedx-webhooks
Copy link

openedx-webhooks commented Nov 8, 2024

Thanks for the pull request, @ihor-romaniuk!

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.


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.

@ihor-romaniuk ihor-romaniuk force-pushed the romaniuk/children-container-for-rendering-split-test branch from 2f23ccb to c054eb1 Compare November 12, 2024 15:25
@ihor-romaniuk ihor-romaniuk force-pushed the romaniuk/children-container-for-rendering-split-test branch 2 times, most recently from 01329d3 to 401ef42 Compare February 26, 2025 08:45
@ihor-romaniuk ihor-romaniuk force-pushed the romaniuk/children-container-for-rendering-split-test branch from 401ef42 to 24453ab Compare February 26, 2025 09:38
@ihor-romaniuk ihor-romaniuk marked this pull request as ready for review February 26, 2025 09:42
display: inline-flex;
align-items: center;
gap: 0.6rem;
padding: 0.3rem 1rem;
Copy link
Contributor

Choose a reason for hiding this comment

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

[question]: We don't use rems in this file. Should we be consistent or do we want to use rems everywhere?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Replaced with $baseline, thanks

}

.paste-component {
margin: 2.4rem 1rem 0;
Copy link
Contributor

Choose a reason for hiding this comment

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

[question]: You use $baseline for indentation, should we do this wherever possible?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Replaced

@mphilbrick211 mphilbrick211 added the FC Relates to an Axim Funded Contribution project label Feb 26, 2025
@bradenmacdonald
Copy link
Contributor

Why are there so many changes in this PR related to the "Add New Component" UI? I thought that the MFE is providing that, and I don't like the idea of continuing to use the legacy UI for that. In fact (please correct me if I'm wrong), this seems to be doing something even worse - duplicating the new MFE "Add New Component" UI in the code of the old legacy UI.

@ihor-romaniuk
Copy link
Contributor Author

Why are there so many changes in this PR related to the "Add New Component" UI? I thought that the MFE is providing that, and I don't like the idea of continuing to use the legacy UI for that. In fact (please correct me if I'm wrong), this seems to be doing something even worse - duplicating the new MFE "Add New Component" UI in the code of the old legacy UI.

I appreciate you pointing out this issue. It’s an important topic, and I share the concern about avoiding duplication and improving the long-term approach to rendering xBlocks.

This pull request includes many style adjustments to align the “Add New Component” block with the MFE styles. Since the Split_test xBlocks renders this block within an internal container, it was decided to visually adapt it within this scope of work, as a complete refactor would take significantly more time.

I fully agree that rendering an iframe within the MFE is not an ideal solution. However, this approach was chosen because the previous implementation had performance issues on the page. Unfortunately, we do not yet have a unified approach or a common mechanism for rendering xBlocks. Once we establish a standardized way to display xBlocks in React, we will be able to completely eliminate the use of iframes.

@bradenmacdonald
Copy link
Contributor

This pull request includes many style adjustments to align the “Add New Component” block with the MFE styles. Since the Split_test xBlocks renders this block within an internal container, it was decided to visually adapt it within this scope of work, as a complete refactor would take significantly more time.

I see. I would have preferred that we don't spend time adapting the look of the legacy UI, but it's not my decision.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
FC Relates to an Axim Funded Contribution project open-source-contribution PR author is not from Axim or 2U
Projects
Status: Waiting on Author
Development

Successfully merging this pull request may close these issues.

5 participants