 Welcome. This is documentation office hours. It's the 25th of May, 2023 topics for today, the international and internationalization and localization pull request from J. E. Chan. The upgrade guide that's for the release coming next week. Kevin Martin's unavailable and oh we need to change this one instead of April newsletters published. May newsletter needs the writing or submissions. Right. And then other topics stocks transition. G Sock, I think we may have nothing to discuss there but we'll test it. But I think G Sock is a good topic and then the pipeline steps reference just remains a reminder and of life and end of life are just reminders. Anything else Bruno that you want to add. Maybe but we could keep it for another meeting. I was thinking of discussing update CLI for Jenkins IO. Oh, oh very good. Okay, update CLI on Jenkins.io. So for documentation content. Yes, indeed, because, um, yes, we'll see when we will address a point. All right, well so let's put it I want to put it high on the list because I think it's an interesting topic. Good. All right, anything else you want to add to the agenda. No, thank you, Mark. So first topic then internationalization and localization pull request from jhn so this pull request has a long history. What what the submitter has done as picked up a pull request that we had had initially started some from by somebody else but it stalled out because it just didn't get didn't get attention from the submitter and didn't get attention from us. And they went away, but this person has retrieved it again and said, Hey, let's try it. So, so what this does is it provides us an update I wanted to show this preview site of the pull request okay so what this is the internationalization and localization top level section in the developer documentation. It says it's a work in progress. Yeah, what it did was added a new section in there called internationalization and localization with details of what are the tasks that developers perform. And what are the tasks that translators perform. However, this the sections that it's adding like generation of message classes and making mess marking messages and jelly files are already covered in other places like internationalizing messages in Java source code and in jelly views and in groovy views even. So I think we've already got the content. And this content because it was copied from the old Jenkins wiki wiki is actually worse than the, and the new content that's on the site. So it, it isn't this current, right. It I think the thing that's been retrieved as a good step, but it's not as current as this description is. So, so that was one of my alright, but there are things in this page that are absolutely not mentioned anywhere in the current documentation for example, I learned something new by reading this. I've been doing plugin development for a little while. And yet this pay this section was entirely new to me. I had no idea that this command existed. And that what it did, and how it's helpful. So, so I want this command to live in some documentation somewhere I really do. And, and there are other things like that where there's no place that describes how you translate HTML pages. So for me, I think those were good, good things to get from this poll request but I'm not sure that we want them in the location where jhn has proposed them. Yes, and it always it's with the same title to top it up. Right, right, which makes it sort of makes it a little unclear. Now there's another complication here that we've also got a tool that supports translation and oh it works well when when it's enabled crowd in supports translation very nicely. Right, and Bruno I believe you've had experience using crowd into submit translations for strings. Yes, I'm still using it for whatever lookable resource plugin. Right, right exactly. And so when it's enabled for relatively few plugins they're only 12 or so, but when it's enabled, it's much easier on a translator than the process that we describe of edit a file create the file if you need to submit a poll request, etc. This is this batches them together does a much better job. So what I thought was what if we, what if we combine the localization thing and that crowd in with a little more content for crowd in into something that looks like this. So here we've got the internationalization and localization, and I moved the content to the top level page. Yeah. And then go ahead. Sorry, that makes much more sense. Yeah, this way. Now, because the developer tasks were already described but I wanted them enumerated. I thought let's put the numbered list of this is what plugin developers have to do. And this one links to the Java source code one. This one links to the jelly views when I did not link to the groovy views when because this one the groovy views and says we do not encourage you to use this. Yeah, of course. And so no encourage people using groovy. I'm not going to put a link there for groovy views, but there's one more enable crowd in translation plugin support. Yeah. I'm not aware that crowding only works for plugins and not for Jenkins core. We haven't yet done the, the significant work required on Jenkins core to allow crowd in to work on Jenkins core. Yeah, and as far as I understand that there will be significant work because Jenkins core is a multi module Maven project and I'm not sure that crowd in that our crowd integration is ready for multi module. Yes. Sorry if I did not make myself clear I didn't want to put crowding for Jenkins core just to write it somewhere in the documentation that you can use crowding for plugins but do not try to do something with. And there it's it's actually stated here. Oh cool. So, so I agree with you that message I think I think you're exactly correct. What I said was translators can contribute to plug in localizations through crowd in after they've enabled it. Translators can contribute to Jenkins core and plugins not registered with crowd in by filing pull requests crystal clear. Yeah, well thank you the thought was, okay let's make it clear to people that really if it's available you should use this path. It's the easy path, but it's only available for a small set of plugins for the and it's not available for Jenkins core for them you have to use this path. Do you think that's okay as a as an idea of how to present it. I think it's much better you know cherry picking what's interesting in the existing pull request and making something new that makes more sense with a menu for example it's much better. Yeah. Okay, and now the next thing that I did in this in this draft idea was the crowd in oh I should show another thing right so internationalization and localization previously was listed as a work in progress. Yeah, it has disappeared. And, and that's gone now because I feel like this is well enough described to say that it's no longer a work in progress. There is still something that bugs me somehow is that the Jenkins crowd integration is not part of internationalization and localization in the menu on the left. I don't know it's, you know it's a subject all by itself but it is linked to I 18 something or yeah. It is good point so so we could my reason for leaving it as a top level entry like that was that I didn't want to have to resolve broken hyperlinks that might point to it. I think you're right. Ultimately, it really is. I guess for me it was a marketing choice to say hey let's leave it top level at least for now, in order to encourage more people to use it. Yeah, it will already be better than the existing documentation so all right. So, so Bruno I gather, are you generally okay with this idea now. Let me show you some problems first before before we say yes or no. So here's a problem. This problem is that general I spelled it wrong spelling error so fix that. But here there are three segments missing content. Okay, and I need I think I can grab those. Some of those I can grab this content from what Jay Chan wrote this one I'm just going to have to describe how they do it. And it's not that hard to do it's just okay have to describe it and be sure it works the way I describe it. I think it's as much as simple as doing LC underscore all equals something FR, you know, et cetera, and Maven HP I colon run, but I have to check it to be sure. I have no idea. Okay, and for the last one. I think there is somewhere something that we could could be based modify and exactly we've certainly got well we've got instructions for this because I can just steal the same text from the, from the developer developer guide that does the improve a plugin tutorial. That was my idea. Yeah. Yeah. Okay, good. So, now, now to the big question. Are you okay with this concept. I think I've got approval from Jeremy Chen from Jay Chen to do it. Let's let's read his the comments from Jay Chen first. Okay, so I asked the question. Hey, I submitted my ideas here. Okay. And this got a thumbs up. So I think that's an okay, and an okay thanks so I think I'm going to go ahead and push, do a little more work on mine and then push it on to his pull request, so that his pull request is as a bigger pull request. And my concern was, I wanted the contributor to feel that he's part of that so if you commit to is, yeah, that's perfect. So that he becomes a real contributor for Jenkins also well and it correctly shows that Jeffrey Chen is the one who did the work. He's the one who started the, started the, the, the pull request who brought it back from stalled and and did the initial gathering so he will be listed in the change log as the person who did it. Yeah. Cool. Great. Okay, so you're okay with that. Of course, it's a much better. And thanks to Jeffrey chain to restart this tail. Great. All right. Mark to submit to finish his additions. Push to Jeffrey's branch. Great. I will do that. Thanks. Okay, next topic using updates CMI on Jenkins that I okay so describe the problem. And let's let's so that people who watch the recording have a concept of the problem. Yes, I've sent you a link into the chat if you want to visit it. Okay. And I'm afraid it's your work. Oh, okay. Nothing wrong with that. I was just feeling bad, you know, but because that kind of PR doesn't look like from at all. I'm just a beginner user of updates CLI so I don't know much about that anymore. First time being sorry, but when I saw these PR that Damian sends me Damian to portal and said, oh, we may do something about that because it's not funny at all to do that kind of PR it's boring as can be. I don't know I've never done that but I imagine. You don't have to say but anyhow, so I made a few tests and unfortunately for something it doesn't work because Mark these files have changed in this PR and now for example we are using blue ocean without any version. Darker Rockflow without any version. So noted to keep them up to date with update CLI, but I find a few of the files where we are referring to node gs opine docker image for example and so on so there are places where we could benefit from update CLI. So it's just an idea I don't have a proof of concept to submit for timing I don't have the PR ready but I'll have it ready by next week I hope. And maybe we should discuss it with a community or not, because I made a quick search and didn't find as many files as I had imagined beforehand so I don't know you're the one who does that kind of thing. Could you tell me anything about that the frequencies amount of time or anything if that valuable or am I losing my time. I think it's very valuable because there are plenty of examples of samples that use an explicit version number and that version number is inevitably out of date. Okay, this one has avoided using a version number but what that really means is it's now doing a non best best practice. Right, that's one of my points. Yeah, right, it would be much better if this called out an explicit version number for the node LTS, but that it stayed on the LTS version of node and updated periodically that that would really be, I think a useful thing for readers they see. Oh the Jenkins project knows how to do versions and they don't just use the easy out of use the an unversioned number. Let's, let's make it real. Yeah, I'm repeating myself a lot, but friends don't let friends use latest. Exactly. And, and that that example there isn't particularly calling itself latest, but it's still actually latest right nonetheless. Yeah. So, so when when it says oh it's LTS. Well, LTS is really great but LTS is just another way of saying latest. Yeah, so I think, I think it's a great idea. It's Damian's idea but I'd be glad to start something about that. Yeah. Great. And I think, I think that I can see nothing but positive from that. Could you know I wasn't sure about that. Thank you. Great. Anything else? No, Mark. Thanks. For me, there's another benefit hiding there. When we have version documentation, which we will someday. Right, because Google summer of codes working on it. The old versions will show the tool version that was used at that time. Interesting. So, so there's some benefit to there that for me it's oh, okay when when Jenkins 2.332.1 released, we were using no JS this thing in our demonstrations. Not that's great. Good. All right. Anything else on the topic. No, thank you, Mark. Okay, next topic then is I'm behind schedule on doing the change log and upgrade guide. And Mark completed it's not a hard task it's just got to be done and it takes an hour or two to do the extraction the review etc. Bruno I'll ask for your help. Of course, would you be willing to review it. Sure. Great. All right. And what I'll probably do is if I haven't finished it before Docs office hours Asia, I'll use Docs office hours Asia time to do it, because then I've got Meg McRoberts and Chris Stern who may both be willing to assist. Okay. All right. Anything else on on the change log and upgrade guide. No, thank you. Okay, Kevin Martin's unavailable until June 12 he shared with the, the Jenkins governance board that he's out we're going to delay the Java 11 to Java 17 documentation transition while he's out. That's not that harmful because Debian 12 release is in June sometime. Yeah, and I think it's likely late June. I think so. Yes. And the date is not really precise. Right. I read. Yeah. So, so therefore we're not we're not at big risk right now. When Debian 12 releases, there will be some people who will use it and they'll be frustrated that the Jenkins instructions. Don't tell them to use Java 17 but small group compared to the total set of Jenkins users. Of course. All right, then, let's see what else. Oh, next topic main newsletter that's just a reminder. As a board member I need to do some Bruno you're still going to create a whole request right so. Great. All right. Let's see and this one. Anything you want to report there so so you're working the Docker quick start project with Ashutosh. Yeah, and we're still into bonding period for false time being people people contributors are working on the bio the first blog post the project description page and so on. So we're progressing slowly we have just a couple of hours earlier today that went fine. No blogger, whatever so everything is progressing. Some groups I've already started coding. I know it's very frustrating doing only ASCII doc and you want to put some code so some of them have started and it's doing is going well. So nothing but to share. Great. All right. And let's see so anything else on Google summer of code. No, no all these going well. Okay. Pipeline steps reference damage, no progress there and no change expected end of life notifications at the poll request is no longer draft. The poll request has now been approved and we are in the 24 hour clock. Ending so so. Oh, it's already. It's at the point where we can merge it so we're going to merge it now. Cool. Because hey, it's got four approvals. Two of them are core maintainers. And I've got. Yeah, it's me sorry. Very good. All right so I'm going to do, as said it was stated yesterday that we were merging 24 hours the 24 o'clock is done. I'm going to squash and merge. He's live. Yes. Absolutely. Okay, so, and now if we go look at the so this was just so everyone's aware of how huge it was this was 100 over 100 commits. They got squashed to a single commit. Wow. And that's a good thing because there was a bunch of junk in those commits. I was learning while I was doing that and the learning was a lot of fun, but, but I certainly don't need to expose my learning to. So here is the single commit with all of the notes on the many different things that were done. That's impressive. Well, shame on me, but that's we'll do a nice change log for next week release, I guess. Well, it's it's got a one line change log the change log entries is very simple if I didn't format the change log correctly we'll fix that too. So good. That's done. Contrary to have my center seven display in something just kidding. I don't have any center seven running. Friends don't let friends runs into a seven. Yeah, right. Exactly. Okay, so on this one. This is now merged. So users who are running CentOS seven or redhead enterprise Linux seven on the weekly will get a notice beginning next Tuesday. If they upgrade to the new version, the next next LTS baseline will include the change. So that would be roughly August. And it's 2.400. Probably say 413 or 412. Great. Anything else Bruno. No, I just can't wait seeing messages on the mailing list or on committee Jenkins I think what is this message about. That's you see that well and and and we'll hope that hope that people understand it and we can make it the message clear etc. Yeah, all right. Thanks for your time. Any other topics for today. No, thank you. All right. Bye.