Arch Tea Time: 2020-08-06
OpenedX releases
Going from 4 months → 6 months
Waffle switches/flags/samples
Why we don't like them
It’s dumb that the configuration is in our database.
Hard to debug
Hard to manage/duplicate
There is now no validation or review before making a change.
Often they don’t have good docs on how to manage them.
Often don’t have many people who know how they’re supposed to work.
Even if we had manual review, review of django-admin UI is not as good as reviewing code or config.
Some reasons why waffle is nice.
Sometimes we want to roll-out low risk things and changing settings via remote config is WAY slower and has more overhead.
Really useful for quickly flipping and testing a configuration before ripping the flags out.
Things we’re doing that should help?
Toggle Documentation Improvements
Should this be required?
We could be reducing complexity of the waffle things by building/simplify better waffle base classes.
Other Notes
Making more abstraction layers on top of waffle/django might not be a great idea.
However if we are constantly fighting our flag framework.
Let pyupgrade switch %-formatting and {}-formatting to f-strings?
f-strings are usually easier to read, any objections to moving to this?
How does this work with translations?
is the "optimization" faster than both %-formatted and str.format or just one?
Jeremy thinks yes.
DaveO points out that string interpolation doesn’t ever seem to be in the critical path for perf, so don’t make that the primary concern.
Major re-format will cause downstream issues with people maintaining forks.
Feanil: What if we also run Black?
If we’re ruining the git blame anyway, may as well do it now.
Reasons not to do this:
Black diffs are much harder to read and might produce more merge conflicts in the future.
Open edX contributions:
What’s eduNEXT?
Open edX company based in Colombia, doing some blended development work for us
They’ve been to 7 of the 6 open edx conferences.
Do we merge any PRs from any open edx contributors? Or is there some flag that identifies the GitHub user that we can take contributions from?
No, we don’t just merge everything.
Bot will greet open source users and make sure they have signed a contibutors agreement. This can be used to spot open source PRs
You should review any PR before accepting it.
What is blended development and what is the typical workflow for blended development tickets? What are edXteams'/developers' responsibilities towards OpenEdx/blended development tickets?
Sometimes Blended PRs get auto closed, and devs don’t know why?
The PR is linked to a Jira ticket, if the PR is auto-closed it might have been because the Jira ticket closed.
Some engineers are getting tagged directly on blended tickets.
You should make sure your team is aware of it and that it’s tracked on your side. Blended projects might tag you because your team owns a repo being updated via blended.
Have more questions ask in the #openedx channel
Ownership
Different teams are treating ownership differently.
Some teams are treating ownership more loosely when it comes to upgrades than others.
Is this okay?
(Product management is not fully onboarded or clear on the implications of ownership either. Awareness and confidence in plans are unevenly distributed here - Marco)
Rebranding edX.org and its i18n implications - defered till next time.