-
Notifications
You must be signed in to change notification settings - Fork 7
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
feat: add api MFE configuration #745
Conversation
feat: add mfe config api
Formerly, the settings were: * `MFE_CONFIG` for common config. * `MFE_CONFIG_<APP_ID>` for app-specific overrides, with each app getting its own Django setting. This commit changes it to: * `MFE_CONFIG` for common config (unchanged) * `MFE_CONFIG_OVERRIDES` for app-specific overrides, where each app gets a top-level key in the dictionary. Why the change? * We want common.py to have a complete list of overridable settings, as it helps operators reason about configuration and allows us to generate config documentation using toggle annotations. Dynamically generating setting names based on arbitrary APP_IDs makes this impossible. * getattr(...) generally makes code more complicated bug prone. Tools like pylint and mypy cannot effectively analyze any code that uses dynamic attribute access.
No functional changes here. This just uses the edx_api_doc_tools package to add some additional documentation to the new API. The documentation can be read from the code, or viewed by visiting http://<LMS_ROOT>/api-docs and searching for "mfe_config".
* This changes the API's path. The reasoning is that this is Version 1 of the mfe_config API, not Version 1 of the LMS's entire API, so the v1 should come after mfe_config. * Why does this matter? Firstly, consistency. Secondly, it affects our generated API documentation. If you visited https://courses.edx.org/api-docs, you could see that the API was listed under "v1" instead of "mfe_config".
Hello Diana, thanks for this, but I wonder if we want this PR. The acceptance criteria for that Jira card are more about having a "productive" branch about CSS variables in the frontend platform and learning mfe and having a strain published around your work of CSS variables. @santiagosuarezedunext @Alec4r, do you know if someone on the team uses MFE in Nutmeg and probably wants this? The backport is okay, and these changes won't break things, but as I said, I am not so sure we want this because, as eduNEXT, we are trying these things in Olmo. |
@MaferMazu let me explain a little bit more the context:
|
Understanding that we are gonna use this in Olmo, I proceed to close this PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks good, but I wonder how can we switch between have or no have MFE configurations, as we know, MFE is not mandatory in Nutmeg/Nuez
If this is not a problem, go ahead!
It's all about configurations to enable the API you should have |
Thanks for the clarification @dcoa. |
feat: add api MFE configuration
Description
This PR is a backport of all the commits related to MFE API configuration.
Supporting information
The related PR are:
Testing instructions
Please, follow the instructions here openedx/edx-platform#30473
Additional information
JIRA CARD