 Welcome. This is documentation office hours for the Jenkins project. It's the 15th of April, 2022. Thanks for being here. So, topics I've got on the agenda news, and then a discussion with Sahitya on where do we want to put the upgrade instructions, then a brief status report on she code Africa. On Google summer of code, and nothing to say on open PRs, Meg. Sorry, I still have any other topics we need to put on the agenda. No need to apologize. That looks good to me. Okay. Sahitya, anything else that you want to add to the agenda other than the upgrade question. No, I think this is pretty much. All right, well so then, then let's let's go through it by way of news we've got the LTS 2.332.3 release is coming. I think it's about two weeks, approximately. And so I volunteered us to do a change law, the change log and upgrade guide, and discussed it today in European docs office hours with the release lead, Alexander brand us, and he was great with us being the doing the update. So, or doing the change log. The other piece is that localization is improving significantly. Thanks to a donation by crowd and enterprise. They are a translation translation support software. And they've granted us an open source license. And Alex brand us has been showing us how to use it. And it's working very, very smoothly it's much easier to use than than the much better than the existing way of doing localization uses a web user interface has translation dictionaries. It offers machine generated translations as suggestions, then you get to choose pick and choose which one you want more than one versus the other. Cool. All right, and Gavin welcome and Kristen welcome are there any we've gotten. I have one quick question about the LTS this is the one where the agent to controller filter is no longer configurable from the UI. No, I think we did that when it's already the dot one it was it was out a while ago so this one is a minor change on the change log and upgrade guide. Okay, just going to say that's covered in the PR the security stuff. I don't know what they did because it kind of remind it required a little bit of restructuring to get it so got it. We're going to have fun probably merging so so okay. Okay, upgrade instructions. All right, so, so he has interested in working on this issue. Yeah, and I raised the open question. So what we've got is is our install guide doesn't have any instructions on how to perform an upgrade. And that's, that's a glaring gap, and we've had several examples of people who were using the wrong techniques to do upgrades. So we really should give hints about the right technique that went on Windows, please use the Windows installer to do upgrades when on Linux please use the Linux package manager to upgrade if you installed with the Linux package manager. However, the complication here and this is why I brought it to Docs office hours is where do we put it. So, so here's the here's the question to you as a group, we could put it in installing Jenkins. We all right let's put it this way we could put it at the top level. In installing Jenkins we could have an upgrading Jenkins with sub sub sections for Docker for Linux, etc. That would probably give us the deepest coverage of it in terms of expressing how to do each of those. We could instead add it as a an addendum as additional information on each of the installing because installing an upgrade or sort of tied to each other opinions, comments, guidance. So your second option this this section would be installing and upgrading Jenkins. Yeah, we could. Yeah, basically, that's a good way of phrasing it we could, we could rename installing to be installing and upgrading. I would really like to see if we if we combined it just to be able to when you're searching for or you're looking at it going to the handbook like if I was a new user and I clicked on it, I would be like where's the upgrade. I wouldn't necessarily know to go to look at the sub page underneath installing if it wasn't. What is what's on the installing both so than the installing page for all of you, it needs an intro that points to what's in here and tells you what you need. Well and and we would put it as a top level to take that. Yeah, there's installing on Linux Mac OS etc accessing the container post install setup wizard we would put another top level section here upgrading Docker upgrading to new versions of Jenkins and Docker. Likewise for Linux we would add probably for each Debian fedora red hat etc upgrading as a sub bullet there. Not much to say on war files but conceptually, and then for windows it would certainly be, I would assume there would be before the troubleshooting. After the post install setup wizard. Does that does that seem okay to everybody if we do it as installing I see is because the method you choose to install Jenkins is going to affect your upgrade options when the time comes. Yes, I'm thinking when I'm deciding how I'm going to install I might like to know that that if you do this you're only going to be able to upgrade but in this way or whatever. And that is that is certainly correct. You're right by choosing a particular upgrade install method, you have chosen your upgrade method. Yes. Okay. Does it work for you so let's go back and look at it wait a minute let's let's play the other one. What I see also is so you're going to add it's going to be Docker and then upgrading Docker and installing Docker upgrading Docker installing Kubernetes or installing on Kubernetes. Right. Okay, so it's not well see installing on Docker. This one is each of these has complexities right so the Kubernetes page, there would need to be an upgrade section for installing Jenkins with helm installing Jenkins with YAML and installing with the operator. Well, initially they'll, they won't exist right right you will create upgrade sections, I assume one at a time and a poll requested a time with the first target being Linux. For me that's the one where the most people have made mistakes. Okay. So, and so he did does that work okay for you if you focus first on. Okay. Now my slight concern is that this is a pretty long list under installing Jenkins now. And we're talking about potentially making it twice as long. No no no because the content would be inside this Linux page. So we aren't doubling this. Oh, well I thought you said we're going to have installing on Docker or installing on Linux upgrading on Linux. Well, so was it going to be inside the table of contents here over on the right. Okay, so the table contents on the left stays the way it is. At least that was my assumption is we keep the, the, the contents list on the left exactly as it is so when I navigate on the left, I choose my platform. Okay. And then the details of that platform are entirely in this table of contents on the right. Okay. Yeah, I was trying to figure out some way that we could break that. But what's the old rule of seven that a list shouldn't have more than seven items you need to then break it up and subdivide and we're already nine. So, okay, so that goes away. There has been a number of people who have attempted to upgrade inside a Docker as well. So we don't need a full section but it would be nice to have a big warning that says, don't do that. Right, right. Yeah. I don't you were a fun person Gavin I guess you're not. I'm fun, but I have to support those people who do that. That's not fun. And gently tell them they're idiots. Yes. Okay. I stopped. I think Mark's still being polite about it but I've stopped being as polite about it. Well, and Gavin's right we have had users who said, Hey, I replaced the war file inside my Docker image. Why isn't it behaving the way I expected. And the answer is because that's not how you do upgrades in Docker images right that's the wrong way to do. You read that you're like, Why, why would you do that. What would ever possess you to do that. You know what, I can see the logic to it. I actually can. Oh yeah. You're not a super Docker, you know, and we forget some I'm, you know, I'm looking at another docs and we forget that not everybody knows this stuff intuitively so right now, which is why we want to write an upgrade section. Yeah, I totally get the why they can do it but you're sitting there like, you have to go out of your way to try and do this this is a lot of work and you somehow manage to do it and then it breaks. I actually get that far. Actually, there is something though if I'm running Jenkins and Docker now, and I want to upgrade. I make a new Docker container which is a fresh install. Now I keep from losing all my Jenkins stuff by using a volume. Yeah. Okay, but this accessing the Jenkins home directory talks about how you do that you use, use a volume. So, there's, there's a sense that I say once I install software, I'm never going to reinstall it I will just keep upgrading it because I want to keep on my stuff. Right sentence or two could educate people so they'd stop doing things that we know are stupid. Yeah, okay. The strange thing is we haven't had anyone complain that their configuration gone away in Docker. They have repeatedly had the issue in helm, but that's in communities but that's a different issue. Right. Right. So, so it's, yeah, good point. So I'm taking from this that the decision would be step one in the installing Jenkins on Linux page underneath the Debbie and Ubuntu LTS weekly install Java, then a separate a new section that you're upgrading and it tells them app get update app get upgrade or this upgrade I forget which one it is but it'll be the the correct thing for that platform and that's the upgrade instructions. And it may also have words that say do not do it this other way, the wrong way. You can even do it positively. Um, but it's going to mean now the tape be so the section becomes installing and upgrading Jenkins. Right, so this thing would get renamed from installing Jenkins to installing and upgrading Jenkins. And then I was thinking we have to do the others but no we, we don't have to make install and upgrading on Linux we don't have to make them all because we've made the whole section yeah. Right because the section still is Linux. Right. And I actually, I think it would be nice. Um, while you're at it so you take a look at the, the index file for this whole section. And you might, I don't know maybe that's just me but I like if I open that give me a little tour, a very high level what's here what where do I want to go for this. Oh, you're saying in this on this page. Yeah, some more some more guidance. Right, I don't know. Worth considering it. Maybe it may be sometimes I like links to other the other sections but you know, you could group it. Okay, and it might be you decide that what's here is perfectly fine I'm not saying it's not I haven't really looked at that carefully. Alright so I think I'm ready to record the decision the decision is rename installing Jenkins. In order to make it fit on a single line it may need to just be installing and upgrading. We may need to drop the word Jenkins from that. I don't know why we're using install I wish we could just install and upgrade to but apparently that's not the style. Oh well but it's a good question. Why not. If we switched from install switch to to install and upgrade it will better it will fit better. Yes. The only section with Jenkins right could it just be install slash upgrade or install and upgrade. We've got my favorite that's using Jenkins. Yeah it's like we got it in a couple of but I think what Meg was also saying is that there's a lot of ink. Yeah, so we would be the only one. But we could start fixing but managing Jenkins is too long. So cutting a, you know, we cut to that securing. Right. Yeah. Just before I go back to starting dinner. I want to avoid someone saying run this upgrade. I put in chat but it's it's essentially it will tell you to upgrade your entire system every package you have on there. So don't recommend people do that because they could have side effects just tell them the APT install Jenkins again, because that'll grab the newest version and update it. Oh, so you're saying see and I actually have strong preference to always upgrade everything. Interesting. You and individuals totally agree with us as a community telling someone to upgrade their entire system and install all new packages, not a favor of. I see okay so so the goal is to guide them to upgrade only the Jenkins package with the package manager. And failing that use upgrade not this upgrade because this upgrade will upgrade things that are less safe and it will just do more safer ones, but I would say just specifically target, like upgrading Jenkins. Got it. Okay, good point. All right. Yeah, that could be nice wisdom to put in the index file. Yeah, I mean, those are good little like thought bubbles or side notes but I wouldn't like say hey, do the whole thing. The next thing you know you have someone running sent to us, you know, 6.3 for some reason, and then we tell them to run upgrade and they, for some reason upgrade to send to a seven and break everything you know we don't ever get in that situation where we're like, but I follow your instructions and now you broke everything fix it for us. You know, right. But that's the place where you can say because just sharing the understanding that it's not a don't do it there are times when you might want to upgrade individual packages. I would definitely not say don't do it this way but this is just like to maybe even just a sentence of to only upgrade Jenkins make sure you run this command or something like that just put a prefix in to make sure that they understand. They can upgrade however they want but this is our suggestion. Right, but and you're mentioned to have, because if I get upgrading I might decide hey it's a good. I think I've seen that someplace. It's I'm upgrading any how let's upgrade my operating system. A lot of time I've seen people recommend don't upgrade a whole bunch of stuff at once take one. Yeah, that's definitely my recommendation but not my so do what I say don't do what I do because I will update everything constantly all the time in one large batch, but I don't recommend it to anyone. So this is just the thing I mean because a phrase that I've I've gotten into stuff to where I've been between two sets of people who feel avidly that you must do it this way and you must not do it that way. Yeah. And so you can say something. Some people say such and such other people, you know, positive that something else. It can all be written and I think it makes for a much better documentation it's a better experience for the users they learn something. I agree. My concern there is that I don't want to be like giving them one to Tibet and not enough information and then get them in trouble. So if we said hey, you know, do a PT install Jenkins that'll give you the newest version to do upgrade all your packages follows about to guide or as follows digital version guide that actually has in full detail with descriptions and that way you know you don't duplicating you're not maintaining because we have a lot of documentation Jenkins and I don't want to do like a half as job and get someone in trouble. Yeah, but I'm not writing the documentation so I'm just throwing out the notes and not I'm not telling you to do it this way. Yeah. Great. Anything else on this particular question. Does he like he sees a good path for no comfortable. No, no, no. I think this is pretty much good. Okay, so add, add the upgrade sections upgrade section to each location and and for so start small. Add to just one Linux and submit the PR so don't don't delay submitting it let's get little little steps and each step that way we can tune and refine and be sure we've got agreement on. Yeah, that's the right thing to do. Yeah. Great. Thank you. All right. Anything else on upgrade instructions and I want to ask one question that this page is written in MD file or HTML. So while adding this documentation so it would be helpful for me. It's actually written in ASCII doc so it's it's a markup language. Okay, it's got interesting similarities to mark down, but isn't marked down so yeah you'll be able to find it. The way you can find it say, say actually is go to the page. I'm going to zoom in here so it's visible so this one. And then at the bottom of the page. This page takes you right to the location in the source files. Okay, so so that gives you a place where you can make now. I'm not sure I would I would not recommend doing your editing in the GitHub editor. But this at least takes you to the location so that you can make those change, you know where to go in your local copy of it. And now if you need to get a development environment set up refer to John Mark Mason's tutorial in an old Docs office hour doc old Docs office hours on get pod.io for Jenkins.io dev. So he gives a nice tutorial that lets you use somebody else's computer to do the development with inside of a visual studio ID or anything else. No. Okay great well thank you for being willing to contribute we look forward seeing pull requests. That's great. So I think you had arrived and you're as you would arrive with any topics you needed to add to the agenda, before I just continue running through the agenda. Nothing from my side I was just wondering what about the upgrade guide that you mentioned on good channel. So, oh, that was this topic. The change the for the new and the new LTS. Oh, sorry. Yeah, and we talked I discussed it with the release lead during the Docs office hours Europe time, and it's a fairly small thing, maybe six or seven changes is all the upgrade guide has is a no no relevant topics for upgrade. So, I'll draft it and I'll copy each of you and invite you to review it. Sounds good. So nothing else from my side. Okay, great. Thank you. I just showed up cuz I'm free and tell your message in my case seven has come. All right, well thanks for being here. Okay, so she called Africa contribute on has started the screenshot update project. The inclusive naming project, both could you could benefit from help from the Docs office hours from Docs. However, it means we those that help is needed during Africa, Africa working hours and end of day and and for people in India that's that's really a tough time. So, I'm the night. Yeah, pretty much. So it's 1030 11pm typically your time. What sort of help do you need. Well, so on the screenshot update project what they're doing right now to get started is they're looking through the documentation finding the locations where screenshots need to be updated. And, and I expect they'll then run into bumps where, hey, how do I get Jenkins into this state so I can see this screen. What are the, what are the steps I need to do to make it get there. And that kind of coaching will be basic Jenkins user coaching how do you do this to get there. Inclusive naming project this one is about them looking for the words master slave white list and black list and removing those in places where it's safe. And there the challenge is we've got to be sure we coach them away from places that are unsafe. There are APIs for instance that use the word slave that simply cannot be changed. Right there they're not we're not ready to embark on that. I've given them guidance to say look first do HTML files, you can almost always make a safe change in an HTML file. Second, jelly files you can mostly do jelly files safely. Third strings inside Java files but there you've got to be extra careful. So there it's it's mostly coaching about what things not to attempt to modify. If they want to help getting Jenkins in a current in a specific state, and no one else is available. They could post in the forums and I can give it a help I'm just not up for joining another slack. Okay, that's, that's okay good. And I like the form a little bit better because it's big in public so that if we later need to be like hey how did we get there it's recorded. But you say you're not willing to join slack so so that probably locks you out because in Africa I've had real difficulty getting them connected to get her and using it consistently. I was thinking that the forums, but yeah I just like I can help if they got stuck and no one else can answer then yeah they can jump in the farms in my hours are usually not the best for them but they could you know if they're stuck they can do that. But yeah I can't commit to many times or periods or something like that. Good. Okay I see your point it's that they could use community dot Jenkins that IO forums. Yeah, to ask a question and that then has the benefit. Yeah, very good okay so that's one we can refer them to. It's a good fallback. Yeah fallback is the right word. Yeah, if they can't, you know if if they aren't getting fast response. That's the best thing in the slack channel and the slack channel. I like that very good, because what that really does is broadens the question to a larger group. Excellent. Okay good suggestion and the concept of asynchronous communication. Right. Yep. Which we all need to be better at but especially if you're living in a area that doesn't have a huge tech community so. Okay the pipeline help project this is the same project as last year. Trying to learn from our experiences. So it's fewer fewer people more mentors per person. Sorry the banging you here is my niece, or is my granddaughter. I wondered if you had company for the week. Hello. What's your name mark. This is Jordan. Hi Jordan. You can't hear anybody but me. Go find grandma sweetie grandpa just broke something. Somebody. Okay, sorry. So back to the back to the topic that's what I get for playing when I should have been working. Do we have the owners of the plugins tuned in. We do not have them anymore tuned in than before. We've got more plugin owners because our adoption rate is going up, but but we'll still have to do the same negotiation to try to get things merged. Cool. Yeah, sorry. Just fewer fewer contributors instead of five contributors on this project we only have to. Okay. Also the officers are weekly or bi weekly. Now they are once a week. And we may, we may switch to twice a week when the project starts right now we're in community bonding. So we're in the period where they become familiar with the project they do some small prototypes but they haven't actually started the work. Any other questions on she called Africa. Is it going well. I think they're okay with it and I think they're, they're not, they're not grumbling badly. Any other questions or topics for she called Africa. Not really it just I can try joining the meeting, provide the help if I can. Okay. Yes, that's all. So I'll, I'll add you as an invite, invite to the meetings to the calendar events, and you're welcome to drop in if you can do Raj and if you can't understood. Yes, thanks a lot. Oh, and, and Meg, congratulations, will you have a project manager as well. And she's doing doing good stuff already. So the proposal we had to ask for a project manager we got one fabulous. Yeah, so and it's, it's working well. Great. Okay. Next topic was Google summer of code. And I'm sorry to say that I still haven't done my reviews so I am now overdue. But due date is still April 19 others I think have done theirs but I'm the I'm the terrible one here and haven't done mine yet. What do you do with all your spare time. Exactly. That's the question. Any other topics. I'm, I'm going to leave the hot one off open PRs because I don't have any kind of a good story to tell there any other topics before we close. No, nothing from my side. My main one was to remind you for a reviewing, but that's fine. Oh, reviewing for GSOC. Yes, fine. Very good. I appreciate that you Raj. Thanks very much. Yeah, that's all right, then let's call an end to today's session. A recording should be available in 24 to 48 hours. Thanks everybody much appreciated for taking the time to be with us. Thank you.