Frontend Pluggability Summit, Part 2 (2024-03-19)

Purpose

To answer the following questions:

1. Are we ready to pick a favorite plugin architecture from the existing implementations?

There are currently two main competing ones:

Both try to solve the plugin problem similarly. Which one’s closer to the mark? Which one will be flexible enough to tackle both (and more) use cases?

2. Can we get it ready in time for Redwood?

If we can pick one, can we come up with a list of improvements to call it “v1”? Would there be enough time to tackle this work in time for Redwood?

Recording

Summary

Generated from the transcript by ChatGPT 4.

The Pluggability Summit Part 2 focused on advancing the integration of a pluggability framework into the Redwood release of their project. The main objectives discussed were selecting a preferred implementation among the existing options for a pluggability framework and determining the feasibility of integrating the chosen framework into Redwood within the given timeline.

Adolfo Brandes opened the meeting by stressing the urgency of making a decision due to the impending Redwood release. He proposed two key questions: whether they are ready to select a preferred implementation from the current options and if the chosen option can be prepared in time for Redwood.

Several presentations and discussions followed, focusing on the technical aspects, benefits, and limitations of the current implementations. Jason Wesson detailed the Frontend Plugin Framework, highlighting its JavaScript-based configuration and the flexibility it offers for plugin insertion. There was a significant focus on ensuring that the chosen framework would be robust, flexible, and well-documented to facilitate future development and customization.

Felipe Montoya and others discussed the importance of allowing plugins from different packages, emphasizing dependency injection and the flexibility for extenders to modify the platform easily. The ability to modify default content and the inclusion of JavaScript configurations in plugins were highlighted as essential features.

The group discussed the practical aspects of integrating the chosen framework into various Micro-Frontends (MFEs), with particular attention to how this could impact existing functionalities and the effort required for implementation.

In the end, there was a consensus to move forward with Jason Wesson’s Frontend Plugin Framework, with the understanding that further work is needed to ensure it meets all requirements. This decision was based on its current capabilities, the potential for future enhancements, and its alignment with the community's needs.

The meeting concluded with an action plan to finalize the roadmap for integrating the pluggability framework into the Redwood release, focusing on essential features and implementation in key MFEs as proof of concept. The attendees expressed appreciation for the collaborative effort and the progress made towards a more flexible and customizable platform.

Action Plan for Redwood

  1. Define and Document the Roadmap

  2. Enhance the Frontend Plugin Framework

    • Incorporate customizable default content as a key feature to ensure the framework's versatility.

    • Improve documentation and add type validation to facilitate easier adoption and integration by developers.

    • Address any identified gaps or missing features that are crucial for a V1 release, including the ability for plugins to modify routes.

  3. Integrate Framework into Key Micro-Frontends (MFEs):

    • Identify and prioritize MFEs for initial integration, focusing on those that will provide the most value and visibility for the pluggability features.

    • Implement plugin slots in selected MFEs, such as headers, footers, or sidebars, to demonstrate the framework's capabilities and encourage adoption.

  4. Develop and Share Implementation Guidelines:

    • Create comprehensive guidelines and best practices for integrating the plugin framework into MFEs.

    • Provide examples and templates to assist developers in creating plugins and configuring them within MFEs.

  5. Prepare for Official Release:

    • Ensure all integration work and enhancements are completed and thoroughly tested before the Redwood release deadline.

    • Plan for an official announcement and release, including detailed release notes that highlight the new pluggability features and their benefits.