 Welcome to Jenkins documentation office hours it's the 24th of January reminder that we abide by the Jenkins code of conduct. Great to have Meg here and we'll add other attendees as they arrive. So topics on the agenda for today news. The weekly change like pull request open pull requests and there are several that makes done pre review on and then I think we may have one other topic which was the. Let's see improve a plug in. Pull request. I haven't made nearly enough progress on it but that feels like a good one and then. I think we're settled we need we need we have some action items maybe I should put a section for action items here because I'm behind on my action items. Okay. One of them is action items. Is it create the community dot Jenkins that I will post to discuss she code Africa project ideas. Hello, Mark. Hello, Meg. Hello, Kristen. Oh, hey, Kristen's here. That's great. Okay. Yeah, do we have anything else with G soccer she code Africa. Good question so let's how about we put a topic on the list for Google summer of code, just in case we need to discuss further. I have something through for she code. I have a crazy thing just to run by it may be an awful idea I don't want to bring it up when they're here. Okay, great well so then let this is a great place to discuss it so let's let's put it through and we've got those two any other topics we need to put on the agenda. No nothing from my side. Okay, great. All right so let's talk news first. There are 15 or so plugins that have been suspended from distribution, or will be suspended within a day or two. These are plugins that rely on the relatively non standard j ruby based runtime that was created many years ago and the jifon runtime. However, is it allowed you to write a Jenkins plug in in Ruby, and have it executed by j ruby or let you write it in Python and have it executed by jifon. And they created all sorts of terrible problems in trying to maintain the code. And one of the very early Jenkins enhancement proposals jep seven proposed to get rid of this, those things, all the way back in 2018. So in 2021 or 2022 done it. So just be aware if if you get people howling and outrage that some six or seven year old plug in no longer runs. Yes, we know. And just to give some hint of how difficult it is, none of these j ruby based plugins run on Java 11 at all. Okay. Java eight is not going to be with us forever and therefore it was doomed. And there's only one jifon based plugin other than the base the runtime environment itself. So not a big sacrifice in either case. On the jifon ones the last release was over five years ago. Okay. So they're ancient. There's no noise yet. No, well yeah, an occasional occasional bug report saying hey, when I switched to Java 11 this plugin doesn't load. The answer is yes that's true it doesn't uninstall it. Yeah, but not over just dropping j ruby there hasn't been anything. No, no, it's. And even if there was there's truly nothing we can do about it if someone wants to bring a lot of engineering skill and I mean, Jesse Glick worked on that. You know, it's a lot of engineering skill you'd have to bring. So, no, it's, it's not changing. All right, next topic. Oh, go ahead. I'm sorry to interrupt so I realized that I think I can discuss more about plugin health score project as well. Good. So let's put that under GSoc project ideas. Good. All right, plug in health score. Good. Very good. Okay. All right. So, LTS baseline selection is this week. What that means is Wednesday. The project will choose the next baseline for the March. 2022 LTS. And it looks to me like 331 that was released last Friday, or 332 due to release tomorrow are the most likely candidates. Significant UI changes be sure you watch the UX Sig recording. It's a thing of beauty to watch Jan Faricic demonstrate the the new user interface changes. Yeah, it's a great discussion to have. And thanks to a lot of mirror. There is a whole bunch of chapter headings on this thing that if you hover in the right place. I forget if you look at these things down here or hover someplace along here, it will actually show here it is here are the chapters. And these chapters give you titles for the subsections. So yeah, don't miss your chance to review this. Of course, we will include in the change log and in the upgrade guide descriptions of these changes. But this is a good chance to familiarize yourself with what's coming. Do we need a plan for updating the docs or are we just going to wing it. Oh, good question. Docs update. Yeah, it's a good question. And I don't have I don't have a plan for updating the outdated screenshots I don't know how many there are but it's certainly worth the new UI is so, so much better looking things like here I've got to show it to you notice this. All those nice and smooth rounded edges and the plugin manager looks like this. Again smooth rounded edges, all sorts of things just absolutely good looking notice that hey enabled looks like an enabled switch. And the revert has a go backwards and the uninstall is an X it's, it's really, yawn has done a great job. Very beautiful. Exactly. So, so good, good question we could. That's one where we could consider. She called Africa project to review the documentation for outdated screenshots. Right. I mean, that's something that would be a real help. I wonder if there's, do we have any other contributors who are just writers. The contributors are really techie people. Right, not many. I'm not aware of any. I know I always intended to do stuff. But it was like it most of the work was this techie stuff I wonder what would happen if we put out an appeal that with the new user interface we we need. You know your tech, you know, they may work with tech writers and that are a little bit interested and say this is a great opportunity. Yeah, good, good suggestion. So how about how about there is a concept of a good first issue. Right. And we just had one contributor who was picking up good first issues. And so, after the March release. And actually we could start now with the weekly release, use the weekly release to prepare for the March LTS. And the idea is identify screenshots that need to be updated. Good. We don't have versioning so we can't do anything until it's released right. Well, but it's the thing that I'm showing you here is already released. It just happens to be. It's released in a weekly release. It's about 2.331. And okay, but that's, I think that's perfectly reasonable for us to say hey we're going to go ahead and get ready for the update. Cool. So let me put this as an action item for me. I'll create a good first issue to review the docs for updated images. Okay. The next next piece of new news of news is that infrastructure issue tracking is now moved to Jira from Jira to get hub issues. So there's a repository called help desk. And this repository has in it the Jenkins info issues and we're seeing all sorts of positive side effects from this. So I submitted a request hey we need to use, we need to use the latest JDK. They just released it a few days ago. And guess what it gives us an automatic link into somebody else's tool where they track this. And you see that this is the eclipse project that's building it. And now we're coupled to each other so a Jenkins issue is mentioned in their issue tracker. Big win. Okay, any questions on issue try it doesn't affect us directly as far as I can tell but any questions on issue tracking. Very cool. Yes. Like why did they move from Jira to get up because he is used by companies to track right so it's like more official thing. Yeah, and what we found was that GitHub issues so so I'll show you one of the, the really powerful things that we just learned about when I do new issue now. I've got templates that will let me, for instance, say hey here's a documentation issue and it has forms built into it that will let me prompt for exactly what we need. And the thing that's affected is see I get Jenkins.io and it's affected this way and this kind of as this has improved the quality of issues we're receiving from people who are reporting it. And it doesn't require that they have a Jenkins.io account. So, so no need to go get an account in order to report a bug. Nice. So it's also a better fit for projects like Hacktoberfest, right, because they're accustomed to tracking issues there. It's no account on Jenkins.io required and easier linking to other open source projects. Hey. So next topic for this Friday's platform special interest group I'll be bringing a draft of the Java 8 end of life Jenkins enhancement proposal. I haven't started it yet, but they got to get it ready for them. The right now the ideas either June 2022 or September 2022 LTS release will drop Java 8 support Java 11 only with Java 17 support in the future. If you're a controller only I can still run Java 8 agents. No, no, this will be controller and agents, you can still run Java 8 from inside an agent, you'll just invoke the Java 8 compiler from a process that's running in Java 11. Okay. So it doesn't, this doesn't stop you from from using any build tool you'd like in on on the the agent. Good. Okay, next news item. This is the long news section sorry for being so long and boring here. Internet Explorer 11 official end of life from Microsoft is June of 2022. And the Jenkins project will probably drop support even sooner than that. The idea is, it's dead. It's been dead for quite a while. Microsoft Edge, the replacement will likely be made a tier one platform for us. Now, because edge is based on chromium. We don't think that will be any big surprise. Any any other questions are on news or other topics. All right, next topic then the weekly changelog poll request. So here is the text in the weekly changelog. Correct the location of the build progress bar. Can you show the PR in detail. Sure. I don't get the context. Yeah, it's, it's an interesting one for sure. So core for requests. Okay, so here's the before condition. Notice where the word console output appears. And where the progress bar is. This is a recent regression. After it looks like it should progress bar on the far right console output on the left. Okay, so text, how about restore location of progress bar to proper location, something like that. Okay. Yeah, that's what what was there I didn't know what it was. Yeah. But since it has a regression. That's a good point we should know regression in. I'm not sure which version it was 2.320 probably. Okay. I think let's look and see if he tells us when it regressed. Yeah, I don't see it. I think that's a reasonable, a reasonable guess for when it requests. Yeah, let's call it 321. Okay. Good enough on the new phrasing. Yes, I'm happy. All right. Then let's run that action. And it will be ready for when the build runs tomorrow. Good. So we're done with the, oh, no, one more change. That's right. We have to say, we've reviewed it and approved it. It has to be one of the shortest change logs we've done. Yeah, well, wow, I kept waiting, you know, for another one to come up. Where are the rest of the things. Yeah. Exactly. So. All right. GSOC project ideas. So, dirage, you had plugin health score as a topic. Yes. So I had some doubt about this topic. And I asked in the community or Jenkins for this project and Jake was very kind enough to explain it to me in depth. So I understood the idea. I just wanted to see if you have anything else to add. So my understanding of this project is we want to So the end goal is that in the plugins.io site, there will be, as we know, we get some small tabs for each plugin. So on each tab of a plugin, there will be a section like a score, which will be there to signify how healthy, let's say a plugin is. And that will be calculated, calculated based on some factors that can be picked from the contributing to the open source document. And, and the project, I think just stops there. We will not be attempting to solve it by ourselves. It just a way to show that developers are users that how healthy a plugin is, and it how much help it needs from the users or developers. That's it right. Oh, Mark, I think you're on mute. Yes, he is still on mute. There. Okay, now, so attributes so they're the where attributes used in the score. That's sort of the what. And then how the attributes are used is somewhat the how. We're computing it and and these are all open for discussion. So, to highlight what dirage was just saying if we go to plugins that Jenkins that I owe. And we search for something about HTTP. So here we see plugins and this little box here that shows in this case, HR, or HP or a h. One place where the thought was okay we could replace that HR in this case is just an indicator of the name of the plugin. It could instead be some sort of a score or a letter grade or a numeric or a pie chart or you know some hint some indicator. Hey, this is how good or healthy or unhealthy this thing is. What are the things that get involved in deciding how healthy something something is things like is the plugin up for adoption. Okay that's less healthy than if it's not. Let's if we look at some other examples let's look at some examples like this one. If we count the number of open issues and we see that there are 500 open issues that's not as healthy as something that has say 50 open issues. Does it have documentation for the steps. Does it have documentation that's a good one right so those those kinds of things are, and is the documentation tracked in GitHub or is the documentation tracked in the old wiki where it can't be edited. That kind of stuff that feeds into the syntax generator or whatever. Right, exactly. Okay. So those are those are all parts of this plugin health score project idea, and, and we can see it would take. There's there's an awful lot of work to be done there. Did you have questions more questions about it. Yes, so this process of calculating the score will be fully automated right for all the plugins. Right. Okay. Do you have any specific like not specific any idea like how we can achieve this kind of any technology as a system by basil as well as we can use the faster to automatically change the code based on some pattern, something like that. Yeah, so this this is distinct from Basel's Basel's topic Basel that's a different that's a different suggestion which was automated automated plugin improvement pull requests. And that's that's a different thing so let's hold that one for a little bit derange and so this one, for example we've got a we've had a small prototype running. It uses a Google sheet to extract data from the plugins, the update center. And I think it also extracts from plugin repositories and shows various attributes like. Let's see that's gathers data from and shows a score that it computes based on a formula it chooses based on the data extracted. So it had. Think of it as a 1000 plus plugins. Classified green, you can guess green means okay. Some yellow, some red. Based on the criteria that were selected and and that. Okay, a Google sheet might not be how we do it long term because in order to deliver it to the plugin site. And then to the plugin manager. It probably means how to deliver and how to deliver would likely be through the Jenkins update center, adding additional data. We'd also show in the plugin manager then. Exactly. That's the idea is that we would, we would like to have something on this UI showing on the installed and on the available a hint of what the score is for that plugin. Right. So we have a UI designer and so we've we haven't had lots of ideas yet about how do we put that but you could envision maybe over here a column that's that's the score column or something like that. And of course this is as a Google summer of code project idea this is just an idea this the Google summer of code contributor or the candidates should submit their proposal and their plan for how they would like to do it. Make sense. So, can you also share the Google sheet that you're talking about here. Yeah that I don't know if I can yet I've got that's when we may want to check with Jake on Jake Leon has the sheet. And what it has is it's got it has some embedded credentials inside the sheet. It really was a very fast prototype right and so it's not not safe to share it because it it really has an embedded some embedded credentials. That makes sense. Then there's no need to share. But but showing a demonstration of it I think is a cool idea it's like hey this is here's something that that went very rapidly somebody put together very quickly that gives us a high level view and it already highlights some things about. Oh wow I didn't expect that plugin to be read. Why is that plugin read based on the scoring algorithm. Right. Exactly just wanted to get an idea like how they are calculating that song. So, right, no need to share the sheet if it has some credentials. I know exactly. Yeah. So now, one of the things that's been requested is it, they would like that it's, it's extensible by others. So that if someone wants to add their own attributes and use it for scoring that would be a preferred thing I'd like to add the following additional attributes. And they may not be suitable for the, the general display but more for some specific need somebody has inside their company or in some other place. Someone selects a custom score for their, their scoring system that will be visible locally right not, not to everyone. Correct, they would have to provide their own update center to deliver that data. The Jenkins update center wouldn't deliver it correct. And now it could also be that it could be through a second service that uses the same key is the Jenkins update center but but I that part hasn't been discussed in depth yet with the update center experts I suspect the plugin site and the plugin manager will have an easier time of it if they just use data from if we just extend the update center data model. I'm thinking that having the tool, just do the three classifications would be weak that we'd be better off to have a numeric assignment and then have the tool say that, you know, 80 to 100. And that might be something that would be extensible because what I could see is some sophisticated shop could say you can't do anything that's worse than this, and it might be in the middle of one of those color ranges or something. Well, and I could even see potentially things like, hey, I want a multi attribute score. I don't want to simplify this to a simple color or to a simple letter grade I want something that's got more attributes than that because there may be I may say look I'm giving this thing an F insecurity and an a and these other things. I might like an indication of whether a score has gone up or down in the last. Ah, now that's a good, a good point and that is a historical view view of the score. I hadn't thought of that one. That's an interesting suggestion. Good. And that does make sense. Hey, is this is this plug in score increasing or decreasing over time. I want to know if I've got something installed that I'm using and I might want to know if it's quality score starts going with south fast. Yes, yes, I agree. I think that's an interesting piece of data. Yes. Great. Thank you. Anything else on plug and help score discussion. No, nothing as of now. So this gives me a rough idea how to do it. So I research on my own. All right, thanks. So then, then the next, the next topic, you had mentioned dirage was the automated plug in improvement poll requests. I don't have a lot of data there are a lot of background there I can give you my wild guesses and that's about it. So, yeah, no problem. So, so here the idea is this one provided by Basel Crow, he suggested that hey, we've got a series of small steps that we've identified. And he then lists a number of steps that are actually in the contributing to open source document. There are more steps than that that he noted but many of the ones he listed are there. You can automatically apply those to the, to the two plugins and submit the poll requests, build them and submit the poll request. You left out add after automatic if you hear. Yeah. And, and my perplexity there was, wow that sounds, that sounds like having a machine write software. And, and I'm very interested in that kind of thing I just don't know how to do it. We had some suggestions of techniques that might be possible to use to do that. Exactly. So it looks like the next step of plugin health score kind of right. Yeah, yeah. Absolutely, this is a some some set of these are likely to be included in the health score. If your parent pond is not up to date, that should go go against you in the health scoring. If your Jenkins base version is long out of date, you're claiming that you'll support Jenkins 1.600. That should go against you because the nobody tests that far back. Make sense. Oh and fold into some of your test coverage numbers that you've got Mark. Oh, that's a that's an interesting already for all the plugins you can you've got that those statistics, which aren't perfect but they're interesting. Yeah, so well and that's, that's a that's a good one that one's actually in the the test coverage thing is in the list of of candidate measures. So yeah, that's a good one. Now the embarrassment factor there is quite high so good. All right. So what are your topics on or any any questions dirage that I can need to defer to or say I don't know the answer to what what do you have additional questions on plugin improvement poll requests. Not anything as of now. So I would think more on plugin and health score first, and then I'll shift my focus to the second one as well. Okay, great. Thanks. All right now Meg you have the next topic she code Africa project ideas. What's on your mind. I was thinking, we seem to have some people there that are interested not encoding and not in documentation but in project and product management. And you put in a tremendous amount of work running she code Africa last year and it may be worse this year. Had you thought about taking on sort of the equivalent of a TA or an assistant. And you could maybe, I mean, I don't, I think oh you could save mark time no it probably take more time because you probably have to meet with them and stuff. But whether you could potentially, I mean, pretty quickly they could be the ones that had to turn the recording into something that's publishable and get that published. And, but you could go over with them, you know deciding the agenda how you decide what's in the agenda. And by later in the project, we might have some meetings that you let them run with you there, you know, ready to take, you know, you have like the driver instructor that has their own set of controls that they can grab control of the car fast. But that's what I mean, it's a legitimate need and there's some people who seem pretty interested in getting involved in this that that's their interest. And I wondered if that's something I mean that really becomes a question for you because, but one thing too might be, like I know last time one of the disasters was having me run some of the meetings I mean everybody wanted Mark. You know, if they were doing real writing I might be useful but, and I can, you know, I could attend but, you know, and it may have to be you there for the brains but it might be, you're awfully good at this that you could probably teach them a lot of stuff. And that's, I think that's an interesting idea so that that sort of reshapes the concept as, Hey, look, we're going to do an entire project. And we're going to have one of your people be a mentor project manager. And others will be the developers on it. Maybe others are the documentation writers for it. Yeah, interesting. And another possibility I thought of is I had the feeling last time. It was a very nicer person everybody was nice but the she code Africa, they were a little scared to stand up, or some of them were a little scared to say I'm in trouble. I don't understand this. This doesn't interest me or something. So if they if you had an apprentice working with you that might be someone that they were more comfortable talking to. And they could try to solve it or bring it back to you for advice or. I mean, you know, it's a big question as to whether you feel like you could absorb that with everything else. I think it sounds it's an interesting idea I like it it gives a, it gives a broader picture to it. Good, good suggestion I'll include it in the, in the posting to community dot Jenkins that I owe. Okay. Okay, good. Other any other suggestions on she code Africa project ideas we've got several more in the document later in the notes from previous meetings and I'll use those as well. Right. I mean, we, I guess we could, should we let's take a different same angle. Should we invite someone to be a mentored tester. Oh, right. So, interactive testing exploration of the product. And that one's more complicated because well. Yeah, I think testing's a testing's a very difficult task and doing it remotely and doing it well is is daunting but it's it's an interesting one to do. But it's also, I mean, what it would take is somebody who is a hardcore experienced tester who's willing to mentor this person. And that I think is the is the crucial thing someone who says yes I'm willing. I'm interested in that but I don't have the capacity to do test mentoring of a tester whereas I could see potentially mentoring a project manager. Right. But if we could get somebody I mean, even if they did, even if the tester just tested and they watched and surely with testing there is some grunt work that you can say this is how I run this test now go do that on these other. Right. Yeah, or something. I mean, it's, you know, I, I kept forgetting there that the point that the goal of this project was not to improve Jenkins was to to give these women a chance to get some real knowledge that would be useful to them in the future. Right. Yep. Okay, good. All right, anything else on the she called Africa topic. This topic then open PRs. Okay, does anybody have anything else they want to discuss before we run out the clock on these. No nothing from my side. Okay, Mark, click on the first one it's our old favorite. Okay, Daniel's been looking at it I really for the rest I'm going to have less time to devote to Jenkins in a few weeks. So I'd really like to get this one done. And the preview, the last time I checked yes the preview is good. Oh, good. Okay, so view deployment is working to be one of the longest discussions in a long time it's fun though. Great. Okay, so let's take a look at it so this is documentation and this is the rework of the securing Jenkins section right. We have a couple of things that have shown up and I realize. For a mind, the, the reason we started this was first of all, I was sitting on a whole bunch of information that I'd gotten from Daniel, some years ago for another purpose that wasn't here, and wanted to get that captured before it get that I because I thought it was good. The other one was that Daniel wanted one place where he had your security security is tough because it affects everything. And he wanted one place where he could go to quickly click screw and see what we had on everything. And so then I started thinking that we were going to pull everything into this chapter where we're not. So what we've ended up with is the list on the left is way too long. We may not be able to do anything about that. If you scroll down here mark this is the index dot a doc file. I've got a list of everything that's over there in the left and that's where Daniel first said this is too long. Okay. Now, what I see is and then when I looked at it, it's like, yeah, the, a go back up to the top. The topic here is the global configuration. I'm sorry, scoot a little bit down. A little bit more configure global security now to me, what I want is I want to place that's a big screen that I can go and it's going to go item by item and tell me what it's for. And if there's something more to be said, give me a link to it. The next several sections are all within that. In other words, if we had a third level heading I'd put them underneath there. Since we don't what I'm thinking is that all of that other stuff should be pulled out. And it will show up in the global security but all those links. And that means that the chapters would show in the left frame and would not be discussed here, but everything down through I think CSR protection, I think, rendering units user count and I can't remember, but most of those would disappear from this listing, but they would still be in the left. Okay, so the, so this, this then becomes a higher level view of think about these things and not just a copy of the table of the contents with descriptions of the of the chapters that are there. Because then, and things that are sitting out there waiting to be added here like there is security for pipeline developers. Probably going to be very brief because the meat will be in the pipeline but it will be a place we can look here and see what have we flagged, and what are we linking to and you know to check it going forward. Mark, because we're all the old structured like Daniel said, when he had something new to add it was hard to add he had to, you know, trip over the structure trying to find the right place our hope is that this will be something that's cleaner to work on. So does that, I mean, I kind of don't like having those two out of sync but I think in this case it's the right way to go. I agree with that I think it makes sense to say that this is a this that the text here is intentionally focused on the user and therefore remove some things that aren't initially relevant there but they can navigate to over here on the left. And it also means that if they're just look if they didn't bother to read the chapter about global security, and they're just what the hell is this markup for for matter stuff they've got it there. Right. So, and then within that, the last one of those is the agent to controller security. And that is about to be taken off the UI, which means I think it should no longer be a separate chapter here. And I believe the place I'll just take that content and put it into the distributed builds. Ah, okay. Controller isolation or so we say it's control it's isolating the controller from the agent basically protecting it. Right. Okay, so, so the next, the next LTS is the one that will remove this if I remember correctly, because 326 removes it from weekly so it's gone as of the 331 baseline or 332 baseline sources is commented to put in the LTS number when we know what it is. Great. Okay. And now you would you would move this page because maybe I could, you could leave this page, but take it out of the table of contents. So leave it at its current location, but by taking it out of the table of contents, it would only be reachable by navigation through clicking other links. Now that that's a little weird for users who may be used to this kind of navigation along the top bar. I also don't like it because like several of these things are not really things that you're expected to configure their builders that are on and that's enough that this is what Jenkins does to protect you. And, and then they go on. And also this actually reads because this whole thing begins with a talk about the distributed process and, you know, keeping your agents and your control separate from your controller is a good thing and then we say but we got one more thing. And then, and I've already modified it even though it's not yet released so but you like being ahead of it. The note down there says releases prior to right after a week of reading through all of the stuff where we say we're changing this it's like, no, it's already changed. Now we have to say, once upon a time kids right on the UI. Yeah, okay. So, yeah, no I so I think that works folded and just wanted to make sure that everybody else agreed. That feels great to me. Okay, and one more, and then we'll move on and that if you could click on background concepts background concepts. Okay. And you, you know the context of this, because we've got security principles blah blah blah. And then we didn't have this before. And then we go into Jenkins execute jobs and Daniel said that jolted him. And I went back and it is jolting it worked in a webinar with your voice mark. Okay, cruise right you know, one of the one of the points, one of the concepts is to know while your system works to see where there could be problems. I don't know what to do about it. I, this is maybe background concept should be named to have a different name. Should we have like a visual separator bar with that help. Like a line. I don't know. But this is, this is isn't isn't the reason it jolted Daniel because it's more than a concept right this is, this is something that's going to talk in very serious details about what happens and so maybe this is the wrong place for it doesn't need its own page does it need. Maybe it should be its own page here yeah that's or is this is this something that goes into the distributed builds page, because probably that page that make, maybe that makes a little more sense as like the first. Oh, we could put it in there. So like this is how Jenkins runs jobs, it's important for distributed builds blah blah blah blah blah. Oh no I was just thinking because it's. Let's look at the background. Because it has an introduction paragraph. And then we could actually make this chapter just be security principles rather than background concepts which is kind of a weak title anyhow. So I like that so securing Jenkins starts with a section which is security principles. Yeah wow I, I think that's very attractive so instead of calling this page background concepts you'd consider calling it principles, and these are interesting I like that I think that's very attractive at the end of know the system we add a link to the next section. And distributed builds that tells how right right. I knew I knew multiple heads could do something about this coolness. Okay I will implement that hopefully before Daniel gets up. All right. Yeah I like that that's that sounds good to me. Okay, and we can scroll down. Mark we don't have to do it here in real time. Also, I've gotten I've been drinking pipeline. Koolaid, and it was all about how it executes a pipeline and Daniel's like freestyle, but it was almost the same. So we kind of did it I took a crack at it but if you had a because I don't understand how freestyle. I don't understand freestyle as much as I do pipeline. So if you had a second to go over there and I'm sure Daniel's going to be knitting at it with a fine tooth comb so you can decide whether you want to or not. Great. Okay. Okay, okay that's my biggie. If we can go on though the others and just glance at them and see what's going on. More. Yeah. Next, sorry okay with this next one three four zero six. Okay. What does the tag of chore mean on this thing. It means this so chore is is a poor poor label to say reduces the maintenance burden, or improves the maintainability of this thing it's, it's just a let's do this because it helps overall. Oh okay I thought it meant this is going to be a whole lot of work kids. No yeah you see you and I have a very negative at least I have a very negative connotation for the word chore. I mean this that label is not a positive label, I take that as negative like, I don't like doing chores, chores are evil things that that I had to do and know, in this case it's a reduction of maintenance burden, reduction maintenance overhead. Well it looks like Daniel close and then opened it in June and there was a flurry of discussion and activity, and then it just died it's just sitting there. And I'm sitting there that it either needs to die for good or be marked on hold or actually get done and implemented. Okay and I'm not sure. Alright, looking at what this is doing. Okay, this is running and a script that grabs external data to populate it. I would have to see the results okay we've got a way to put the release number in there. So, so the one of the concerns raised in a comment somewhere here was. Oh yes figure out how to identify it, we have that now. Yeah. But, but the. I'd have to look at the at the result because we've got the pipeline step stock generator. And this is extracting. Okay, so what he did was he extracted the help. Oh, interesting. In light help pages. Oh that's fascinating. So he's providing. This is another style of the pipeline step stock generator work. This is doing something similar. But for the context sensitive help then exactly right yeah now. Now my fear is this is going to generate an awful lot of content with questionable utility and lacking context. So I worry that this needs to be evaluated carefully before we consider merging it. Okay. Let's go to the bottom of the comments and see because there was a big discussion, like, just, and then it just even part of it back then. So, but in it but it's a year and a half old and then it just right. Okay, so, yes, he's, he's correct get plugin has a lot of HTML help files, and I'm, I hope I wrote them well enough that they are helpful without context, but I worry that they may not be as helpful without context as you might dream So like what was the goal of this maybe like, so here's here's the hint as his goal so what what he was trying to do is get easily referenced easily referenced locations that were constant, where he could point to just what the help says for this, and, and make those on Jenkins that I owe instead of pointing inside the GitHub repository of an individual plugin. Did that answer your question Kristen. He wants convenient hyperlinks from outside into this location, so that he can refer to it and say hey here's what the help says read this, or look here's here's this help could be useful to you. What I did instead was copying all of this to oops to this. Ah, okay, got it. So what what there was is there was good useful information in the online help here rendered as HTML. He wanted that to be available so that he could point to it without duplicating it. And he said I doesn't have a way to point to it without duplicating so I said fine I just duplicated it and here it is duplicated. Did that answer your question Kristen. Yeah, because I was almost seeming like is this trying to solve one particular problem and making it hard because as soon as you have like you know some type of documentation. You have to make sure it's current and updated and just randomly pulling out all that like help doc that doesn't seem to make sense and in context is maybe not what we really wanted to solve. So I think that's kind of like what are we trying to get like what are we trying to do to figure out if we need to do something else. If we updated the context sensitive help this would also get updated then right. Correct. Yeah so so the, the technique he's using in the poll request is he's reading from the released, the released stuff. Okay, so what he does is he downloads the released stuff with let's see let's go look at the thing that's being downloaded it is here. And this would be the current version number instead of that version number. He downloads the release stuff, and then uses that. Now I don't see him iterating over all the plugins so I think this may just be for Jenkins core. Okay. Now I haven't looked at it right so I haven't, I haven't done the exploration to see, but I think this. If we look at his example. I think his example page was with the screenshot was just Jenkins core. What would it take to iterate all the plugins. There's a lot of iterating. That's, it's not much different than what we do today with plugin step stock generator iterates all the plugins. Right so, so it's, it's just, yeah it's another loop. The challenge is this, this list for me is already of daunting length. If I now consider, add the get plug into this. And that's just one plug in that probably doubles the size of this list. And if we're doubling the size of this list with one plug in imagine what will happen to it with a thousand. But doesn't, who is going to use the list as a list. Good point, probably nobody. Right this, the list as a list is is somebody who's talking to a customer and they just want to send them a link and say read this. Yeah, and that's like I was like what are the other guys trying to get down to the root problem like what are we actually trying to solve, because it sounds like it. This is horrible. It might just be better to have like one offs. Yeah, and that's, and that's what Daniel did right you're exactly right Kristen what Daniel did was he said, Hey, I'm going to do the one off and the one off he did was he copied the content he needed into a destination where he could use it. Yeah, so I think that that might be in this way and we could still go back and we could do it per plug in. If wanted in fact even have a thing that you could specify the plug in you wanted to do. Sorry say that again Meg. What if we let this go and be just core but then had something separate to hand do this for plugins if we ever wanted it, or even one plug in at a time. I still think Kristen's question is a valid question I'm not sure that there's enough utility in doing this for core to justify this list, going in with the presentation and the search challenges that go with it. I think it feels like yeah that sounds like it, and even still some of the help is going to be so context specific, or it's just not going to make any sense whatsoever. I feel like the only, or I think the only help that would be really helpful are ones where people have written paragraphs, explaining like what's going on in the background. Right and like name, is that really like the node help name is that really helping, like name of the node, you know, it's just kind of it doesn't feel as if it's, yeah she'll help like. Yeah, the one that I was thinking of okay that I could see how this one would have helped me is unstable return probably has some really good verbiage to describe what the concept of unstable is. But is this that valuable that I would want the other things cluttering and risking negative comments and hostile remarks etc, in order to get that one, that one piece of text. But if it's, I mean what I also see is that reviewing context sensitive help is a challenge. It's something that you could have tell somebody you know every once in a while go through just review all of these look and see what's stupid and what's good and. Yes, and I guess conceptually there then you could. We could even consider is there a way from the resulting page to take them back to the source file so that they could propose a poem request to the plug in that they were where they were correcting that. Yeah, so that's good good insight that this might be a vehicle to encourage people to improve the online help. I mean, could we do this and publish this, like maybe not part of the, it's, I don't know, you know, some some place where Daniel anybody else who wants to get to it. Sure, and that's that that aligns with what Oleg suggested. Maybe it belongs on a Java doc Jenkins that I owe style service. Yes, that provides those pages but is not right inside Jenkins that I owe. Yeah, I can I can see that being more useful. But yeah, because it's just it's, I'm not yes I'm not really understanding. Because I look at the, the what the plug it or the site kind of is a little bit more maybe level or some other stuff that's just I'm just not seeing count and land help is useful in this particular case it feels way too close. Right. I don't like I mean, maybe my part thing is like you can't just point them to if it isn't so file like I mean, you could just point them to get up. That really hurt that bad. But yes, but yes, if you want to put it in something that's more not in Marktown format immediately, we're asking you to format immediately. It probably belongs more in a Java doc site. Like, like, said, right, so at least to me, but that's just how I feel like it. And I think I think Oleg's point is well taken that that if we need this a separate, and we have experience creating those kinds of separate sites. As an example, here is one that was just created by a vendor mirror very recently wiki dot Jenkins that I used to be a confluence site is now just a static static set of web pages. And, and he's got a way of maintaining this site automatically. So, so the technique to create a separate site like that is relatively well known now. Okay, cool, you know who this would be useful for. We don't have a, we don't have a formal support organization for Jenkins IO, but there are support people out there who are having to support customers who are using Jenkins. So it could be very useful for them in that regard, rather than trying to say, go to this screen you know with three, three levels down to get to the screen and look for this block and then click the question mark. And sometimes it's an obvious question mark but I can see for some of these it isn't. Right, right. Good point. Yeah. And I think the use case you just described make matches with what Daniel was envisioning. He talks about, hey wants to be able to link to it. But then in any event so it's been so that was what in summer of 21 so that was like six months ago. We had this little flurry of discussion. No, I take. Yeah, 18 months ago. And, and then, so a year and a half it's sitting there. Pardon me says we either need to do this or we need to bury it. Yeah, and, and I think at this point, I'm prone to just say, hey, let's let's say we're not going to do this. And the pull requests can remain. We don't lose the code by closing the pull request. Just say hey this this is not something we're ready to do at this time. I haven't had this conversation with Daniel back but I think I think it's worth a conversation with him to see hey, we think we should just close this one. Right. I could see us. I mean, personally, I wouldn't mind seeing that say something that we think oh like if if we think we need this, that oh like suggestion is the way to go. Right, or something. Yeah, and then then we could do an online help Jenkins.io or something like that where it's a separate a separate URL that's clearly we can put by plug in by core, etc. Yeah. Yeah. So, okay well as I say I was just flagging things of maybe we're talking at in the onto the next one. And I apologize I've reached we're past my usual one hour limit. I'm sorry. No this is great. I'd propose we pause here unless there's something really urgent others want to be sure we we want to get this is just a list and I didn't see what you did. Shall we. Shall I delete all the ones we did not discuss and just move them into the next agenda. Yeah if you're okay with that I think let's, this is getting us through systematically some of these older ones so let's, let's have you I don't want to remove them now because you'll use them to copy into the next next week. But then let's, let's last week that we didn't discuss I think I gave you a comment I haven't gone back to right. And I like that idea. But did she go into next Monday's meeting last week I screwed up and put it into the she codes. Right. Exactly. So we got here. End of discussion. For this week. Yeah, excellent. Thank you. I will annotate that. Okay. All right, let's call it done for today. Thanks everybody. I'll try to get the recording posted. All right. Thanks to you.