Maintenance Working Group Meeting (2024-07-25 09:04 GMT-4) - Transcript
Attendees
Adolfo Brandes, Awais Qureshi, Brian Smith, Feanil Patel, Kyle McCormick, Kyle McCormick's Presentation, Michelle Philbrick, Muhammad Qasim Gulzar, Robert Raposa
Transcript
This editable transcript was computer generated and might contain errors. People can also change the text after it was created.
Kyle McCormick: We are recording.
Feanil Patel: All right morning everybody. Welcome to the maintenance working group meeting July 25th. It's got a couple of different things to chat about real quick. Let's go through.
Feanil Patel: previous to do's
Feanil Patel: Robert I think that first one is just like we're waiting on your time limit to complete and then that checkbox is completed at this point.
Robert Raposa: Yeah, I mean,…
Robert Raposa: we could check it out. if I have been. Following up and we've got tickets in our current spring and…
Feanil Patel: We're gonna check it out. Yeah.
Feanil Patel: Okay.
Robert Raposa: stuff like that. So there's lots of progress and…
Feanil Patel: That's great.
Robert Raposa: hopeful progress.
Robert Raposa: We'll say
Feanil Patel: Yeah, I'm gonna check that one off them. So I don't think we…
Robert Raposa: yeah.
Robert Raposa: agree
Feanil Patel: Yeah, And then the next one was the Decker stuff, which I think we're talking about probably today at the Denver working group meeting.
Robert Raposa: I added it to that agendas. So. I think we should do that.
Feanil Patel: Yeah.
Robert Raposa: I don't know if we want to Quest on the Deborah agendas so that we could check it there. but
Feanil Patel: I'd say let's just leave it here and we'll sort of check back in on results next week. And then Jeremy is not here since it's not here and Kyle. I think you have started on this or you've done with sort of migrating the issues.
Kyle McCormick: I'm done. I'm going to bring it up for feedback in the mid and that Xbox one part of the meeting today.
Feanil Patel: Okay, awesome. I'm gonna check that checkbox off and for you.
Feanil Patel: awesome, and then Adolfo and I need to write up the stepper ticket, which I'm going to schedule some time for next week adolfo's so that we can sort of figure out what that means and what the next steps are unless you've already got something that
Adolfo Brandes: I don't but Me Brian and Serena met yesterday to talk about the immediate future of several frontend projects. And this is related.
Adolfo Brandes: so basically While we're on the topic, there are a bunch of slots targets for sumac. So it's not just the footer. It's also the header. And possibly some other thing we haven't discussed yet.
Feanil Patel: Okay.
Adolfo Brandes: Basically the idea is We're gonna have a priority list of slots. We want to add. And we'll try to get to as many as we can for sumac. And it starts with the header. And of course the footer…
Feanil Patel: there's
Adolfo Brandes: which is already a header, but we might want to do something about a slots and anyway.
Feanil Patel: Do you think that we should wait till sort of like that all lands before writing this upper? Does it make sense to write this up? Assuming that some we know those lots will happen at some point. And we want to be able to remove the old way of doing things. So I'm trying to understand sort of the sequencing of when to announce that the old way is gonna stop working because it feels like we should do that before we start look at you we could do that before we start adding this lot so we could wait.
Adolfo Brandes: So it depends on the way we're doing the slot for the footer. We were able to figure out a way. That Anything right is kind of ugly. So we want to improve that going forward. what the item in the to-do list was originally about…
Feanil Patel: Yeah, yeah.
Feanil Patel: right
Adolfo Brandes: but Brian can be honest, but it's pounding to me or it's feeling like That's gonna happen as part of the 65 work where we have a single front and base repository that contains. Footer header and the shell so the better way of doing that might be that and that's post sumac at least in release terms. Yeah.
Feanil Patel: got it, It's hard to have a recommendation because we don't have a good recommendation for what the replacement should be because we're still in flux.
Adolfo Brandes: yeah, at least as far as how to do that slot is concerned and there's another conversation out of the conference,…
Feanil Patel: That's it.
Adolfo Brandes: which is
Feanil Patel: right
Adolfo Brandes: and out of a previous work front and working group meeting where Kyle Wilson also, which is How to do plugins better and it's like includes them config.js syntax and also plugins owning.
Feanil Patel: but new naming
00:05:00
Adolfo Brandes: the configuration aspect of where to insert themselves in the page among other things and that's also posed to
Adolfo Brandes: So yeah,…
Brian Smith: I think
Feanil Patel:
Adolfo Brandes: this is a bit still open the air.
Feanil Patel: yeah, I guess what I'm trying to understand is When we first put this on the board there were sort of like an urgency to be able to drop the old ugly way of doing things for footer. do you think that because the new way is so much in flux that maybe it sounds like we're kind of signing up to keep the old way working longer so that when we ask people to replace it,…
Adolfo Brandes: Yeah.
Feanil Patel: we will ask them to replace it towards the thing more confident in is that right?
Adolfo Brandes: Yeah. that sounds right again, Brian. Keep me honest here is General expectation.
Brian Smith: Even if the current way is in flux, I'd prefer people to not be forking the footer as soon as possible.
Feanil Patel: Okay.
Brian Smith: And so if we can Fork the footer as a supported path. Sooner as opposed to later. I'd like to do that and…
Feanil Patel: Yeah.
Brian Smith: if there's something standing in the way of that just thinking about the footer here, right the header gets more complicated there's more to it than that, but for the footer itself, we have the foot We have the ability to put things in the footer slot. Can we push people to put things in a footer slot as opposed to?
Brian Smith: working the footer
Feanil Patel: right Even if they have the name of the footer or change where it gets injected later. That's like slot config updates rather.
Brian Smith: it gets people on the right path as opposed to continuing to have a Fork of the footer that they then need to install everywhere
Adolfo Brandes: Yeah, that's fair. I agree with that writing up with effort to the sense that we're not going to support forking the water as a extension strategy. I think we can do that sooner rather than later.
Brian Smith: cool
Feanil Patel: Okay. Would you guys mind just put it making that Dipper on your list of Deckers that I know you're already? Okay, awesome.
Adolfo Brandes: Yeah, no sure. Yes.
Kyle McCormick: or keep in mind that we Are trying this thing where we have six month grace period for anyone running master. When a Tepper is made whenever is accepted. So I'd say if you want to drop the support in six months make zipper right now.
Feanil Patel: right
Adolfo Brandes: Yep.
Kyle McCormick: And of course we can make that shorter if people running Masters say that they're all set, but that's not a given.
Feanil Patel: Okay, I'm gonna update this to do item to say Brian and Adolfo instead of me and Adolfo. Thank you.
Adolfo Brandes: Yeah. as so Brian we might as well do that for the header as well…
Brian Smith: Sounds good.
Adolfo Brandes: since it's very specific we're dampering the ability the implicit contract yeah
Feanil Patel: those are the two things, right? Yeah.
Brian Smith: Yeah, we are devouring forking the header and footer as a supported way to customize the header and footer. And even…
Adolfo Brandes: Yeah.
Brian Smith: if we only have a header slot that lets you replace the whole thing, and that is still a step above forking and that's obviously not the goal for the header, but we'll get there.
Feanil Patel: Yeah, having great that up and announce. It's that people know about it and it sounds like sumac will still support it but this will sort of pave the way for us to be able to get rid of it before take.
Brian Smith: Perfect.
Adolfo Brandes: Yeah, we expect that by sumac if you want to use plugins for the header and footer. But you'll still be able to Fork the header and…
Feanil Patel: right
Adolfo Brandes: footer to customize.
Brian Smith: Yeah, so similar to…
Feanil Patel: Great.
Brian Smith: what we did with order for Redwood.
Feanil Patel: Okay.
Adolfo Brandes: Yeah.
Feanil Patel: Yeah, and that all sounds aligned with how we want to do maintenance announcements. So timing wise it's great. Yeah, I think now is the time to make that Dipper if you want to get rid of it in December.
Brian Smith: Perfect.
Adolfo Brandes: Yeah, I think the time is actually pretty good. But December is post. release and…
Feanil Patel: Yeah.
Adolfo Brandes: it's a good time for So now we can start removing things, right?
Feanil Patel: Yeah, it'll be Christmas and…
Brian Smith: Yeah.
Feanil Patel: we can remove things. That'll be our gift.
Adolfo Brandes: That's present. Yes.
Feanil Patel: Yeah. and stuff
00:10:00
Feanil Patel: cool And that's all the previous to do. So.
Feanil Patel: Real quick.
Feanil Patel: You can tell I was mid sentence when I
Feanil Patel: was putting this up.
Feanil Patel: Ahmad from Ed Spirit has been took on basically this piece of Maintenance that is required for any. system that publishes a Pipi package
Feanil Patel: he made a pull request across all of the repos that need this update, which is that the publishing GitHub action that we use. That is the official python. it have Switched how it's doing versioning. So it's no longer using master and it's using named versions. And so he's made pull requests for that across all of the edit the open edx GitHub or so what I need is for people who are maintainers to review those pull requests and merge them within the next couple of months.
Feanil Patel: This isn't a high priority maintenance thing, but given that he already did all of the work. I think it's a really easy merge. It's literally is he changed the branch name for where the GitHub action gets pulled from and so it should be pretty fast, but I'd like to see how much of it as we can get the maintenance to sort of do because this is like a routine maintenance that somebody else has already done all the hard work for and you just need to review and land. so To all the maintenance watching this later. Please go to the repos you maintain and look for these. If you have python code new repos, you'll probably see a PR along these lines and please merge it. Thank you.
Robert Raposa: Do we have a topic thread or something that maintenance can
Robert Raposa: can Subscribe to that would get certain things like this where we could just say.
Feanil Patel: Yeah, that's actually good idea.
Robert Raposa: Man.
Feanil Patel: Would you have a discuss maintenance announcements area and all I'll make this same request there. I'll post hey this has happened. If you are a maintainer, please look at your repos and do this. So I'll post this there. So that's a good call out.
Robert Raposa: That's good. So then the thing that I should share to all my maintenance is to subscribe there. Then they will get all future things.
Michelle Philbrick: and check
Feanil Patel: Yeah, yeah. Yeah, and I'll put a link.
Feanil Patel: at gmail
Robert Raposa: Thank you.
Feanil Patel: Alright when they drop that link.
Feanil Patel: Yeah, I can post that. I don't know just three of me.
Feanil Patel: No, there's three of me in Confluence, which is not a thing I did. So now I have to go track down who added me multiple times to Confluence, which I'm not excited about. Because I mean somebody's pinging some other finale and it's not working probably.
Feanil Patel: And then node 20 Adolfo handing the reins over to Brian.
Adolfo Brandes: Yeah, as part of our planning meeting yesterday. We Shuffle around some responsibilities and Brian volunteered to take over the note 20 upgrade.
Feanil Patel: Great.
Adolfo Brandes: So I walked him through what exists in terms of issues and what the general expectation is. But I wanted to take the opportunity, especially since Robert's. Here to make sure we're aligned on what the procedure is to actually merge this to master once as mfe's become ready.
Adolfo Brandes: so I remember we discussed in the previous meeting and the idea was to of course give some heads up and right of approval or whatever actually ends up happening to you. So when it actually emerges to master they're ready for it. Go ahead and you
00:15:00
Feanil Patel: So I think our last conversation was that we'd actually try to do the phased approach, So we would be adding 20 support. now And then we drop 18 support later. The only times we shouldn't like the only time was we don't do that is when it's actually not possible to do that…
Adolfo Brandes: Yep.
Feanil Patel: where the packages can't be both 18 and 20 and that's when we should bring up those specific cases for coordination, but for everything else we should be able to add 20 without talking to you or getting their permission. We should just be able to land those changes of this is now tested on 20 and once all of the mfe's that are in tutor or tested on 20 we can tell maintenance to update tutor to be running. No 20 In terms of I think the sort of biggest complexity is like the nvmrc files. I think those stay on 18 until we drop 18.
Adolfo Brandes: So yeah, that's exactly one of the things that we could discuss for example. one of the things we could do and I actually intended to do was to
Adolfo Brandes: NCI to actually have a matrix. So 1820 so that's the first thing you do. so basically, you can do that across the board and you now have a list of mfis that work on node 20 and those that don't off the bat and then once you're ready to drop 18 you just
Adolfo Brandes: Drop it from The Matrix. And what remains in nvmrc is,…
Feanil Patel: right
Adolfo Brandes: in that case a programs. I don't know what do folks think Brian.
Brian Smith: I guess yeah the timing of nvmrc I would think. If you are generating the package lock using node 20, then it makes sense to have no 20 in the nvmrc. Even if we still are doing note 18 everywhere else. So at the point of having both 18 and 20 in The Matrix, I think it makes sense to upgrade the nvmrc 220 in regenerate the package lock and then if the Matrix is saying Yep, it's still testing and working on 18 and 20, then we can go ahead and land that already and then the dropping 18 from The Matrix PR is just dropping 18 from The Matrix. In the odd Edge case where we can't have 18 and 20 working at the same time.
Brian Smith: then we just need to wait on when we can actually land that stuff and have stuff sit around in a PR for a bit longer.
Feanil Patel: Yeah for what it's worth. I did the reverse at ex platform, which is that it's on a team but the tests are running on 18 and 20, but the package lock is generated from 18 because I found that when you move to the newer version, it's often dropping support, but the older version often works with the newer version.
Brian Smith: Okay, okay.
Adolfo Brandes: So I just dropped in an issue there with an example issue of what the original plan was, which is first task add note 20 to the CI Matrix and there's an example PR for front and…
Brian Smith: Yeah.
Adolfo Brandes: template application. So that just adds it to the Matrix. package lock regeneration. and then in the second step, that's when
Adolfo Brandes: Wait this when you're changing vmrc and presumably update package lock as well. Up. So people have their hands up. Sorry Robert.
Robert Raposa: I just want to check cuz I'm not. So it is that last not but that's step of changing package laptop. Json that is going to be a backward incompatible change not. right
Feanil Patel: potentially
Brian Smith: potentially
Adolfo Brandes: potentially
Robert Raposa: I think just Knowing when you're hitting a backward and compatible change and that is when people need time and preparation for it, everything that is not backward incompatible is do it on whatever timeline you wish and then that is requires coordination with people to make sure they're not breaking anything.
Feanil Patel: Yeah.
00:20:00
Feanil Patel: Yeah.
Brian Smith: yeah, so nvmrc dropping note 18 tests and a package lock.json Can all happen at the same time that can be one PR?
Feanil Patel: Okay, Yeah, and that happens in the future, but Unless we find that we can't ask node 20 tests. With our current set of settings.
Brian Smith: yeah, which I wouldn't be surprised if we hit that on at least a couple mfe's…
Feanil Patel: Yeah, I expect to hit it in a couple places,…
Brian Smith: but we'll
Feanil Patel: but I was surprised when the edx platform node upgrade. I was able to do the thing. I'm describing. So I'm curious if we can do it that feels like a much more.
Feanil Patel: sort of Coherent way of doing it where we don't have to coordinate with a bunch of people because once we get everything running on 20, we can start shipping that for tutor and then when the six-month time Mark hits we can drop right and Robert and to you folks can be aware of all of that stuff Via de peppers and
Feanil Patel: Can plan their changes independent of us.
Adolfo Brandes: So this is a situation where? The cutoff is in three months or for the next release by that time. less now. and We want to be on Note 20 by then, but that's the fine Beyond note.
Adolfo Brandes: Got that compatible with the notes 18 Decker. right
Feanil Patel: Yeah.
Feanil Patel: So the node to me. I think for the open source Community we want to be able to run to run tutor on node 20 and have all of the mfe's and even the Django apps that are running To be able to run with no 20. So that everybody can be on no 20 by default in sumac That doesn't mean it stops working with node 18.
Brian Smith: okay, so even if we are still on nvmrc note 18 package lock but we have no 20 in CI. To verify that it will continue to work on node 20 and tutor uses node 20, then we're an okay shape. Yeah.
Feanil Patel: Exactly. And then in just something in December January, we'd hit the six month Mark and whether or not to you is prepared for it is the theory we can merge the removal of the node 18 stuff at that point. and the theory is that gives us them enough time to transition to that independent of the open edx releases
Brian Smith: Yeah.
Brian Smith: We got cool.
Robert Raposa: and the two additional details on the Decker process one is I think this the six-month mark not from when the door is announced, but it is the available Future update is there so once node 20 is actually available. It's six months from there. I think
Adolfo Brandes: I'd say it's from the dates that Dapper is accepted, right?
Kyle McCormick: Yeah.
Kyle McCormick: The pilot we're doing is what Robert said.
Adolfo Brandes: Okay. All right.
Robert Raposa: right because
Robert Raposa: right
Robert Raposa: because if you announce today and…
Feanil Patel: but
Robert Raposa: then wait six months to actually land having no 20 available and we have one day to
Feanil Patel: Transition. Yeah.
Robert Raposa: Make Transition. So the whole point is to have six months and what Kyle said earlier which is hopefully we don't need six months, so it's not the six months is just as a right.
Feanil Patel: It's an upper limit. Yeah.
Robert Raposa: happy to to work with this and work this Arby bomb and work with our different teams and see how quickly we can actually get onto the 21st is available, but You can.
Feanil Patel: Yeah, I think they're pretty ready to accept it. So it's just a matter of being available. And in the side chat. I put the edx platform Dapper for node 18. If we move a bunch of MFE sort of within a week of each other, we could probably have a single Dapper for all of those mfe's.
00:25:00
Feanil Patel: but Yeah, I think probably making a separate ticket for each time. The time difference is significant. It might be interesting Robert to sort of ask the question of
Feanil Patel: If everything is available within a month of each other, can we sort of combine that into a single ticket and a single date?
Robert Raposa: yeah, I don't think there's any hard and fast rule so I think we
Feanil Patel: we can try that and…
Robert Raposa: We'll figure it out.
Feanil Patel: see how
Feanil Patel: Yeah.
Feanil Patel: okay, and with that at 9:30, so if people want to drop From the meeting. We're going to sort of start talking about edx platforms specifics.
Robert Raposa: quick note and…
Feanil Patel: And yeah.
Robert Raposa: this seems like so I don't know but attendance, I mean, so I don't know if It's a bad time or if there wasn't communication or if this isn't right, but I feel like we used to have more attendees or maybe.
Feanil Patel: Yeah. I'll announce it further next week and…
Robert Raposa: Just note on.
Feanil Patel: if we can. get it back up because I know last week Tim was confused and it is also we're moving into August between Europe is going to be busy. being on vacation
Robert Raposa: Do that.
Feanil Patel: So we're in vacations and also yeah, that's a good call. I'll do a pre-announcement for the next couple and see if we can make sure everybody's aware.
Robert Raposa: Yeah, and we'll see if people join for the edx platform one and we can remind them.
Feanil Patel: Yeah, exactly that they're in the wrong way. Yeah.
Brian Smith: cool
Feanil Patel: Thanks all.
Brian Smith: Yep. Thanks.
Kyle McCormick: Thanks folks.
Feanil Patel: And before you go if you need help or any of the coordinating or process stuff, please feel free to use me as a resource for that and can help out with some of the tooling I built up around the python upgrade.
Feanil Patel: That sounds good, but
Feanil Patel: Okay.
Kyle McCormick: All right. no, Robert. I don't get to see your visceral reactions to next platform architectural roadmap Just have to keep me praised.
Robert Raposa: and now I'm happy to come on video so you can see my face of Art. I'm looking for.
Robert Raposa: it's
Kyle McCormick: Yeah, so some context for this that. Everyone might be aware of but I'll say it anyway. There was a Google doc a while ago. That I had drafted called big change Aesthetics platform is mostly my brainstorming, but then my team came in and a lot of items and we decided to be good to make this a road map of GitHub issues rather than a Google doc So here's that roadmap. It is a draft. It has several things that are already GitHub issues some are already in progress. It has some things that are just items because they're a little up in there. And I've tried to break it into categories of benefits such as making it smaller making it faster. Is your configure?
Kyle McCormick: There's this big pile at the bottom that just make model store go away, which I know is not an end benefit.
Feanil Patel: it's
Kyle McCormick: But all these things did tie together and happen to have all the benefits of the things about so I'm still trying to figure out how to communicate that maybe labels would be a better way to organize these but specifics aside. I'm really interested to get feedback on this. I'm also interested in.
Kyle McCormick: High level feedback on what do we want? the goals of this to be so if you look at the things in capital letters, those are kind of the goals that we'd want from investing correctly in edx platform than starting from the top make it smaller both in terms of Maintenance burden, but that'll affect build size as well. Making it faster performance wise. Making it easier to integrate. So that's plugging author is people writing AP HTTP API Integrations. And making it more sense for internal Developers. And then model storage just feeds into all of those. so I guess the first question I'll post to folks is do those categories make sense. Is there anything that seems missing?
00:30:00
Robert Raposa: and the resiliency
Robert Raposa: Make it.
Kyle McCormick: resiliency
Kyle McCormick: There's gonna take notes Here.
Robert Raposa: and then
Kyle McCormick: Do you think that would be a top level category make it more resilient for operators?
Robert Raposa: the potential
Robert Raposa: they have Quickly go back over your topics and see it. There's another place where that already makes sense, but it
Kyle McCormick: I think there might be some issues but I definitely didn't call that out in particular. Can you add some detail on specifically…
Robert Raposa: Muhammad
Kyle McCormick: what that might be like serviceability or?
Robert Raposa: Yeah, I had. Some ideas and that's still haven't made it here. Let me just see if 999 notes around us. They