2024-12-19 Frontend Working Group Meeting Notes: Plugin data handling and API standardization
Date, time, location
Date:Dec 19, 2024 at 15:00 UTC (timezone converter)
Location: https://meet.google.com/cxz-yjwi-gvi
Discussion topic(s)
Plugin data handling and API standardization
🎥Recording
Video: Frontend Working Group Meeting - 2024/12/19 11:59 GMT-03:00 - Recording
Chat: Frontend Working Group Meeting - 2024/12/19 11:59 GMT-03:00 - Chat
Transcript: Frontend Working Group Meeting - 2024/12/19 11:59 GMT-03:00 - Transcript
Participants
Adolfo Brandes
Brian Smith
David Joy
Fox Piacenti
🤖 Summary
1. Scheduling Upcoming Meetings
Decided to skip the meeting on January 2nd due to expected low attendance.
The next meeting was scheduled for January 16th, despite overlapping with the company all-hands.
2. Plugin Data Handling & API Standardization
Current Issues with Plugin Props:
Brian Smith raised concerns about how data should be passed into plugin slots.
The current approach of passing props directly into plugins could become brittle and unmanageable.
If every new plugin requires new props, the API could quickly become bloated and difficult to maintain.
Alternative Solutions Explored:
David Joy suggested an alternative:
Avoid passing props directly.
Consider React Context instead of prop drilling.
Ensure a clear, documented API for plugins.
Fox Piacenti raised concerns about context performance implications, suggesting memoization to prevent unnecessary re-renders.
Adolfo Brandes emphasized that some level of official data support must be provided for plugins, whether through props, context, or another structure.
Proposed Next Steps:
Explore Context-based approaches instead of excessive prop drilling.
Ensure that any data structure (Context, Props, etc.) used for plugins is explicitly documented and maintained.
Consider creating predictable, reusable contexts for different types of data (e.g., a Course Info Context for course-related data).
Establish clear rules for what is considered part of the API, preventing arbitrary additions.
3. Long-Term Considerations for API Governance
The group acknowledged the need for a well-documented, stable API for plugin data access.
Key considerations for 2025:
Versioning & Stability: Ensure plugins don’t break due to unexpected data structure changes.
Documentation: Clearly define what data is officially supported and how plugins should access it.
Avoiding Unofficial Data Usage: Prevent plugin developers from relying on undocumented internal APIs that may change.
Key Takeaways:
✔ Avoid excessive prop drilling in plugins.
✔ Explore React Context as a structured way to pass data.
✔ Define clear API rules to ensure stability and maintainability.
✔ Standardize & document supported plugin data access methods.