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

iframe-based Experience Plugins support in frontend-platform #13

Closed
1 of 6 tasks
davidjoy opened this issue Oct 4, 2021 · 1 comment
Closed
1 of 6 tasks

iframe-based Experience Plugins support in frontend-platform #13

davidjoy opened this issue Oct 4, 2021 · 1 comment
Assignees
Labels
epic Large unit of work, consisting of multiple tasks

Comments

@davidjoy
Copy link
Contributor

davidjoy commented Oct 4, 2021

Related PR: openedx/frontend-platform#235

frontend-platform will provide a set of helper components which will make creating experience plugin extension points (slots) in micro-frontends easy.

These components are:

  • PluginSlot - An extension point in an micro-frontend
  • Plugin - A plugin loader, used by PluginSlot
  • PluginIframe - A plugin mechanism, loads a plugin in an iframe
  • PluginContainer - A helper class for plugin implementations that automates communication with the parent page
  • PluginErrorBoundary - Helps isolate errors that occur in plugin handling code so that it doesn't crash the whole application.

These components assume that plugin configuration is available in the application's config, accessed via frontend-platform's getConfig function.

Subtasks:

  • Basic implementation of the above classes.
  • Component tests where possible (may be difficult to get 100% coverage, given the nature of the components)
  • Tests for custom hooks
  • Improve logging in PluginErrorBoundary - where should errors caught in this component go?
  • Ensure that plugins know the target origin for the parent page in dispatchHostEvent. This may have to be communicated from the parent to the plugin during initialization.
  • Decide what to do with module federation-based plugin code for now. Perhaps 'stash' it on a branch.
@davidjoy davidjoy added this to the Experience Plugins milestone Oct 4, 2021
@davidjoy davidjoy self-assigned this Oct 4, 2021
@arbrandes arbrandes added enhancement Relates to new features or improvements to existing features epic Large unit of work, consisting of multiple tasks and removed enhancement Relates to new features or improvements to existing features labels Jan 23, 2023
@arbrandes
Copy link

Closing this in favor of openedx/platform-roadmap#27.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic Large unit of work, consisting of multiple tasks
Projects
Status: Closed
Development

No branches or pull requests

2 participants