Skip to content
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

docs: Settings Simplification ADR #36224

Merged
merged 12 commits into from
Feb 27, 2025

Conversation

@kdmccormick kdmccormick force-pushed the kdmccormick/settings-adr branch 3 times, most recently from ba09230 to 57f550a Compare February 10, 2025 22:21
@kdmccormick kdmccormick requested a review from feanil February 10, 2025 22:22
@kdmccormick kdmccormick marked this pull request as ready for review February 10, 2025 22:22
@kdmccormick
Copy link
Member Author

@feanil , could you take a first pass? Once it looks good to you, I'll circulate it more broadly.

Copy link
Contributor

@feanil feanil left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few minor comments but nothing major. I can re-review once those are addressed.

@kdmccormick kdmccormick requested a review from regisb February 12, 2025 18:49
@kdmccormick
Copy link
Member Author

@regisb , your wisdom on this ADR would be invaluable.

@kdmccormick kdmccormick force-pushed the kdmccormick/settings-adr branch from 57f550a to c8e03af Compare February 12, 2025 20:04
@kdmccormick
Copy link
Member Author

Sorry @feanil , forgot to push. Ready now.

@kdmccormick kdmccormick requested a review from feanil February 12, 2025 20:23
Copy link
Contributor

@feanil feanil left a 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 now.

Copy link
Contributor

@regisb regisb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reading this ADR, I found myself nodding and mumbling "yes, yes, ok..." all the way down. I used to tell people that there are just two things which are difficult in Open edX: static assets and settings. I'm grateful that you are tackling the latter after having greatly improved the state of the former.

My comments are mostly questions for my own understanding. As far as I'm concerned this is good to go.

@kdmccormick kdmccormick requested a review from robrap February 13, 2025 17:49
@kdmccormick kdmccormick force-pushed the kdmccormick/settings-adr branch from c8e03af to 7883fc4 Compare February 13, 2025 18:19
Copy link
Contributor

@robrap robrap left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you.

@kdmccormick kdmccormick force-pushed the kdmccormick/settings-adr branch from 63b8644 to 8da96ec Compare February 20, 2025 20:55
@kdmccormick kdmccormick requested a review from robrap February 20, 2025 21:05
@kdmccormick
Copy link
Member Author

@feanil @regisb I've made some edits to the structure of the ADR and clarified some details based on Robert's feedback. If you want to re-review before I merge, please do so soon.

in a local venv as well as in CI. Needs to invoke ``derive_settings`` in
order to render all previously-defined ``Derived`` settings.

* ``<third_party_repo>/lms_prod.py`` (example path): In order to
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @kylecrawshaw. A couple of thoughts:

  1. First, I realized that the term third-party was confusing to me. In the context of the Open edX platform, I'm used to the term third-party being applied to libraries (e.g. Django, DRF) and tools. Even the term third-party provider, I would typically associate with examples like: AWS, Azure, Confluent, etc., and not with Open edX providers, unless specifically designated.
  • a. Below you used the phrase "third-party providers (like edx.org)", and that was clear to me, but only because the example was edx.org, and it took me a moment to re-orient myself. I'm wondering if switching this to "Open edX providers (like edx.org)", or something like that, would be more clear?
  • b. The reference <third_party_repo> is again ambiguous (on its own, and it is opening this paragraph), and maybe this could be <open_edx_provider_repo>? I also realized that you wanted a term that would cover tools like Tutor. Maybe <open_edx_provider_or_tool_repo>?
  • c. Related, there are a bunch of references to third-party settings in this ADR, and now I'm not clear which are third-party library settings, and which are Open edX provider settings? Maybe you could search for third-party through the ADR and double-check whether being slightly more explicit will bring clarity?
  1. This step is written as if it is required, but the consequences section better details the possible alternative of using lms/envs/yaml.py. Maybe that was part of my original confusion? Is there some way to make this clear, if I am understanding correctly?

@kdmccormick
Copy link
Member Author

First, I realized that the term third-party was confusing to me. In the context of the Open edX platform, I'm used to the term third-party being applied to libraries (e.g. Django, DRF) and tools. Even the term third-party provider, I would typically associate with examples like: AWS, Azure, Confluent, etc., and not with Open edX providers, unless specifically designated.

You're right, I didn't even realize I was using 3rd-party to mean two different things. I'll update to disambiguate. <open_edx_provider_or_tool_repo> is a good idea.

This step is written as if it is required, but the consequences section better details the possible alternative of using lms/envs/yaml.py. Maybe that was part of my original confusion? Is there some way to make this clear, if I am understanding correctly?

Ah, fair. The uncertainty of whether we implement yaml.py has certainly made this ADR harder to write 😛 I will attempt to clarify that that what we're trying to communicate to providers & tools is: !(we_decide_to_support_yaml && you_decide_to_use_yaml) => you_need_a_custom_settings_file

@kdmccormick kdmccormick force-pushed the kdmccormick/settings-adr branch from 8ab552a to 900f726 Compare February 26, 2025 17:18
@kdmccormick
Copy link
Member Author

@feanil @robrap @regisb updated with Robert's suggested clarifications. Feel free to re-review today, or let me know today if you'd like to re-review but need more time.

Copy link
Contributor

@robrap robrap left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for all the updates!

@kdmccormick kdmccormick merged commit 2dc4dfe into openedx:master Feb 27, 2025
49 checks passed
@kdmccormick kdmccormick deleted the kdmccormick/settings-adr branch February 27, 2025 14:27
@edx-pipeline-bot
Copy link
Contributor

2U Release Notice: This PR has been deployed to the edX staging environment in preparation for a release to production.

@edx-pipeline-bot
Copy link
Contributor

2U Release Notice: This PR has been deployed to the edX production environment.

1 similar comment
@edx-pipeline-bot
Copy link
Contributor

2U Release Notice: This PR has been deployed to the edX production environment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants