 All right, so welcome to Jenkins Documentation Office Hours Asia edition. It's the 8th of July in Asia, and so let's get started. Topics I've got action items, news, change log, Google Summer of Code update. This one I'll do, I'll act as voice based on what Vihan shared recently, and those were all the topics that I had for today. Any other topics you'd like to add before we get started? That's good. Okay, so action items, all I have to say is I haven't done any of them, and it's probably going to be several weeks before I get to them. Sorry, but that's, we'll make progress eventually. News, Java 11 is now required, and Java 17 is fully supported, or is, yeah, is supported. So next LTS will, LTS, next LTS baseline will require Java 11 as well. There is still ongoing work. The ongoing work is things like update the tools, use Java 11 semantics, use Java 11 language features, those kind of things, but it's looking quite good. So the next piece was the, the change log for the next LTS, 2.346.2 has been submitted. Tim Giacoms reviewed it and made some comments. Kevin Martens has as well, I think it's largely ready to merge. And now the cool story, this one, Google Summer of Code update. So first point to highlight, the non-scrolling contents list. So here we have the page, and notice that as I scroll down the contents on the left are sticky. Gorgeous. Yes, and very, very nice. Now I'm, I'm not as enamored with what happens when I do this one, or rather let's do this one. I think there it is because it, it has no choice. It has to use a scroll bar and I find the scroll bar distracting, but it's a small price to pay for the fact that on most of the pages, there's no scroll bar and it's nicely sticky. But go back, that, that's a problem too, though, that tape, that listing on the left is not as it should be. That is too long. Right. And, and you just highlighted Meg, is that what that really is saying is that there are probably too many entries in the table of contents there. It needs to be fewer entries. And this one, it's probably that the reverse proxy sections need to all be captured in a single entry. That would solve that one. And same thing for others, others like this managing Jenkins, there are probably things here that don't justify a top-level entry. Although to be fair also, even on those, what's down at the bottom is tutorials and stuff like that. It's off the, it's the extra. Right, right. So it's not really bad for the navigation experience, right? It's, okay, at least on my size screen, I can still see it. It's almost like, I'd almost like looking at that one, I'd almost like to break managing Jenkins up into two different segments, but the titles of them, I can almost see the logic, but. Yeah, it almost makes you wonder, does it need to be like advanced, like. Yeah, and those are, those are all valid things that we can do as future revolutions, right? There is an old, and it's, it's a best of guideline, but rule of seven, that no list should have more than seven items. Oh, good, okay. I mean, each of those seven items may have another seven subsections, but it's too much to comprehend. You don't, you lose the advantage of the list then. Gotcha. And not to be, you know, if you've got a good list, it's got eight items, okay, live with it, but when it's time to look at when something looks long, it's like, how much over seven are you? And it's like, yeah, you're a few too many. Good, good guidance. Thank you. All right, so that was the first. The next is that the data typing has been inlined to make the pipeline steps reference more tidy. And what, by more tidy, it's more readable. So let's take a look at .NET test. Notice here that the, the word optional and the word Boolean are on the same line. That's not how it was before. They used to do an expanding thing below it. It even said type and it didn't really make sense. I mean, it was extra text. Exactly. It was, it was wasting vertical space and conveying and making the reader do extra gymnastics to decides the type is associated with the thing that precedes it, not the thing that is physically closest to it. So nice enhance, very nice. So those are, those are two really good things. Now I've got to show you the really, really beautiful thing. This is the one that, okay, notice this search box at the top. Oh, filter steps. Okay. Now in the, in the past when I did this, the thing I looked for was the documentation for the check out step. And so in the old days, I would do control F meta F whatever, check out and check out finds bit bucket server integration. No, that's not what I want. Merge bot check out. No, that's not what I want. No, and there's another hit. And that's also not what I want. Oh, finally, four clicks later, here's the thing I wanted. Okay. So painful, not comfortable, done it a lot though, I got used to it. Instead, thanks to Vihon's work, what I do is I, in this field type check out. Boom. Boom. And there it is. Now, check out is still a thing of ugliness, but, but that's, that's a future thing, right? Yeah, you can find it now. Yeah, I think that's going to be part of the phase two. API. Or if I look for Apache. Oh, whoops, no Apache. How about let's look for HTTP. There we go. I want something about HTTP. Now I can find it. This also is an interesting way to locate plugins that might have interesting pipeline steps based on keywords. So maybe I want something about Bitbucket. Well, here are things related to Bitbucket, more specific, maybe I want something about JIRA, all sorts of this. And as far as I understand it, Kristen is just doing a keyword search, right? It's doing a word-based search. So it's not doing anything terribly exotic. And it's similar to how I think the, at the end of the day, like some of the searching for like the plugins, I mean, yeah, it's just keywords, but it's like, you know, the least is better searching experience. Right, right. It's certainly much closer to this experience, right? It's this kind of experience where I type Slack and hear all the plugins match for Slack. Yeah, this one has been a little bit more, that has a lot more knowledge, but like the Slack, just even this situation of just filtering based on what is directly on this page is a huge deal. Cucumber Slack Notifier, huh? It's pretty funny. It's a little bit of a cucumber notification is I'll have to Google later. Yeah, cucumber is a test automation framework. Okay. So it's interesting to see like all this stuff, but it helps, yeah, like Mark's saying, like it helps filter everything and it just makes it, it gets rid of. What if I asked for test automation, that's probably not going to find stuff, right? No, again, well, I guess there's a plugin for it. But again, like it's going to be more focused on, you're looking for a particular step or looking for one of the plugin that you know you've have installed, right, to help you figure out like, okay, this is especially if you're looking at it from the steps perspective to me, the easiest thing is like, okay, I know I think I need this stuff. I've seen someone reference it. What plugin do I need to install where I have this plugin? What am I actually getting from it? And I think that's, that helps. Do they get this on their local version of the steps reference to? They do not. So the local copy of the steps reference is inside their Jenkins installation, and it's limited only to the actual plugins installed, whereas this is the set of all plugins. So not as much to look at. Definitely not. Also, the one that's local has the generator, like the generate code. With the snippet generator, yeah. Yeah, we're not necessarily at that point yet. I don't really know. May not need it. Well, it would be interesting. Like one of the things that I think that we had kind of talked about, and I just don't really know how feasible it is, but it's like to actually be able to do a snippet generation from maybe a page, but that we decided as a part of the GSOC thing that we would look at that after getting the layouts fixed and making it easier to read. That was a stretch tool. Cool. So it looks and feels very effective. I think Vihon learned a few things in the doing of it, and the JavaScript code that he uses to do it. I'm just amazed at how fast it is. I was expecting it to be much slower because it was doing filtering of a rather large page here. I mean, if you look at the size of that scroll bar over on the right, there's a lot of data in this page. Let's say we were looking for Outwell. Yes. So there you are, Office 365. I mean, it's impressive how helpful that is, just the simple act of narrowing it based on the word I enter or words. Right. So that's the story now. Now, congratulations also to Vihon for the release of the Pipeline Library. What he's done is refactored or extracted key libraries from the Pipeline Steps doc generator. And from that Pipeline Steps doc generator, now he's created a separate library that he can use elsewhere. Oh, now I don't know. I wasn't entirely clear and maybe, Kristen, you can fill us in. What was the intent there? Is it still, will there be a single consumer of this library or is it he's got multiple consumers he's envisioning? So right now for this particular GSOF project, it will be the single consumer. But the big win that we're getting here and we were looking at for the future is the REST generator. Oh, yeah. So we're hoping that eventually, since this is pulled out, we can be able to use it to do the REST documentation in a very similar way. So if we can iron out making this look really good, we can eventually work this forward to be able to do the Sparger documentation for each of the endpoints. And also now it's available for anyone who maybe has no ideas or to be able to, if you need to kind of figure out what's going on with the plugin or just kind of what does the plugins look like or like reference classes? You can do it now with this. Great. Excellent. Thank you. So those were all the topics I had for today. Any other topics we should review? I'm good. I mean, we could certainly look at poll requests. I don't have any, any strong story to tell here. We're still below 30 open requests. And some of them, I know I can't get rid of others. It just needs the work to do it. And I don't have the capacity right now to do the work on things like even internationalization that I think I see how we do it. It's just a lot of work to do it. Right. Where are you with the, the big guide that need, that has a deadline to it? Okay. My mind's drawn a blank. The plugin tutorial? Yeah, there's a plugin tutorial. That's it. This one, this one we want to have ready and merged before DevOps world because I've proposed or I've been approved to present a workshop using this as content. Right. So are you going to get all of this done or are we going to get a subset of this? Some subset of it. And I think it'll be an interesting subset. There is a cool story to tell on it. Bazaar pro has found a tool. So the modernizing a plugin, there's a tool called open rewrite that is a machine driven refactoring tool that's been used by one of the well-known Jenkins administrators, Steve Hill, to automate some refactoring, some code improvements. And so for example, it's got a code improvement that says use Java 11 APIs and it will walk through a Java 8 code base and transform the code to use APIs that were added in Java 11, things like that. And there's a hope that in the future, the modernization steps can be automated so that the submitter then has to just do the evaluation. Does the testing and evaluation not having to actually make the code changes? That could be nice. Yeah, it's an interesting technique. I'm just wondering, should we be tracking in our minutes here that guide or is that separate? The DevOps world is close. Yeah, it's definitely, it's being tracked in the, what do you call it, in the other notes. Yeah, let's put it in there where they put it now. Longstanding pull requests. Here we go. Bring it forward. Yep, got it. It's a little time, but anything I can do to help, I can certainly do a PR review or two for you. Thank you. In this case, John Mark Messon and I have agreed that we're going to try to work on this one. You got John Mark, you don't need me here. Well, he's one of the workshop co-presenters and so he's motivated to do it just like I am. Yeah, oh, wonderful. Okay, any other topics for today? I'm good. All right, Meg, Kristen, thanks very much. And we'll talk to you again in a week. Thank you, everybody. Have a good week. Bye. Bye-bye.