 Welcome. This is the Jenkins documentation office hours. It's the 23rd of September. Topics for today include action items. DevOps World 2022 next week. Hacktoberfest. Meg any other topics we should add. Then let's whoops. All right. So action items. Archive the docs mating list is going to have to wait until after probably wait until November. Because of travel schedules and whatnot be warned that I'm out of the office next week. And October 10 through October 27. Sorry that we lost you there Meg. Yeah, sorry, I think my network is being flaky. Well, so action items, no progress. DevOps World, I did embed a link to the multiple blog posts for DevOps worlds that have come in over the last roughly month or so. Really great work from various people. So, Bruno Doroch and Tim Jacome. John Mark Mason, Alyssa Tong, three or four or five others. So some of the best. This is, I think the single best collection of blog posts we've had in a very long time. Excellent. And the modernizing a plug in blog post has been has. Oh, I should update that has been merged. Yay. Oh, wait a second. Why isn't that listed in that list. Oh, there it is improve a plugin. It's there. And it includes all the links special thanks to dirage for his work. And we're, we're set for it we're going to use that that that tutorial will be the basis for a workshop that we do at DevOps World. All right. Yep. So now the crucial one for today, Hacktoberfest so Europe office hours did some more work on Hacktoberfest. And let's take a look at that. So we've got Kevin submitted a proposal to take out one item from this list. I think it was a it's already been merged. So there are some, for instance, the newcomer friendly issues that's a good one for people. There are others that I'm not sure they are as ready. For instance, I'm not sure we've got enough reviewers on Jenkins file runner to keep it there. It was being actively reviewed while I was in Google summer of code, but I'm not sure that Chris is available still to review. Prometheus plug in likewise. So I think and tecton I'm not sure that there we need to ask their contributors. Now the the artwork. Yes, because that's the doxic. Oh, speaking of which Meg I needed to ask you we've been a long time without with you acting as a triage person, would you like to become a copy editor we had said we were going to do it and I just did it with Kevin Martins if you will if you're interested in we could make I'm happy to my concern is that I'm so uninvolved with the project now is it appropriate but I'm certainly happy to. Well, you think about it and when when I get back, say towards early November we talk about it again, because I don't think about what you need for me to be to have me be that right. I mean if you need me to have those permissions so when everybody else is on vacation I could step in occasionally and help out that's good. And that may be the model because what we're seeing right now is, we only previously had two copy editors me and Tim Jacome, and I'm going to be out, and Tim's going to be out next week so having Kevin with permissions means okay we still got somebody who can merge things to Jenkins.io, but having you as an additional backup might be a good thing. It's going to be a full well that hey, it's not going to be a heavy activity for you, it's more. Oh we're in a need for you right now could you help us for this brief period. And I'm certainly willing to do that I'm just finding why I think Oleg and I are both Oleg still loves Jenkins but I don't think he's doing much with it it's, it's hard to serve two masters. Absolutely, and that's understandable right we've got to we've got to maintain some sense of balance in our lives. Okay, so now one of the things that came out of that out of the Hacktoberfest discussions was, how do we this is something that Kevin and Bruno observed earlier today. How do people know which plugins they should approach. And one of the things was that. Oh and it looks like did we not get that copy into the. Oh here it is good. So one technique was this page, which is a list of plugins that need their documentation converted from wiki to get up. And now the worry is, I don't know which of these plugins the, the maintainers will actually be willing to review a poll request and so what I did was sort of sorted them by release date. If they've released recently, and many of these have released recently right so the top 25 that in fact the top 30 have all released within the last 12 months. Okay. So there's a better chance that those plugins would be willing to review a poll request. I thought you'd said that all of the remaining plugins to be converted were problematic but there are some that are not problematic. Well, in this case, the problem is getting people to review the poll request. Okay. And so the thought was, hey, okay, maybe what we do is we reach out to the maintainers of these plugins and ask them, would you be willing to consider a poll request to to merge to update your documentation to move it from wiki to get up. But there was a category where the information that's in the wiki is not good so it actually needs a rewrite not just a conversion. And that could also be, but I think if I look at this one for instance, that's actually not a bad first step first look is, hey that's not bad, but it's up for adoption. And because it's up for adoption. It really means it's not likely a great fit. Okay, it was released three or three weeks ago, but it may have been released for a relatively special case reason. Let's see what the, uh, well, yeah, I don't know. I mean, the, the maintainer looks like it. Yeah, the maintainer is Alex Brandis and I'll see him at DevOps world. So, so it may be worth a conversation. Just let me ask you a question. For a plugin that's fairly active. If the content in the wiki is behind, are we still better off having it in wiki or getting it over into the main docs? Oh no, it's much better in the main docs because no matter how good it is in the wiki, the wiki is not changeable. We can't we can't update it. So getting it into the main docs puts it close to the developer and close to other maintainers who can who can update it as as they make changes to the plug in their maintaining. So I'm thinking that some of those, if we don't have somebody to review, we could still just convert the content review it purely from documentation standpoint. And maybe we could market that this material needs to be needs a good review. Yeah, yeah, that's true. Well, the other the other technique is we could just declare. So for example there is, we could just declare we're going to the docs office hours is going to adopt it long enough to do the merge. It's a little bit odd but hey it works. We've we've we've done adoptions temporarily for other reasons. If I look at, I'll show you one example of that so in the plug in migration progress report if we look for one of the popular ones here Ansible has 21,000 installations. And it's got a pull request open. It's mine from a year ago. So, so obviously it's sat here for for a long time without making progress or this one MS build. The pull request has merged. But there's not been a release of the plug in since the pull request merged. In this case, no way to set that. That's hard to believe, because no release since 2019. Okay, I've got to take a tour now. No, look at it, there it is it released in 2020. So it has released. So why does that incorrectly say, okay now I've got to investigate make my reports wrong. That report because MS build is here. No, it says it was released two years ago. So why is there a tag 1.30 1.30, February of 2021 we're not in 2023. This is 18 months ago. Okay, so it's saying two years ago is is a bit of a push. We're not subtracting months just years. Yeah, except that the change well so maybe the change didn't make it into the release after all but I, I thought that that pull request that had been merged. So it looks like it's moved. Oh, February 26, but the release date was probably just before February 26. So it looks like it merged right after the last release. Okay. Sorry about that. All right, so, but this is one that actually John Mark and I have adopted so we'll probably just release it. So I'm starting to feel that like your newest grandchild is going to be in college. And we're still going to be trying to catch get all the plugins converted from wiki. Sure. And I'm starting to feel like I just, we did it right for some of them. And when we can't do it right, let's do something and market in some ways so people know that, you know, the content, or we could file an issue for each one that we merged that we could not be sure whether the content is still accurate or we're suspicious of it, and we could file issues to review this. See, we've we've actually got that right this report. This report already tells us exactly that because what it says is, Hey, look, here are the things that are okay. If I sort by status. I can look at let's look at instead of okay let's look for PR merged. There are a few that will be listed as that the pull request has merged, but not been released. And a bunch of them have been deprecated so there's no change necessary. Here we go so PR is open or merged. Those are those are actually it's already telling us that and we've, if we said hey we really want to push to get these things actually visible. Again, we adopt the plug in and merge. I'm thinking about not visible to you but visible to the garden variety user who comes and looks at the plug in and the plug in page for that plug. I still know that, you know, the, you know, there's a small chance that the material here may be dated. And that's actually, that's on the page right so here it is help us improve this page. The page has this indicator that says, this is coming from the wiki. Perfect. So, so we've actually got that. So I don't think we're, we're at in a bad condition that way and it's still set up. Let's open up all of them and if October fest. And yeah, maybe in the docs office hour will adopt them for five minutes and merge. Yeah, I mean, will, yeah, let's okay that's, it might be too wild eyed and crazy. No, I think well I think it's an interesting idea because what if we said, Hey, we're going to, and we've, there's actually a convenient way to do it. Let's see where was that this one. Okay, so if we looked at this one and said, let's take the top 10 of these are top 20, and open check each of them to see does it have an issue report that so I'm going to do exactly that close everything to the right. I'm going to open this one. Okay, it's up for adoption, but let's check its open issues. It does not have an open issue that says that it needs to be converted from the wiki so we go create one. And go, we create, we create ourselves a template of the, actually, I think I've got a template of the wiki migration bug report, and we put it in there and call it a good first issue that the challenge here is, well, yeah that's hoping that someone be will would be willing to pick it up, and that the maintainer is willing to review it if it's if it's picked up. You review it and we merge it anyhow. Well yeah then we then I have to do the adoption thing so, but we do all we have to do is click this report an issue. I can find a boilerplate of that Jenkins. Jira wiki. My plug in doc migration to from wiki to get up let's try that maybe there's something already in here. My great doc from wiki to get hub for this. Yes. So we've got some of these now they're, they're from two years ago, but we've got that. We've got that content. And so here is here is a relatively recent one, not nearly good enough. Okay, just a minute. I'm in danger here. Sorry, Meg. Project, not not in security. Okay, there we go. Okay. I don't know, ask Tim and a couple of other people I mean, but it's always. I mean you've had to tell me sometimes it's something this is better than what we had we're merging it. Even though it's not, you know, but we all were kind of all high achievers who are used to getting everything right before. But to me this is getting this is two years we've been trying to get these things converted. You know so we can't say all the information for plugins is here. Some of it's here and some of it's there and well there's a story for what's not there and it's who cares. Right. So more experience and knowledge should then me should probably make that. Well, I mean, let's let's let's. Okay, there, there's one. So, this one is another, oops, yeah, another example. I'm not seeing any hints here about. Okay, one more helper. James Jira convert plugin documentation to get up. Okay, here's the original description. Maybe I can find that issue here. Well, Meg I'm not it's not turning out as easy as I'd hoped, but I think you've got a good point let me make a note to myself that the idea is. Shall we that's let's get that additional sheet. It was where that wasn't it. Where was Oh, no, I know. Right. Okay, Mark, John Mark Bruno and John Mark. I have some need for docs candidate plugins. Yes, so this is contact or submit bug reports to the 20 most recently released plugins and then flag the bug reports as good first issues with links to the documentation to the instructions that describe how to fix the problem. How to how to migrate the docs. Alright, so I think that's under the only include plugins of maintainers agree to review pull requests. Yeah, we say that at this point, we're better to get this stuff converted. I'm going to bury the wiki. Let's put it out publicly and run it by some of these other people. Yep. With more I mean it's not good that the text for the plugins isn't being maintained but Right. Yeah, good. Now I apologize I'm sort of running up against my time for the for the effort. Are you okay if we call an in for today. I am I have one I have a two second one for you an issue I did not file that we talked about. Um, can you go to the Jenkins IO docs. Sure. And system administration. And it's something we talked about. We talked about pulling all those reverse proxies into one section we just mentioned it but that would be something to do. And I thought that would be a good first issue it'd be easy. And then I got looking at it, and they're fairly long. They are right. And if, and the subsections were not getting that table of contents in the upper left. Right. I don't like the looks of the table of contents the way it is now. But now I'm starting we just mentioned this in passing. If we want to do it it's a good first issue for Hector best. Well, so what if, what if we took. What if we took as a counter proposal. This subset. The detailed one page at a time subset. And put right now there is this configuration examples here at the bottom of this page what if it moved up to the top here above general guidelines. And we took these out so that we would get have a better chance of getting rid of this vertical scroll bar. Okay, because I think I think I thought your concern was system administration is just too long, right there. This is showing information that that at most I have one of these reverse proxies not more. Right. There's not a lot of benefit to, to show every one of them rather reverse proxy configuration if it's got ready hyperlinks for each of these. This section replaces this block of six. And then where does the text go. The text stays exactly in the files it's in so that stays stays in these, these long files because they are long and complicated and very. But it does not show up in the table of contents. Exactly that was my thought anyway what do you think. Okay, I hadn't thought of that because I'm small minded on these things. Well, yeah, that would. So we have we have that because I was worried about putting it in and then yeah I'm looking for one of them I have to scroll through all this other stuff trying to find it. But yeah we could put the links in. Yeah, I mean, okay maybe how about, are you given the idea how about let's let's test drive it and see if it's worth it here we'll give ourselves five minutes. Let's try it to see if the prototype looks as good as we hope, because I think you and I can do this in five minutes live. Yeah, yeah so just admin you reduce reverse proxy to see right so let's. Actually we've got those configuration examples there are one to one mapping I think we could have how to do reverse proxy and configuration examples right. So are the configuration examples actually already the links to those. They, I think they are exactly the links to those. Okay. So here we go let's. So first things first we find this page. This is the page we want to improve so we say, improve this page so I can get a link to its location and here it is. Okay, got it. So content intent. It was system administration wasn't it Meg. Yes. Okay. Oh, that's right it's it's the admin book so it's. Yep, those are identical. Okay. System administration. Now here we go. So right now what we have is in the chapter we have proxer config Apache engine X ha proxy squid is and IP tables. Yep. Okay, so we take those out. And then we, let's see. Oh and then we said, the top level page. Really, I think we should move this up above general guidelines, so that it's above the fold when the user reads it. Now test driving. Although you know, it's not that far, even on my laptop. When I open reverse proxy configuration I see configuration examples. What you do not, but the title, you know what that configuration examples doesn't tell me that that specific information by proxy. Ah, okay, so maybe we need to change the title so I don't know what it is. Yeah, well so let's take a okay so here is here is the current page. And now let's look at it in running. reverse proxy look at reverse proxy. Okay so here's the same page in the prototype so current page prototype so it takes out the vertical scroll bar. And now what did you want to see. Okay, so go the reverse proxy the general one. See there, you see configuration examples, but I don't know what configuration examples are. Right. So let's look at that same page here is that. Well how would we name it if not configuration examples what do you think would be a better name. So what I'm trying to. I want something by proxy. What is, what are these things Apache and those by proxy type or Well let's ask a question yeah types of HTTP reverse proxies. What is a reverse proxy. Okay, so let's see what it offers so a proxy server house reverse proxy different. How to implement it. It's not funny, I. I don't know the side of these terminology, you know, this tributes. So a reverse proxy. The demand of back end applications and forwards client request to the applications, inspects the request determines the valid and forwards the request. Or these things web services are they. Yeah, yeah they will. And I would have, I think the word reverse. Maybe it should just be reverse proxy examples. So there's still, I want to, I want to know that this is specific, you know, examples for specific web servers is that. Okay, yes well so the challenge there is that squid is not a web server. It's a proxy server and h a proxy likewise. Maybe that works. If I say, I'm just looking for squid. That tells me, go, you know, this list is going to include something about squid. Okay well so let's let's how about this you said config configuration examples by reverse proxy. No by proxy server. By proxy server, but how about by server type. Okay, so just a minute I need to put in configuration I need to put in a tag so that it will still have the old label available okay good. Now back to where we were configuration examples by server type. I like that better that tells me something that they're not just, you know, rando examples. Okay, well and this, this for me still gives me easy access to whoops. Now why didn't that work the way I thought it should. Now that's most interesting. Is it broken on this page and I haven't known it. No, that works just fine. Is it broken because I didn't I took it out of the chapter. Okay, so it wasn't as fast as I'd hoped, because something's wrong with the prototype, and it, oh wait a sec, it may just be this should I'm working in Markdown now and I'm starting to lose ASCII doctor. I'm thinking that that in the source code that there are there can be subsections to the library or something where that they don't show could be. Yeah, well, and I can always do this right I can always make it absolutely explicit like that. I think this will work no matter what so let's try it. Unless somehow what's happened is the page generator has actually chosen not to generate the page at all. Yeah, no. So something, something different is going on here because that's failing to build the page. Well, let's go read the read the log file. Okay, undefined method greater than for no no class. Okay, let's see. Okay, this is taking too long. Yeah, I'll agree with you on that but now I'm curious so just moments more. Oh, it could be that. Maybe why is nothing ever as simple as it should be. Well, why, why don't I understand how these systems work and the answer is because I don't. If I understood them, we wouldn't have this problem. So it's, you're right, I have the the experiment did not pan out the way I had hoped. So I can write an issue that says we want to will do this, and we'll make it so that we'll change that title. You know, actually, let me write that down because my mind's a civ what was the title we ended up with because I think it's pretty good config example by. Configuration examples by server type. Yeah. Okay. So we'll change the title. The will change that header, and then we need to make it so that the content can be linked from that list but does not show in the left frame to you'll see. Correct. And that's the issue. Right. And while you go prepare for DevOps I will file an issue. All right. That's I think that's a good first issue. Yes, that's that's a good figure it out. We'll let some junior person do it. Well, it's a it's a it shouldn't be a tough structural thing to do and yes, they may they may find that oops, I failed in my attempt. Okay, this now works. So. Okay, so the magic then was the fact that. So the change of the layout here. Moving the configuration examples up is not what broke it. What broke it is that I had removed so let's try it let's try one more experiment. We're going to delete just h a proxy. Okay, reloading this page. Notice that h a proxy is not in the table of contents here but is listed right there. I can navigate to running with Apache. I can do the engine x thing from here. But when I try h a proxy. So it's that there's something about the page navigation that's causing it to want that there must be an entry on the left for a page on the right. And that may mean that we have to move the page down one level so this is this I think this is failed the good first issue test. Okay. It's a good issue it's just not a good first issue. Right. Because I suspect what we'll have to do is create a subdirectory. And that's now a level of complication that I wouldn't want a first time contributor to be involved with. Yeah. All right. Meg. You go get ready for DevOps. We have no meeting next week you said no meeting next week. Cool. DevOps be brilliant I know you will. All right. Your worst days will be a delight for the students they will learn a lot. Thanks Meg. We'll see you. Take care. Bye bye.