/
2024-11-07 Frontend Working Group Meeting Notes: Indigo as default, plugin boundaries

2024-11-07 Frontend Working Group Meeting Notes: Indigo as default, plugin boundaries

 Date, time, location

 Discussion topic(s)

One, maybe two topics to be presented or discussed in depth in the upcoming meeting.

🎥Recording

Please be advised: Frontend Working Group meetings are recorded and transcribed.

 Participants

  • Adolfo Brandes

  • David Joy

  • Fox Piacenti

  • Milad Emami

🤖 Summary

1. Indigo Theme as the Default for Open edX

  • Indigo is already the default theme for Tutor, but there is discussion about whether it should become the official project-wide default.

  • Two competing approaches:

    • Integrate Indigo into the project (instead of keeping it as an external dependency).

    • Keep it as a separate installable package, allowing for easier theme customization.

  • Concerns:

    • Keeping Indigo separate provides a clear example theme for developers.

    • If integrated into the project, testing may become simpler but require fewer duplicate test runs.

  • Decision Pending: The group is still finalizing whether Indigo should be built-in or a separate installable package.


2. Plugin Boundaries & Definitions

  • David Joy raised concerns about defining clear boundaries for plugins and their intended functionality.

  • Plugins should not become overly abstract or complex—a balance is needed.

  • Discussion about slots vs. configuration:

    • Slots: Granular, component-level changes.

    • Configuration: High-level, structural changes.

  • Key takeaway: Some elements (e.g., simple links) should not be treated as full plugins—distinctions should be clear to prevent overcomplication.


3. Reviewing Open Pull Requests for Ora MF

  • Milad Emami requested follow-up on two pending pull requests in Ora MF (maintained by Emad).

  • Adolfo Brandes acknowledged the delay and committed to reviewing them.

  • Reminder: It’s always okay to follow up on PRs if they seem stuck.


4. Tutor-Specific Configuration for Sumac Release

  • Challenge: Tutor requires duplicating envconfig.jsx across multiple MFs, making customization cumbersome.

  • Solution Proposal:

    • Use a Tutor plugin to distribute envconfig.jsx across all MFs automatically.

    • Reduce the need for manually copying & modifying configuration files.

  • Implementation details:

    • A patch-based approach is being tested.

    • Uses Webpack aliases to point to a shared envconfig.jsx.

    • A conditional import mechanism ensures that FPF (Frontend Plugin Framework) is only loaded where needed.

  • David Joy's suggestion:

    • Use a common base configuration that other MFs import & extend instead of duplicating files.

    • Eventually, Frontend Base will resolve these issues with a new configuration syntax.


Key Takeaways:

Indigo Theme may become the default, but integration details need refinement.
Clear plugin boundaries & definitions are needed to prevent unnecessary complexity.
Tutor configuration improvements aim to reduce duplicated effort.
Frontend Base will streamline future customization & configuration.

 Action items

 Decisions

Related content

2025-02-13 Frontend Working Group Meeting Notes: Axios upgrade fallout, React 18 upgrade
2025-02-13 Frontend Working Group Meeting Notes: Axios upgrade fallout, React 18 upgrade
Read with this
2024-05-09 Frontend Working Group Meeting Notes: Plugin Slots
2024-05-09 Frontend Working Group Meeting Notes: Plugin Slots
More like this
Frontend Development Overview
Frontend Development Overview
More like this
[Proposal] Make Indigo the default Open edX Theme
[Proposal] Make Indigo the default Open edX Theme
More like this
2024-02-22 - UX/UI Working Group Meeting
2024-02-22 - UX/UI Working Group Meeting
More like this
UX State of Mind: Designing better Open edX themes
UX State of Mind: Designing better Open edX themes
More like this