 Welcome to Jenkins documentation office hours, it's the 13th of December. Let's get started topics I had news weekly changelog, and Maggie's got a question that I think is a good question we should discuss and talk through and I don't know that I haven't answered yet but what's the difference between what should what should go and managing and what should go and system admin. And I've got a question that go ahead make what was that you know I did not write up a proposal. Yeah, well and that's why this this is there's a long and painful history on that one so let's have that discussion. Yeah, pipeline steps doc generator that was when Kristen I wanted to get some coaching from you on. And so we've got some some tutoring there that I need to be sure I understand some things. If dirage were to join us we could talk about modernizing a plugin, but I'm not overly worried about it otherwise I've got lots to do on it I've just been very busy with work that I haven't had time to play on that. Okay. Anything else that needs to be on the list. Okay. All right. So and by way of news I don't have anything, anything particular. Let's see I take about was there a. So we'll talk about it in pipeline step stock generator, there was a recent change to that. Okay, so weekly change log then let's do the review. Okay, so, so improve file path API, Java doc and Java doc around validation. So developer topic. That means we've got an action item move developer topic to the end of the post end of the list. Okay. But no objection for me this comment. I think I propose we go take that out of the text having thought about it. Mistake Jenkins and this is which pull request 6033 6033. Well, it would help if I got to the right place just a minute core. Okay, so what Daniel says is developer at file path agreeable for everybody else. I don't know what that is so if it makes sense. Yeah, it's yeah it's this is an API change. Right. Therefore it is it is truly developer focused I think he's, he's right. Potentially we wouldn't need to include it it's, it's uncommon for users to care about that but we've used developer quotes in the past. Okay, JNR POSIX we typically have not put that those into the into the change log so I propose to remove this one as well. Okay, any objections. Next, the experimental option now works with. Oh, okay this is again a developer thing. Okay, so let's maybe we want to put the developer text on it. Although really, this isn't just developer right because if it's Kristen if it's saying this as a property that means as a as an administrator I can start the thing with that option can't I think so but we don't really want people to do that right. Yeah, so, okay so leave it as developer, or do you think we should. Yeah, okay, are you leaving it as developer should we propose that it be skipped. I'm okay with leaving it as developer because I feel that if you're is this like what is like it's the, the option where it's like if some power users doing it, but we don't really want people to use it. If you're exploring that exact option. This is the way to do it. If you if you don't need to explore that option you're probably endangering yourself by doing it. That's what I'm that's what I read from this so it's like rather. Okay. And the fact it's what does it mean that it's called experimental. It is an experimental feature but like, yeah, a year from now we might tell administrators how to use it right. Right. Exactly. This is, this is what what Basel's been doing is making steady progress to replace the the existing thing that loads Java classes with a hopefully better thing. And this is very much experimental right now because class loading in Jenkins is very very important. So, so this this thing that he's doing is is actually experimental in the word means it's very in that case that it's experimental, except, as I had to think twice to see what I meant I wonder if we should say the blah option. It works as an experiment or that's that's not good, but it's the option isn't the experiment. It's the option now works experimentally, or so you can turn on the experiment. Is that kind of what you're saying that. So that would work out can be turned. It's, it's in, you know, we're saying it's in beta status. So like this. I wonder what you're saying I'm not sure quite how to say it and get the message across. I'm experimenting with plug in first class loading that that makes sense to me. Or is it that we should do we need to reference URL class loader. I don't think so because that's probably that might be a little bit more detail. Yeah, a lot of people is like, I guess is like, I don't you see this as especially if it's experimental a lot of people. The people who are using it probably know what it is. Okay. So that maybe they're like, okay, like fossil like if he's testing stuff or has you know people running through a whole bunch of stuff. Is there a JP for this big project. Good question. No, there is not. Is there anything written up that we could It's just, it's just been evolving. So there, there isn't any, any, any doc that I'm aware of separate from this, the progress that's in the pull request themselves. Okay. Okay, so is it this, this, this dash. Whoops, that didn't help at all. That's dash plug in dash first class. I think the meaning here of plug in first class loader is not that there's a hyphenated plug in first. Or is it is that what it means is it that it does plugins before everything else. I think I think if it's first class I think if there's a dash at all I think it's between first and class but it has me perplexed what now now I've got to go find out. Okay, what does what is the Java doc of this thing say I've never read it I've seen I've seen it mentioned. Okay. Yeah, so it uses jar and classes before the core class loader. Okay, so it really is loading plugins first. So it, so the hyphen is exactly placed correctly. Yeah. Okay, all right. Okay. So it's that this is working this way. Right. Yeah. Okay, so I would have thought we'd had, we'd had to the core first. Okay, so you're right if I alter it that way. Sure. Yeah. Okay. That's something new. Now, next one regression in. Oh, okay this one. We typically phrase the regression at the end of the sentence. Let's go here. Read it. Oops, that was not what I wanted. Oh, because that's not the poll. Okay. The poll is this. Okay. Newly created items are again automatically accessible to their creators. Good. Is that a fair way to say it? Yes. Okay, so newly created items are again. Automatically made accessible to their creators. Regression in three to two. Okay. Now. Now did I damage it though? How do I include the fact that it's. No, I'm going to cancel. I've got to wait a minute. No, no, no, no. What about newly created items affecting the matrix off plug in? Are again, automatically made accessible. Yes. So my worry there is, I mean, regression and parentheses at the end is if you wanted to keep it at the end. Yeah, that's, yeah, let me let me grab this text. I'm going to back off. I want to read his words again, because I think there's something I did there that was just wrong. And so let's, all right, so. Put them both there. Here's the broken phrasing I used and just, okay, regret. Affecting the mate mate. Okay, so. So. So is it in the context of the. Yeah, so I newly created items affecting the matrix cost plug in. I'm going to just insert that. After items that I think here. It looks to me, I'm not understanding what it is. Yeah, I'm almost reading this as like it was something that. The reason we found it is because we saw there were issues with the matrix off plug in. Right. Right. So. Does that make sense because it's like, because this is something in Jenkins core. So it would be a fix for that. Yeah. And I think, I think we owe it to ourselves. Let's do some quick reading. Okay. He gives us a nice link to his. All right. So. There was a change made in to do. Use listeners. Notify. And it started failing these tests. And. That's notice the matrix off right there. So. So matrix off depended on something that was. The matrix off depended on something that could not have this called anything exactly this way. Okay. So newly. Again, automatically made accessible to their creators. So is it. To. Prevent. An issue with the. Matrix off plug in. See the, I'm not sure I'm saying it well enough. I'm not sure it's going to have any more. More coaching. What if it's the regression with the matrix off? What we don't know is if this affected anything else or did you. Right. Yeah. I'm reading this. It seems. Yeah. It's a fix. Yeah. Regression. Yeah, that that sounds okay. Yeah, that. That looks good. Is that okay? Yeah. I mean, it's using the word regression twice, but I don't. obvious to me how to make it better. No. Especially if we wanted to keep progression at the end. Yeah. Yeah, it's like just a. Which is the pattern, right? We're great. That's important. That way people are skimming. They can see that. If we don't put the parenthetical regression in, then we have to work the 2.324 into the mean. Right. And then every other case where we've put the regression on the tail in parentheses, it now is out of, is out of sync. So, right. Okay. I'm game with going with this. Thanks for your patience reading it next then. All right. So. Filtering now how it's unavailable updates on the updates tab in the plugin manager. Needs a full stop at the end of the line. But other than that, I think that's okay. Is it wait a sec. Is this really on the updates tab? Oh, no, no, no, no, I remember this one. Let me double check. I've got to see this on a real Jenkins installation. Sorry. Because it's in the plugin manager. I actually was one of the ones who tested this interactively. Oh, yes, it. It is in the updates tab. Okay. So the problem was. If I was in the updates tab and an update was available and I started filtering with some text, it would you apply the filter except for updates that could not be installed because they were too new. So okay. So now I remember and all it's missing is the updates tab is correct. Okay. So full stop. All right. Next then. An agent to controller security measure failed to purchase persist configuration. Yes, like, okay. Usually we like them to be present tense. Any hints on how to phrase that to be present tense and because it's a fix too. Right. This is a bug and I think we should. Yeah, it is that we. So what if we flip it around? Configuration. Is now. I can see that. Yeah, because it's doesn't really. Is present or. Configuration. What was it with an agent to. Controller. When there was something failed that blew the configuration. Although it just threw an error and it didn't save. Oh, yeah. So what we see is. Hey, failed to fully read. This was the error it through. And then it didn't save the result. So. Ah, so. Configuration is maintained. After an agent to controller security. Oh, issue detection. Okay. The problem was that it detected an issue in the agent to controller security, right? The agent was trying to transfer something that it wasn't allowed to. Okay, so. Agile retain agent to controller security configuration. When, when, when. Saving when. Well, it was because it failed, right? And that the. No, I think it's well. There was an exception. Very confused. Yeah, so. Failed to persist a rejected callable's text. No such file exception. So it's like not saving the error message. So it's just throwing something instead of notifying that there was something that was. Because I'm reading this like secrets rejected. So it's at least like there's an error. It's just saying for some reason that it's not. Letting you. Because what it was supposed to happen, isn't it? Isn't it like with. Inscripting. Is the administrator supposed to get a list of things that. The agent attempted to do. That it wasn't allowed to. Yeah, they can go in and change the. Allow, let's let's go look and see. I don't know. Okay, so. So this was merging security fixes. And then he says this, that change would be. Obsoleted by this. Oh, okay. So this, the one that he says it's. Obsoleted by has not been merged yet. Okay, so. And here it says callable rejection config through an error rather than. Persisting anything. So is it that. An attempt. I'm not sure. And so it's based on the stack trace. It's trying to append something to a config file. So it's trying to remember something. And in this case, the thing it's trying to remember is the allow list. So it's, or no, it's trying to, it's asking a go ahead, Kristen. Yes, because I see it says fully read secrets rejected. Right. So this is whitelist is probably a negation, right? So it's checking that's not whitelisted, not not allow listed. Okay. Back to the text retain the agent to controller security configuration. When saving. Is it really configuration or. To me, it's. I'm in so far over my head. So it's all done. But if I try to, if my agent tries to send something to the controller, that's not allowed, that's not whitelist or not on the allow list, not standing. It's supposed to get written to a list, a file that the admin can later review and say, oh, that should be allowable and add that, right? And that's what it sounds like to me. It's not getting added to that list. Right, which I don't think is configuration. Right. Well, and that. Okay. Good point. So it doesn't what I think of as configuration unless, unless this thing is read later. If this thing is later used as, as a list. And it could well be just like it seems that the file is maybe not there. So, or it's like, yeah, text read. So it's, yeah, no such file exception. So the. Yeah. So it's that when the file did not initially exist, the attempt to append failed because there's nothing there to append to. Right. So, but it wasn't configuration. It was the thing didn't get added to the list. Right. Well, I agree. So we should take out the, which technically is configuration, but it's not what we, well, see, the piece that I'm not sure of is usually Jesse, when he would phrase something like this, if it had just been a log, he would have called it log. And so my suspicion is that I bet this thing is read that it's later read and used as, as effectively a data store. Well, right. That's probably how they found the problem in the first place. It's probably he was like, wait, I know this should be rejected versus the file. That's how we found it. But I kind of agree. I agree with Meg though a little bit because it's not really a configuration until you can either approve or deny it, which is why it's kind of a little, I don't know, because if I'm reading this, I see this as a configuration. It means that I tried to set something and it didn't work versus what sounds like a standard error that just kind of happened. The agents doing their thing. I think separate for a log that the agent to controller thing gives, creates a list that then the administrator can go in and look and choose things too. And that's what I think happened. It didn't get written to that list. So you're thinking, say something like this, rejected Collable's list. Why? Yeah, I would, I would, I just feel weird saying configuration because it doesn't, it's not something that until you go and select the things, I don't know, it doesn't seem. Agents to controller security violation is now added, properly added to the list or something. So, so, OK, so you're saying add agent, something like that. And maybe we say rejected Collable's. Yeah, that's, yeah, let's call. Let's call the name of the file just in case. Security rejections, I would call it a security violation, but I might feel well be wrong. I'm sorry to say that again, Meg. I would call it a security violation, but I might be wrong. I'm just, well, I'm not sure that. Yeah, OK, because I don't know that in this case, it's a violation in that sense. I think right now it's rejected. This is saying, hey, the code detected, you're not allowed to do this. And it's reporting that you're not, you're not being allowed to do it. OK, right. Like, I'm not entirely sure we should call it violation yet. Yeah. And to me, I mean, it is because it is violated the rules that are currently set up. And I think there's a list that the administrator can go in and then quickly click and say, no, I will allow this, but I'm not. OK, well, I mean, we can certainly we could certainly go read the code. I'm I'm now at the point where I'm I'm not confident that I'm doing a good job of rephrasing. Is that are the two of you OK with that as a way to do it? How would what would you like? That's OK. Can do we have the option of going back to Jesse and saying, can you clarify this, this, what this is? We certainly do. We can just leave it text as is. And and say, hey, let's ask for his help. Yeah, because Jesse is pretty articulate, but we all write ups. And I think I've done damage. Now, you hit cancel. Yeah, but was is this what it was before? Yeah, it was a little confusing. I think that's why we were. Yeah, yeah, that persists configuration. We got rid of that. So that was OK. Wait a sec. So oh, yes. OK, it was. All right. So so I'll just let me put it into the notes. Ask Jesse for help for help on the. And he may just snicker and say, look, it's temporary. Don't worry about it. And that's OK. That would be OK, too, right? Exactly. This is going to be obsolete. We're wasting energy on it. OK. All right. Next one is a bug fix. OK. And it says. Holding custom log records softly. So large record parameters do not interfere with garbage collection. OK, instead of holding, we need something that's not adjourned. But so that is a really tiny editor. OK, so something like how about do not interfere? How do we say what about custom log records? Are now held so that large record parameters do not interfere with garbage collection? Yes, yes. Are now not stored, held. I don't like held, but. Right. And I don't know that we need to say softly. It's just we did something. Right. I was I was kind of like, I'm not sure if that's like the technical. Yeah, what is it? I was like, exactly. It's like, I think I understand what's saying here, but it just doesn't you just have this, you know, this holding like a cat, like very gently, you know, I'm thinking of a bit of flat killing me softly. Or something like that. Right. OK, so how about custom log records? Do not interfere with garbage correction of large record parameters? Custom log records with large record parameters. Oh, there we go. Very good. And is it no longer interfere or? Yes, yes. Right. There you go. Even better like that. Yeah, I think I like that. Yep. OK. Everybody knows what garbage collection is. We don't need to say Java. Nope. OK. We're good. Custom log records with large record parameters no longer interfere. Yeah, I like that. OK, good. I can dance with that. Yeah, me too. All right. So and then there are some to look at to see do any of these look like they should be in the log and aren't. None of those cause me any concern. I'm going to go ahead and run the job. Anybody else have concerns? I'm good. OK, actions. Change log drafter. Run. All right. Next topic. Are pipeline steps more important than managing Jenkins? Actually, I don't will. Maybe how about? Yeah, good question. This one is probably lots of thinking. This one is a quick one. So let's move it down and keep it. Keep get this one off the table very quickly, if that's OK. OK. All right. So so what happened was there were updates to an automated test and some other updates to the pipeline steps. Doc generator. OK. And as a result, I ran a comparison between the old and the new and the new now adds. This OK, so here it is before this particular change that what it was doing is fixing a test before this change. There was no entry for the doctor slaves plug in. Doctor slaves is this old plug in four or five years old last release. Now it's included and I think it's OK and makes it. It is appropriate that it's included. I was just surprised to see it arrive. It could be that there might have been an error that was failing before or being kind of swallowed. OK. Just we kind of like hold with it. And maybe now because we did a change, it's no longer swallowed. I'd have. Does that, especially if there was like certain things already there, like I wouldn't doubt that maybe maybe something got. And that that is that is quite believable. That's an easy one. And let's see if OK. And now there is change like entry for it even. So OK, when I when I wrote this, there wasn't a change like entry for this release. The release is now available and there is a change law. So so I think I think we go with it and say it's OK. Yes, that should have been there before. And it is. It is. It is. Yeah, exactly. Like I kind of want to go through and I know I've I don't know who the main who the maintainer that generator is. And they've not doing a good job keeping it up to date. But now they just get it because it's it definitely was me. But I wanted to kind of go through and rewrite some of this stuff, how we generate some of the documentation anyway, just because I'm like, I think that it could be maybe easier to understand and or just easier to maintain because it's got some of it's kind of a little. To make ASCII doc, it was very difficult. And there really wasn't anything available at the time when it was written to like easily export things into an ASCII doc. And right. All has changed and updated. And I think it's more it might be better to be able to. Play around and even with all the changes before there might be some better ways to do things. So I don't know it might be time to go through and I'll look at it. It's been a little while. So well, but for right now, it's doing its job and it's doing its job. Well, OK, OK, because I was really worried about that. Like I'm just kind of like, oh, I feel horrible. I released it. It's like, oh, goodness, I feel this thing. Stories is actually quite a good story in that it now every week. We update this thing to depend on the most recent weekly Jenkins. And it just continues working. And there was a change just last week that an API method was deleted. An old deprecated method was deleted. And this was the change to fix that. OK. And that. So so it's it's actually being actively maintained in the sense that the body is telling us, hey, this needs to be updated. This needs to be updated. And so it's it's actually. Well, it's as healthy as as any of our tools are. I think because it's got people watching it. And when it fails, we we go after it. OK, because I was worried it was like kind of just kind of lingering over on the side and it's like, oh, yeah, I do all these things. It's like, I really want to go and like make improvements or like generate some stuff and make it maybe not make it so crazily nested. And it's just kind of I didn't want it to be a drag on her project. So I'm glad that it's not going. Yeah. I'm glad it's not annoying people. It's kind of really. And as far as I can tell, it is not. It's doing it's doing quite well at meeting the needs that that it was originally written for. So no complaints for me at all. Oh, good. OK, well, thank you. I did not know that you were the brains behind this, Christian Kudos. I think it's a fabulous thing. Thanks. Yeah, it was really cool. Like actually, it operates like a headless Jenkins plug-in manager. So you can actually have a plug-in manager that's separate from Jenkins and it loads everything up into itself and generates documentation. So yeah, that was fun. It was really fun project. But it's not exactly the best steward of open source and keeping it. And it's it's quite impressive how well it works. Right. So I mean, I'm glad it's for me. I'm still I'm still enamored by this one. I just oh, no, here we go. I have to show it. It's it's if I go to Jenkins pipeline and I look at the pipeline steps here and to think that this one here will pick this one. And now I'm just going to shorten it. This thing was all extracted. By the tool, I mean, it's it's oh, yeah, that's it's doing its job. Awesome. All right, it's maintainers that aren't keeping their part of it up. Maintainers that do a good job there. Sure, it works beautifully. I know, that's a lot of good documentation of the get lots of good examples. All right. So so ready for the hot topic then? I am. OK, so here's here's the here's the this is the Markway Hall of Shame that we're now going to go wandering into because I think the reason this ever came about is because I made a mistake. So what we have is we have a section called Managing Jenkins. Right. And what's it got in it? It's got. Configuring the system, configuration is code, time zone, tools, plugins, script console, hook scripts, agents, script approval users. OK, those. Yeah, those are all about managing something, I guess. But now we look at system administration, backup, monitoring, chef, puppet, these things are actually configuration is code. And we've got a configuration is code over here. So so, Meg, I think your question is leading to what why do we have two sections managing Jenkins and system administration when those don't that doesn't give any clarity for categorization to the reader. True. But what I see, though, is if we combined them, it would be way too big a section. Right. Right. So maybe there it is that there needs to be some other partitioning here that it's it's not managing and system administration. Maybe there's there's a better partitioning for it. One thought that I had this is trial balloon. So was that we make the managing Jenkins be. A section basically for everything that's on the manage Jenkins page on the UI. Oh, roughly in the order. OK, that would. Yeah. And that that gives it a nice flow in terms of documentation. Now, what is it used? Is it how people think about that? But I think I'm thinking that if I'm new to this, I'm going to start with the UI. OK. And I am now that we've got a section on configuration as code, you know, we can start pointing through. This could also be done through configuration as code. Go look. And then because there's there's something in there, one of them, it's like a list of options you can use when starting Jenkins or something. It's like that doesn't show, you know, that's not on the page. But I also know I mean, with the there's managing administration and operating and it seems like the three terms are used sometimes interchangeably. And sometimes they have the marketing people think they're special meetings. But OK, so that last thing you said, I'm I'm wrestling with it. Can can I pull back just a little back to the manage Jenkins? So I need to get concrete examples. So I'm going to bring up my Jenkins instance just to be sure that that I've got a specific example. OK, so here we are. And on manage Jenkins here, we've got system configuration tools, plug-in management, nodes. Configuration is code. This these others, these two, the one that's that's highlighted now is a separate plug-in. Likewise, this one and this one and this one. But configuration is code we've got. So so these this one, this one, this one, this one and this one, those sort of five that form this right left corner are all, I think, already in or are they in manage Jenkins? Not all of them. So tools is plug-ins is. But I'd like to make the titles exactly match what's on the screen. Oh, that's a good point. Because that means on this page, if you're looking for help and then the managing the index file in managing describes the whole page. OK, that you've got these and with a link to the section about them. Right. OK, so that now that that would then lobby. We would. OK, so that would mean that, for instance, manage Jenkins would have managing users, which it does. And in this case, it's exactly the text that's used there, right? Manage. No, it's not not quite manage users. OK, I saw the plug-ins one, too, right? Is there a plug in? Sorry, what was that, Kristen? Oh, sorry, I was looking to see if there was also like a plug-ins one. Or there there is. It's managing plug-ins here. And right here, it's called manage plug-ins. But but I think it's it's a good mapping. Hey, if it's on manage Jenkins, the page. Then it belongs in this section. And maybe do we call this section manage Jenkins, although all the others are using jaren. So maybe it's best to keep it managing. We could. And then and then it could start out the managed Jenkins scheme. Screens have a lot of what you do. Right. Now, the one slight exception would be if you go back to your where should you your instance that you had. The one thing down security. Now, security is in a separate section. I think that's OK. Well, but but I can reference it in the index file. Well, and isn't security in a separate in the separate section here, this is this is conceptual things. Not not UI clicks. So I think it would be perfect. So so this teaches you what is access control, right? And that's right. What's control isolation? So these are these are security concepts, whereas in managing Jenkins, if we said we don't tell them how global security. Right. We don't know how to do credentials. Right. And then we we could link there from there and say, OK, when you click configure global security, here are some choices and the choices are described in this other section. Right. Yeah, I can write my way around that. At least a draft of it. And now there are now system time zone. Does not see for me, that would move into administration. That's one thing that's not on. Yeah, then looking things. CLI script console, I think are there. Groovy hook scripts would move into administration. No, actually, I think I think that one's well on their scripts. No, I think you're right that. So this is a good test. We have this thing called script console. And I love it. It's a great thing. Script console is wonderful. But it's different than Groovy hook scripts, right? By script console gets its own thing. Groovy hook scripts, they're sort of related to each other in that they're both groovy expressions. But really a groovy hook script is actually not executed in the script console. Right. So would that be something that moves to system? I would think it would. Yeah, it should probably move to system administration. Right, that or it could be subsumed into the other one. But in this case, I don't think it makes sense. All right, because that's a startup, right, Mark? Like the. Right, right. The hook scripts are there are two. There are two flavors of hook scripts, right? If I remember, right? And one is, yeah, the post initialization is the most commonly used hook script. Right. OK. As, hey, in when when you're as Jenkins is coming up, anything in it that groovy that D is executed as groovy script. I'll show you all manner of dark and fascinating things with Jenkins startup. Aha, yes. OK, so so to capture the concept, then the concept here was all right, managing Jenkins. Will be reserved for items with the top level entry on managed Jenkins. So this would be managed plugins, configuration is code. Let's see. Node management tool configuration. Actually, that's a good one. Let's get that phrasing exactly right. OK, so managed. It was manage nodes and clouds and global tool configuration. OK. Well, we're going to get could put system configuration up above. Yes, yeah, yeah, absolutely. System configure and and probably should have those in the order in which they appear in here. Right. And in the UI where you've got the matrix. So you read global tool configuration as a second thing. Not manage nodes. Sorry, what was that? If OK, if you're looking at the system configuration block here. Figure systems one, global tool configuration is two. Right. OK. Because some would read down the first column and now we're the second column. Oh, right. Yeah, so it at least for me, I read left to I was reading left to right. So yeah, I think I think what I look at those because I think tools would come before nodes, maybe. I don't know. Yeah, let's see how they render it this way. So it would certainly come before configuration is code. The configure system, global tool configuration, plugins, nodes and clouds. Yeah, that's the order. That's the same order. OK, I've got that. Yes, so that's good. OK. OK, so let's get that. So it was configure system, global tool configuration. OK, manage plugins, manage nodes and clouds. OK, this one is a custom plug in that is not used widely enough to justify putting it under into our top level nor configuration section, but configuration is code is we want people to use that one. So it should be there. Right. Right. The other two, these other two are are sort of my orphans and then are things that I happen to love, but not not general purpose enough. Then configure global security. What was the other manage credentials? Yeah, yeah, actually, we could have sub lists here because there are those big sections. Oh, right, right. We should if you want to list it all, if you want to list them all. I'm not trying to list them all. Well, that's that's a good good point, though, is that there is, in fact, a system configuration block. Right. There there are higher level groupings and we we do our users a disservice if we don't acknowledge those higher level groupings. Right. Well, I will, when I write the questions, you have to do it in your minutes, but. But I'm all for it. So and manage credentials. And we've got that one configure and I think that's a standard thing, right? That's not something I did. Yeah, OK. Yes, it's I don't understand it. We may not have that I'm going through looking for low hanging fruit first right now. But we can mention it. Yeah, the pages don't have to be really long, you better just as long as they touch it. Right. Yeah. As long as there's somewhere if someone has a question, they can click on something and get an explanation about it. But that's I consider that to be a win. I mean, right now, the configure system is content free. So we could improve on this pretty quickly. Yeah, so then and so the idea is then system administration includes the rest of the rest of the things. Anything else, right? Right. And that means now we've got the other administration topics. And that means we've then got redirects. To be created, what do you call it, for files that have moved? Ah, because today. This page, let's go to it as an example. This page has a fixed URL. Right. And if somebody had a hyperlink to that, they need to find this page again, even if it's moved to the system administration section. Yes. OK. And so I need to learn how to do those. I don't know. Yeah. So redirects are described in the contributing guide. Right. And. Because these are top level file redirects, they should be quite predictable. Yes. OK. OK. Good. I can stumble on. I mean, I I'm not going to fret if I don't get it 100 percent right. I want to if but we've got the theory that we're going on. So I'll do something close and we can tweak it. Right. Great. Excellent. We've where is the origin? He didn't get sick or did he? I you know, I haven't heard. I assume he's resting. I hope so. I was actually feeling well last week. But but he may also be busy with work, right? It's he's got a job. Yes, that's that's fine. I just wanted to make sure that we didn't know he was sick and we're just saying blah, blah. Yeah, I hadn't heard of any illness for him. So we'll hope we'll hope for the best for him. OK, cool. So we've we've hit our hour. Other topics before before we close. I'm good. I can stay off the streets with this. All right. Excellent. Oh, wait a second. One more mistake I made. Sorry. Help me remember in the future. One of the things that needs to happen is. When we've reviewed the changelog. We need to actually approve the poll request. OK, we can help with that. You want to do that in this case because of that just that one thing that we want just need to check. Actually, I still want to it's still better to have a changelog with the text as it exists now than to not have a changelog. OK. And then we can always rerun it, I guess. So reviewed in docs, reviewed and approved in docs office hours. And now I won't merge it because there may be additional changes that will arrive. OK, I guess first case scenario, if someone has a question, we can hopefully they'll know to ask any of our communities, like just because it's like this or maybe, you know. Yeah, yeah, if well, hey, it's if there's a mistake in it, we can revise it if there if if there's some if our lack of understanding is terrible. Still, it's it can be revised even after the release. OK, great. Right. All right. Cool. Anything else before we conclude? I'm good. OK, thanks, everybody. All right, thank you next week. I'm up for next week. Oh, yes, I have to warn you, I'm up for next week, but the following week, I am not. So I intend to be gone the week of the or during the 27th and even the week after that. I'm going to take the the the Monday after the New Year, New Year, after New Year's. Also, I won't be available. So we'll meet next week, but then I'm going to take a two week break if someone else would like to run it. It would be OK, but I plan to take a break. Sounds good to me. Yes, I'm probably not going to be here for either of those dates, either. So all right. So we'll talk again next week, and then we'll plot and plan for our time off at the end of calendar year. Yes, sounds good. All right.