openedx / frontend-component-footer

Site footer component for edX frontend apps.
GNU Affero General Public License v3.0
6 stars 97 forks source link

[DEPR]: Support for footer replacement via `npm install`ing forked footers #459

Open brian-smith-tcril opened 2 months ago

brian-smith-tcril commented 2 months ago

Proposal Date

2024-08-20

Target Ticket Acceptance Date

2024-09-03

Earliest Open edX Named Release Without This Functionality

Sumac - 2024-10

Rationale

Before the creation of frontend-plugin-framework the only officially supported (and technically viable) method for using a custom footer in MFEs was to fork the frontend-component-footer repository and install the forked footer using npm.

In the Redwood release support was added for footer replacement using frontend-plugin-framework/the FooterSlot component.

When building out that support we were required to make architectural decisions to continue to support the forking method of footer replacement. The initial idea was to have frontend-component-footer provide the FooterSlot component. The implementation of this on the MFE side broke existing fork-based footer replacement, as MFEs expected frontend-component-footer to provide a FooterSlot component that forked versions did not provide. This was reverted (MFE side, frontend-component-footer side) and the FooterSlot component is now provided by frontend-slot-footer.

Removal

Footer replacement by npm installing a forked footer will no longer be supported.

This means that the Footer component (and the use of the Footer component in consuming MFEs) will no longer be an officially supported (implicit) API.

It will still be possible to replace the footer via npm install, but changes to frontend-component-footer and/or consuming MFEs that break existing forked footers but do not break the ability to replace the footer using frontend-plugin-framework and the FooterSlot component will not be reverted.

Replacement

Official support for footer replacement using frontend-plugin-framework and the FooterSlot component.

Deprecation

No response

Migration

No response

Additional Info

No response

Task List

No response