 Welcome to documentation office hours. It's the 16th of December 2021 reminder we abide by the Jenkins code of conduct. Glad to have you here. Today's topics. News if any. Oh, let's see wrong wrong agenda sorry Meg. Here we go. And Elizabeth let's be sure we know that you're attending today. And Xenob was with us briefly. A car. All right, great. So topics I had contributed license agreement process weekly changelog LTS changelog modernizing a blog, a plug in. Meg are there other topics we should add to the list. But I'd be really selfish I've got a broken local build can. Oh yes let's put that top of the list, even better okay fixing a broken docs site build. Very good yes. Excellent that's a great great working session. Any other topics. Okay, let's let's take those then. And so let's get started on the first Meg do you want to share your screen how would you like to approach sure. Investigating it. Sure. So I'm going to stop sharing and we'll let you share yours. Okay. And there we go. And actually, for Oh, I was bad. Should we quickly show Elizabeth what happens when we do a, should we go back and show her how we build, etc. We're going to need we're going to need to see that anyway because I'll want to see exactly that the message you're showing says that there's probably a syntax error in the a doc files. Yeah, and so we're going to have to show her how it builds anyway so yes let's do that. Okay. So Elizabeth, our documentation is is maintained in ASCII doc format, which means it has to be converted before it turn gets turned into HTML. And what makes going to show is the build process we use to do that conversion. Okay, so let me. Actually, let me show you. Are you familiar with ASCII doctor at all. No, I'm not. No, I'm not. There you are. Okay. So this is actually let's go back. Let me show you what we're looking at. Let's go back to the very beginning here. I've got, I have too many tabs open that's the way of my life. We go this will do it. So our documentation is displayed if you go to Jenkins, let's actually just go up to Jenkins IO. We go to Jenkins IO and click documentation to get this and the piece I'm working on is managing Jenkins. And this is what we currently have there, which is not a lot. And then we go on it sort of miscellaneous it's all sort of a, a lot of good information but kind of a mess structurally. So I am working to turn this chapter this is this will be the index so the source for this is down locally and my thing in content doc book managing. Meg as a cheat, as a cheat, could you over on the web page, scroll to the bottom of the web page. And on the bottom of the web page there's this improve this page link click that, and it will take us to the page in GitHub where the source code for this page is maintained. Now, make you make still has to go back to a terminal to look at the source files outside GitHub, but this gives us a picture of, ah, there's that page. Right. Okay, back to your back to your right. Good idea. Good idea. So that. So we get we go back. Let's see. For this managing Jenkins, I believe this is called a chapter. We have these and if we look here. Down here we see system configuration. This is the index dot a doc which is the first file in each of these big sections. And this is what generates this. Another one that I recently worked on is similar in this chapter. And this is where we're aiming it goes through the general material. So there's it. You get it set up so that I can build locally ASCII doc is it's not it's similar to markup it's a little bit different. But you'll see we have, for instance, a header the top the chapter title is a single equals mark down a sub can have or get to it's very we have links are coded like this. It's pretty easy coding, but it is all text based. Now if I want to see what it looks like when I build. I just keep this running all the time. Let's kill it. And we do make run is all we need to do. And it runs up and then normally with that running I can see exactly what I did on my local. Let's see it takes a minute to zoom up. And I are going, going, going. And there we go. And it should display at low close 42 42 what I have just immediately written. So, there that should be done. And I refresh to get the latest. Except my latest is an error right now so. So this is the file I'm looking at and I'm just going through to find out. I figured it because it was working I figured it's probably a coding thing. Yeah, so what this looks like it's a Ruby error for what it's worth. Well, and so make let's take a exit out of the editor and let's take a look at it from what's changed from the known working state. Yeah, let's do a get diff. So what this is going to tell us is what's, oh, go up, go up several levels don't make I want to see what's changed overall. So right now because you're at one of the directories nested inside I want to see the upper level so go. I see it from Jenkins IO directory. Exactly. Okay. So here we are at Jenkins IO just so you know, at the top directory here. We see content that's where we go for this but we have a guy's contributing file with details about how you contribute. That's where the make file is etc. And here's our get diff. Okay, so there we go. All right, so it looks like what you're you're wanting to do is you're wanting to move system properties and change system time zone and add about Jenkins and system info. Yes. Okay, so, so, all right. Okay, so then let's let's look for and that looks like it should work if there is a file named about dash Jenkins, is there a file named about dash Jenkins that you've added. Yes. Okay. About Jenkins dot a doc. Okay just just do a get status or just keep scrolling through the list just add your question your answer is great. Okay, so keep going. Okay, continue. Okay, so script approval has changes in it keep going. Don't see an obvious problem there. Wait a sec but you said okay so quit out of that and do a get status. Okay good. All right. Okay show me that show me that the log of the make run again. Let's see if we can guess from it what's going wrong. So scroll upwards, what I'm going to do is do it and start the clear screen. Yeah, there you go. And we can get back to the beginning more easily. And for my benefit if you could widen your terminal to, to be broader. Yeah, full site full screen would be great. Thanks. Okay, pause. Good night. Oh yes look spelling error. Sys 10 dash info. Could not find section file sys 10 dot info you want him dot info dash info. Oh goodness and that is probably in that. It's in that that YAML file that defines the chapter, which is chapter that YAML stupid stupid stupid. Try it again. Let's see what but there may be other things going on as well. Let's make run again. Oh, you got to back up to the right level. So yeah, switch back to the the other, the other window, right. Or where no go to the one where you're running right. Oh you want to see make run or yeah because having made that change that's a structural change so interrupt this and restart it. Elizabeth Elizabeth as a side comment here. This is one of those places where technical skills just keep working for you right there. This is developing technical skills and all sorts of way we're doing diagnosis on documentation build process. Okay, open it into a web browser. Let's see if it's better. See, and reload. Okay, good. Yep. And there we go except we landed in developer guides. So now to see your content Meg take it up to document the documentation drop down. And it was, yeah it was managing Jenkins right so we should see over on there we go. And there's system information and there's about Jenkins. Yep. Excellent. And there's the new text. Okay. Good. And work on this. Would it, would it be useful. I'm pretty close to being able to be ready to do a PR. Would it help Mark, should we walk her through the whole process do you want me to push this now. Mark that work in progress. Yeah, this would be an interesting one. So yeah, absolutely. Thank you for Elizabeth. Well, that's interesting to you. Elizabeth, I'm not sure if you heard Meg's question she was wondering, would you like to see us submit a pull request so that Meg can start us show us how we go through the process of submitting a pull request that we'll use to to capture this work. Elizabeth you're muted. Yeah, sure. Okay. I mean, some issues. Oh, no, well, and because this is being recorded, you can watch it later on YouTube as well. We will post it to YouTube so it will be available on YouTube and you can watch it later. I have a bunch of tabs open so first I make sure that I don't have any files open I get everything closed. And then I'm back in my Jenkins IO, the source of my clone of the repo support the clone by the way. And so we do a get status. And this tells me I've modified these four files and I'm adding two new files. So I'm going to do a get add dot. Are you familiar with get. Yes. Okay, at some point, but I stopped. So that's the most things. Right. Yes, I mark mark is really good at it I sort of know how to do what I need to do and as soon as he goes out of that I'm crying to mark for help so I'm to get commit where I can say. All right, Mark. Right. And now the way I'm set up. I do get push, which doesn't work, but it gives me the command that does. So I copy that. I paste it there. And we run. And then I need to get that back down small size for whoopsie. Hey. No, no, no, no, no, no, no. Okay, let's go over here. And. Ah, so now I go over to github.com for this repo. Actually, this is my clone of the repo. So where I want to be. Mark, should I be back at the main one should be a nice guy. Let's see. So, so I think that that compare and pull request will let you will will submit to the upstream repository try it. Okay, let's try it. So we click there. Okay, and so yeah, right. Because he says the base repository over on the left hand side above where your cursor is. It tells us it's targeting Jenkins dash in for slash Jenkins that I it's doing, it's doing the right thing. Yep. Okay. And I'm going to mark this draft work in progress mark. Yeah, either the whip is whip or draft is fine, either one. There's a, there's actually a check box we'll use on on github later that marks it as a draft. Right. Okay. So that is the content I put on here we have this typically we type in a little bit more. Here I won't do that for now. I can go back and edit it later. Okay. And but here we see the history and then you can scroll down and you can see everything that is in this pull request, and it's displayed on the left is what used to be there with the pink being material that's been deleted or replaced. The right shows you what's new. And so the one caveat that's a little confusing at first is, it's not true in this case, but sometimes the pink stuff has been moved and it shows is leaving and shows up new later but but you can give a quick list and make sure that there aren't any surprises there. And if it's what we want. I click create pull request. And there it is. And now if I go in up here, you can see all of the pull requests that are currently open for this repo. And there's this one up at the top. So now open that and let's see if you can market draft already so open your open your new pull request. Yes, there it is. See that reviewers over on the reviewers side. It says copy editors and two lines below that there's a link you can click convert to draft. Click that because that tells people I don't intend for you to you to merge this shit. Right. Okay. And convert to draft then. And I can also we have what the labels are that probably is better than me doing it. Yeah, in this repository the labels may not be as helpful as as in other repositories but here we use labels to categorize what kind of thing it's doing so Meg's putting the work in progress label as a way of helping others find this and realize it's not yet ready for review. In in code repositories it's pretty common for us to label something as an enhancement or as a bug fix or as a documentation change. And then you see now if you look here here's the work in progress label and here also it's marked as draft. Right. As opposed to some others and script securities that that's ready to go. Oh, is that ready for review. I, yes. Okay, so let's take, let's take the take the draft word out let's do the edit on that one and take the take the take the take the word draft out of the summary. Wait a minute. Oh, okay. I'm trying this stuff has been going on for so long. It's right right this one's a very long request right. So I should go look at it and see if I've got some comments that I missed because it's out here and they don't check it every day anymore. So probably I should be draft on it for a little bit. Okay, so we can go back and look on those and see it would be lovely there's a whole set of them that might go elsewhere. Any questions Elizabeth was this all clear. No questions. For now, just as Mark said, I'll also watch it on the YouTube channel. Right. Great. If I have any questions, I'll reach out to Zane up or out. Also send email to Mark. Is it too early Mark or do we want to try to get her set up or you're probably going to set her up for the report. Yeah. I was going to say that. Say you can set her up Z now or that it's too early. What, what kind of PC are you using. Is it a windows or windows and isn't it windows. Okay. So there are complications doing Z nob is very experienced with complications in doc development with windows. Yes. I'm going to stop sharing. Okay. Yeah, so, so Elizabeth, my guess is just just me guessing, but my guess is actual contributions to documentation would probably want to wait until after you've connected with the events team and after you've started started finding where you need to contribute then we can coach you through it. Would that be okay. Because our events team members sometimes have to submit, but they oftentimes can actually do the things they need to do through the GitHub web pages, instead of mega is mega is a top grade documentation creator. She does all sorts of documentation so she has to have it locally. Many of our outreach people make their changes through the GitHub user interface without even having a local copy like Meg does. So, so when you get to the point where you're interested in, in submitting a change. Let us know and we'll, we'll help you through it. Thank you very much. Much appreciated. Thank you. Great. So we've got your build working should we take on the next next agenda topics. Yes. Okay, I'm going to share screen and let's take a look at them. So, so there was this one which was a contributor license agreement process so Meg this is just me and you and a conversation. Okay. I had proposed that Meg, Kristen and dirage have been proposed as copy editors, which is a privilege position with extra capabilities for the Jenkins website. And that needs needs a contributor license agreement. And so what we need to do is we need to have Meg and Kristen and dirage and Kristen's already done hers so needs a contributor license agreement submitted and there's a process to do that. Right now, it may be best to wait for easy CLA a new way of doing it that's much easier. So Meg, are you okay if we continue to wait for that. I think we can. Okay, great, then let's, let's keep it that way. So, I could show you one of our infrastructure contributors just submitted his CLA the old way, and it's, it's heroic and painful and challenging. We do not use the old way if we can avoid it. So, so we'll just wait for a little bit. What this is is there's this really cool facility. It's from the Linux foundation, and they take us through these holes, a series a small series of steps that let you contribute your, let you submit your licensing, your license agreement so that you're say you're willing to contribute and that your work can be used by the project that you're contributing to. And that's, that's how we'll be doing it when when Oleg turn switches it on fabulous. Great. Okay, that topic's done very good. Do we have a rough estimate when that's going to be is it in a week. Do not it depends on Oleg's availability he he mentioned yesterday he thought he might be able to do it, even, even yesterday but I don't think it happened, and he's a very very busy guy with just starting a new job so I don't know when. Yeah, even, even if it takes two months I think it's still better for us to wait. Right, and to put you through the experience of the old way. Yeah, whenever we do it if you guys want to use me as a guinea pig when we think we've got it up to go through and do the. Oh, good. Excellent. Okay, just for your info Colleen and I used it so my wife and I did a test drive with it earlier in the alpha test phase. So if that you're willing to be a test case is great. So Colleen's now a tester is now well Colleen is Colleen is is the victim of many experiments in the in our house yes indeed. Please tell her hi she's a wonderful person. I will indeed you have dinner with her again sometime. And she hopes to have dinner with somebody other than me. All right, so. Next topic then. As part of Jenkins documentation office hours, we regularly do regularly review the changes that have arrived as part of weekly contributions to the Jenkins core. And that's this thing the automated change log. So what we do is we review it together and decide which things we need to change to correct this to make it so that it will be the correct thing when the really ships. So here's the first. This says there's a change that we updated a component. And Meg for me I think this one is one we should just skip the change log on. I would think so yeah. I don't know what users would do with with the notion that we've updated the Apache Commons validator. So let's go find that that poll request. Oops wrong one. Did we explain that the the actual change log is generated automatically from comments. I did not very good point so so this poll request here is generated by a script that reads the changes that are being submitted to the software and automatically generates this thing as a document so that we, all we have to do is correct these things, and they then become part of the change log automatically. So I'm going to add a label here skip change log. And because I added that label the next time this change log is generated this entry will be moved from being visible to being hidden. Okay next then is add links to report an issue in a plug in to the plug in manager. That's cool. Oh yeah. Okay, so the should be add links to plug in manager. So okay let's let's go through and talk to that one so let's let's bring it up it needs a needs an ending full stop and ending. So here. So what I think it was is. Yes, okay so what they've done is they've extended the UI see this blue text report an issue with this plug in. This allows the user to with one click report a bug report to that that specific plugin. Wow, now let's, I want to see where what linky well we'll have to have to look to see what linky did so. So this one I think is a great improvement. Nice, nice job so let's get the text for the phrasing right ready for the. So it says now add links to report an issue in a plug in to plug in manager so what it's really done is added plug in manage a plug in manager or added a plug in manager link, or maybe it's report an issue link to each plug in in the plug in manager. Yeah, that give me better words mag. So report an issue link. I think that's good. I think that says what it is, or they're like to plug in. Yes. Yeah. Now, did this actually add the link or does that have the capability to do it. It actually adds the link that's the that's the elegant part of what he's done. Here, let me open open. He's actually gone through and he had all 1700 plugins already. Well what it did is it's using data that's already available and showing that data to the, to the user so the data which which plug in is which is already, already there. Now let's see if I can find the, the pull request was five three five eight. Okay. Okay, so the picture here. Let me show you what this, what this looks like today, just a minute. Okay, so if we look at manage plugins on the version that he's proposing to change it looks like this today so he's looking at the install the vert tab. So here's the installed tab. Notice that it says, here's the plug in name and version number and a description, but there's no link here to report an issue. Ah, okay. And so what he's done is he's added report an issue with this plug in as a hyperlink. All right. Oh, very cool. So, so back to the revising the change log are you okay with that as a, actually, would if we lost that just make it add report an issue link. Do we need that a good. Yeah. That looks good to me to leave the other one. Okay. I like. Excellent. So then we, we update that comment. Yeah. All right. So next, next one is bump groovy from 2.4.12 to 2.4.21. And I think just stays as it is this is one Meg that we'll have to fix later when we add convert these things to hyperlinks as references. But that I think is is a good description and it ends with a full stop. So do you want to note that in this minutes like you do with the other. Oh yes yes good idea right. Oh yes very good thank you. Okay so reference links added to groovy update entry after release. Good thank you. All right so that that part of the meeting is done. So we just reviewed the weekly change log. And we made a few minor updates. Next then LTS change log and upgrade guide and this one there's actually nothing for us to do except be aware that it's the work has begun. So we just released 2.319.1 about a week ago. And this is now preparing for the next release 2.319.2 that will happen in January on the 12th. Anne is the release lead, and she started the checklist for us of things to be done. And one of those items is prepare the LTS change log. And another is the LTS upgrade guide. And we'll we'll work on those separately as we get closer to January 12. Okay. The next topic was modernizing a plug in blog post. So we've got a concept that we would like to use. Well we did a, we did a workshop for DevOps world 2021. That spent three or four hours showing people small and simple steps they can take to help them contribute to Jenkins as an open source contribution. The idea was we wanted things they could do in just minutes, and that would actually help and make a difference. And so this by now 25 page document describes some of those steps and each of the steps is a doable thing. It's something that you can add a Jenkins file to the repository or update the parent palm and it tells you how to do it. So what we're going to do then is convert this into a series of pages on Jenkins.io that will be a tutorial for new, new developers and new contributors. Right now, it's still work in progress. Jean Marks working on it, I'm working on it, dirages working on it and we'll keep working on it. So those were the topics that we had for today that I was aware of, I don't have any content changes there and I won't be able to work on this one probably for several days. Are there any other topics we should put on the agenda for today. I have one question, Meg I was with with this meeting was specifically set so that our attendees in West Africa could could reach into it after the end of their working day but it's awfully early in the morning for you. Elizabeth and Zina, if if your time generally won't allow you to attend we may consider shifting this to later in the day so that Meg could attend and not have to get up so early. I can attend at this hour. Oh you this this time works for you. It does. It does. Then we'll stay at this time. Great. Let's stay at this time and Zina, I need to we need to get back in touch. I got your mail and I loved it and before I lost before I got it responded. I lost your email. Oh, okay. But actually, let me put in chat. My personal email. Okay. And. Well, and I can just send both of you an email I've got both your email addresses if you need to connect again I can certainly send you both an email that. Okay, that way you can connect. That was I had no idea was this before I was so happy to see Zina up there because you I just enjoyed you so much last summer so when we're doing another she codes Africa when is that this year. Yes, next year. So we're actually putting plans in planning on it internally. We're planning to put out applications by February next year with the next year zone I was like not till next year but it's like no next year is a couple of weeks away now. Yeah, exactly. And so and Zina the event is likely the month of April or. So yeah, it's going to be April but we're trying to see if we can get in probably like the last two weeks in March, just so that the participants can have some time to set up your work environment and things like that before activities fully kickoff in April. Since we had a lot of people complain that they spent a lot of time trying to get that set of before they were able to contribute. So if you can give like two weeks head start so they could use that to get that sorted out before starting in April. Great. Okay. Yeah. Any other topics for today. Okay, then let's call this done. The recording will be posted probably within 24 hours. And if you'll, if you check. And notes will be available on community Jenkins.io. And on, and the video of course will be on YouTube. Mark, one question. Um, what about this meeting for the next few weeks? Do we want to discuss? Oh, right, right. That's a good point. Next. Next meeting. So today is the 16th. I will actually be available on the 23rd. So for next next meeting. Mark is available to meet December 23. Meg, are you interested in meeting on 23 December? I absolutely am. Okay, so we will meet December 23. Elizabeth isn't going to be here regularly or. Yeah. Is that good for using up? Yes, that's good for me. Okay, now I would like to be gone. Mark is gone. December 30th. Yeah. So what are the dates? So what I'm proposing, I'm proposing we cancel for, and I'll just delete it from the calendar. The proposal is canceled December 30th and then the next date after that would be January. Six. Wonderful day in this country. Meg, does that work okay for you? It absolutely does. Okay, great. We'll plan to, we'll meet again next week and then. Skip a week and then meet again the following week after that. And then do it. Elizabeth, do you have any questions you, you're, you're going to get with Mark separately. None for now. None for now. Thank you. Okay. So glad to have you here. That's the head to thank you. I'm not worth much, but anything I can do, don't hesitate to ask. So. Okay. Okay. Okay. Okay. Okay. Okay. Okay, everybody. Until next week. Thank you. Bye.