 Welcome. It's the 16th of June 2023. This is documentation office hours topics for today. Google summer of code errors in the 2.401.1 change log pull request from Jeffrey Chen blog post review and a draft PR. And we may want a discussion or whoops, a discussion and review of Java 711 to Java 17 changes in the documentation. Just to that might be a good group exercise for us. Any other topics you want to add to the list. Nope. Okay, then let's roll. All right, so first item is on Google summer of code Chris any specific topics there or areas of concern. Yep, because we have we finally have a preview site, and I just shared a link to the chat. So you can see it's like, it's a Google as a GitHub pages website. Great. All right. So, and is that that's in the chat so let's open it up. Nice. Okay, so we've got installing and using and pipeline and blue ocean and managing. Now there was there was one thing I noted I think I saw that. Oh, okay, videos are there. I thought I had seen that there were some missing pictures though. So yeah, I did. I did. I did contact and did to fix it but he's of wage for the moment. Okay, so, so there there are this one for instance was a highlight of oh there's a picture missing, but this is looking great and I love the left hand navigation. That feels really okay now down here in the bottom left there is the versioned the version navigation experience. Have you been have you been exploring that at all Chris to see how it feels. And what's what's your observation. A little bit different from what we have right now but I think it's okay for now. So what what I see here is okay. He calls user documentation 2.1. And then if I switch to developer documentation it shows it as default, and it presents a different. Place now. Oh, oh, and he retained the work in progress warnings. Oh, nice. Okay, now okay but this now this does change the ordering right so is, do you know if it's intentional that he's altered the ordering. I'm not sure maybe I should ask him. The reason I ask is, I had done an update to when we and he's got the updated content so that's that's really quite encouraging. The updated content is here and it looks like the navigator okay so that navigation link. So, so links across from one to another. But this oh no and that one doesn't okay that one a little bit surprises me. The crowd in integration on the other page is immediately below internationalization and localization. We still need to work on that a bit more. Okay, one more week or two more weeks. And, and, but the presentation looks really quite nice. And so it's still got the page to page navigation that we had before on the and I think we only had that on the, on the handbook not on the developer site let's do a quick check. So when I look, no, no, not that sorry when I look at this one. The handbook has for instance, across the top here the page to page and section to section navigation. Yeah, and, and this gives us that same thing here with, if I remember it's at end of page. Yeah, so page to page navigation is there. And I've got a tree view here at the top. Yep. And I can go home so then it takes me back to user documentation. Nice. I see the upper right contents. If we, I mean, has that been added for a long time we did not have those developer docs. The, the, you mean the table of contents here. Uh huh. So let's go look at the developer docs that's a good point. So I don't know that they're in. Oh, it is. Okay, it's in developer developer. Yeah, there it is. You're right. Okay, so there is. More than for reading that gives you the event, the ability to link into a subsection on the pages. Well, and notice that it's stable on the right hand side. Oh yeah, while I'm traveling so so that's that's really quite elegant. Yes. Okay. Oh, kudos kudos. Now the references section. I guess this makes sense. Although I suspect we want, we may want to take off the colon off the end, but that looks great. And those references go outside the site so they're behaving as we expect. Yeah. Very nice Chris. And now that's impressive. So, so, okay, so when I scroll downwards. Notice that the footer does become visible. And then the footer disappears, but this stops scrolling and stays nicely at the bottom of the screen. Yep. Very nice. That's good. I'm impressed. Nice work. Okay. And does, you know, does the edit this page give me it does so it takes me right into it. Nice. Very nice. So where was that colon you wanted to get rid of. It was, let's see where was that it was in the references in the developer documentation so if we go to something that has references like this. And that's a minor thing. No, no, I was going to say something like that. Let's throw in a, let's edit it. Oh, I see what you're saying let's see if we can do the edit. I remember that was one thing that would be a trivial change. Interesting idea. So if we paragraph on a throw away, right, there you go. Okay. Yeah. So here it's removed trailing from heading. And the reason is Mark weight doesn't like the trailing colon. There's no other justification for it. This is just Mark's opinion. Opinion mode. More of a justification, but I like that. And then we'll commit it to a branch. And we're going to call it remove trailing colon. Okay. Okay. And there's the pull request submitted. Nice. Hey, that was a pretty, that was a, that was as every bit as smooth and experience as any edits on the other site. Yeah. So what is the site currently rep, representing versions by branches? What's his, what's his pattern been to, to represent versions. I'll have to talk to and did a bit about it because like, I want to have like, at least the current version pointing to us, like where it should be. Maybe for, for now is like, are we at 40? Which number we had. We're 2.410. Actually let's test the, let's test the navigation links at the top case. So doesn't have the implementation for the navigation links. Yeah. Nice. That is, that is a great piece of work Chris very nicely done. Yeah, very, very nice. Okay. Anything else you'd like to highlight here, Chris. Not much. I just want to say we did work on a whole night together. Because I, there were some issues with the documentation for pages. Because like, for our setup, we need to do something extra. Oh, okay. So there were some complexities in getting this into GitHub pages. Yep. Because I tried a bunch of times before it worked. Oh, interesting. Okay. But as far as you can tell it's fully functional now. So is, is what it's showing us is a representation of the master branch from GitHub pages or some combination. No, just master branch. Okay. I'll put it goes to GH pages branch. And the biggest pages branch is where pointing to. Oh, right. Of course. Yeah. So they've got this concept that your master branch you then publish by merging to or pushing to a GH pages branch. Yep. Right. Nice. And I assume that the. Tutorials and okay so. So fixing links is probably a future activity. Yep. Oh, and there's an interesting one. So include directives. I assume that's also a. Oh, but it's got his concept of partials in it, right. I think so. Yeah. Interesting. I want to see how that page looks. Partials. Okay, so, so that markup and that's new style markup that's not the markup that I'm accustomed to from Ostrich. Good. Very nice Chris congratulations. Thank you. Any other items you want to show. Don't think so. Okay. Oh, I like the visual look of that. Is this color the, the, the black on blue or black on, is that for code? For everything because like, I think I think the last time we saw the images, it was a bit skewed due to the computer. I think it's ways of monitoring or computers by up and desk. Like local version. So it's like, it looks a bit different from the, from what we see in reality. Okay. Good. Very, very nice. Well done. Okay, let's put a, let's put a link to this site into the, into the notes so that anybody can get to it. And it really doesn't even need. If I just open that much of the page, it will take me there, right. So if I go here. Yeah. Okay, good. Nice work. Any topics on other Google summer of code projects. So the Docker compose project. With Ashutosh. Yep. Any further word from Ashutosh on on that. I think he's working on some jobs, according to some good. Okay. He got one example working. That's the last time I heard from him. Very good. All right. Okay. And get lab plug in modernization. That one's been on pause while harsh works on exams. Right. Yeah, two quizzes. Sorry, say that again. He said quizzes. So two quizzes. Oh quiz. I see. All right. Yeah, paused for, for quizzes at university. Okay. All right. Good. Very, very good. Any other topics on Google summer of code. No. Okay. So next point was last time we noted there were some errors in the 2.401.1 change log. They're fixed and merged. Oh, good. So we did that earlier today in Docs office hours Europe. Next topic then is the review of Jeffrey Chen's wiki migration proposal. So Meg, I see you've done a bunch of reviews and as far as I can tell Jeffrey has has adapted to your reviews. I got a few. Um, is there really nothing about move copy. Or config.xml in these docs. I let's let's check, but I'm not aware of anything about move or copy. Um, do you have is, is anything being done with the Jenkins training materials. Uh, training materials, like nothing from nothing from the Jenkins project that I'm aware of. Tell me more of what you're asking. Well, I think we had material about move copy in there that wasn't wonderful but better than nothing if we wanted to deal text and. Oh, I see. Yeah. So well, and since that, that's a cloud beast thing. So I'm not sure we could certainly ask them if they'd be willing to share it. Let us let us put it in. Let me see if we can find something with Google search Jenkins job move or copy how to clone a job. How do I clone. Okay, so stack overflow. How do I move a job? Oh, here we go. Okay, so, so there's something we could embed, right? We've got Darren is more than happy to let us embed his. So we've got how to clone a Jenkins job and how to move a Jenkins job to a folder. So we've got copy and we've got move both. So how about for given that I'm going to copy a link to that. So let's just open it up and copy a link to the video. Okay, back to your question so a copy slash move video copy video available from there Darren Pope. Mine 55 of administering dash Jenkins dot a doc. Okay, hang on just a minute. So that was move. And where is copy there's copy. Okay. And it's current enough. Okay, there we go. So copy this one. And where did I put my notes. Oh, here they are good. Okay, and you said where where should that go. Um, there's a comment that for line around 55 of here we go right administering Jenkins. There we go. Yeah, this is okay. This is this is just flat wrong. Right. While I appreciate that somebody in the days of of XML said this is the only only way to do it. Let's fix this by embedding a video. Okay, so how do we. Yeah, we actually yeah we don't. We I think we don't. Well, let's get the text there we definitely don't want to tell people to use file system operations, when they could just. Okay, so this I think needs to be split needs to split into distinct operation three distinct sections. One each for move copy and rename and then embed. Describe move. Describe each and embed describe each briefly and embed Darren Pope. Okay, so there was this one's the clone which is copy right copy a job. Move a job. And I don't remember. I will have to see if he's got one that is rename a job. Have we given up are we using job to refer to pipelines now to. Yeah, job is a generic reference to pipeline or freestyle. Okay. There's there's some noise in the glossary about the word project, but truthfully, I find job simpler and easier and so I've caved in and said, I don't want to fight with trying to use the word project. Yeah, no. I don't know. There's a part of, there's a part of me that would like the titles of those sections to be move a job or pipeline. Oh, oh, oh, yes, move it. Just to have the word pipeline up there. Okay, we've had enough problems with it that if I want to rename my pipeline or copy my pipeline and I see something about copying your job I'm not sure it applies. Oh, oh really okay so I'm hesitant to confuse I think that confuses for me so so let's talk. Talk further because I think for me job and job covers both pipeline and freestyle and several other types. Yeah, and it always. I would talk to people who regularly talk to customers. Okay. Because as I you know my knowledge sort of got frozen to a certain point in the wars. So, and you know there were religious. Right, we may need either a broader title, like move a job or pipeline. What would you also be okay if we had or include very early in the text. That would work in the text that this. Supplies to freestyle pipeline and no let's start with pipeline pipeline freestyle and other job types. Yeah. And then for those mutants who read the docs from top to bottom they will be rewarded. Well and actually let's go with it freestyle to pipeline multi branch. Organization folders and other job types there we go okay. All right, good. Okay, I'll rename a job we I don't see rename a job in Japanese. There we go thank you Darren. That's always that's great so stop that one copy the video URL. Very good. All right. Cool. Okay, so that now I still think that we don't want this in a new page. Right, it needs to find another home, but but the content and the content split can be two different operations. It looks like he's going to ask us where then. Yeah, and I'm fine with that because I think that's something we need to choose. That's better suited than than Jeffrey is to decide that let's look to see okay so we've got right now we've got copy move and rename a job. And we've got a description of the directory structure of the Jenkins homepage, or the Jenkins home folder, where where do you think it makes sense so let's go look at the candidates so we've got managing Jenkins has managing tools managing plugins. It's got this empty section called configuring the system. What if we put it there. What is there. No, well I'm thinking of config dot XML. Right. I don't know if moving, moving copying renaming it. Do you consider that configuring or. Well, so, so I was thinking what if the description of Jenkins home went into the configuring the system page. Okay, but we don't the other stuff I'm not so sure so back up in the store we just delete. And then now we look for a new another home for a move copy rename. Okay. And, and does does that sound. Yeah, that's yeah right I didn't see move copy rename under configuring I got confused there. Right right and I think I agree with you there now the question is where would it go. So, these, these things tend to be tend to be oriented towards, at least these top level things are about selections in the manage manage Jenkins page right right. And so then maybe we look under system administration for move copy rename, because we've got backup restore monitoring administering. The manage Jenkins screens don't have move copy restore or rename. No, not really not if I remember right here let's look and see because, because rename move copy and rename apply to jobs and there actually aren't any jobs on those pages. Okay. So let's let's look just to be sure but when I look for instance at tools. There's no move copy rename because there's not even a left hand, left hand menu there's not a sidebar on that or on the now on the plugins page there's a sidebar, but nothing to do with move copy or rename. I thought I remembered something on the UI someplace. Not really any job page so for instance, here, if I click this folder, it's got a rename right and it's got to move. And then if I click on a specific job inside the folder, it's got to move and it's got a rename. Okay. It seems like there was one of them that you couldn't do on pipelines that you present. Well, so so certainly there are, there are things for instance if I attempt to do. Let's show an example if I attempt to take a multi branch pipeline job so get client plugin folder has a thing called the GitHub get client branches. These jobs are actually maintained automatically. So when I click to them. There is no move copy no move or rename. Okay. And that's because the job is the job's creation and destruction is managed by the multi branch pipeline. I haven't seen copy go by is there something. No, because copy is and Darren will teach this in his in his video copy is really a new item. And then I pick the kind of thing I want and I can type it here like Jenkins dash. Let's see I really needed to scroll up so we can read Jenkins dash one. I was hoping it would give me a prompt no look. There we go matrix labels and nodes I if I want to copy that job. I click okay and now I've copied it. And so maybe logically I was seeing these three go together but maybe that's right so wherever we're telling them how you're creating because basically you're creating a new job it just happens to be a copy of an existing one. Correct. That's right. So, where are we telling them how to create a new job that that's where copy would go. Oh, oh, good, good idea. Okay, so let's see, see what we've got then so. I don't see anything there under it would seem like using would be a good place for it. And yet there's nothing there that that I think matches with create well, there's reason we have a search engine. We've got create a pipeline in blue ocean, but not and that is has the the warning that says hey we're not doing any further enhancements to this so I don't think that's a good choice. How about new item. No, how about create a job. How about create a pipeline here. Yeah, just it's always yeah so I suspect. Well, if we okay if we look at tutorials we certainly have some tutorials that will take us through that. But I'm not sure we would want to point them to a tutorial for a general description so it may mean that we need a description of creating a job. Yeah. Because that seems like a logical thing for using Jenkins right new item, or maybe it's yeah create a job, creating a job. And maybe maybe that if what if in a creating a job page we had create rename. Move. And copy. So, I'll, what if we had all of them. Yeah, I kind of kind of make sense. And I mean, nobody knows how the drugs are structured they're going to use search. I think that we've got them so search will find what we want it to find. Right. Oh no but okay now now here I'm being proven wrong so here is referencing another project by name. Not a job but a project. And here no work no reference to project or job or project. So I'm not seeing anything that gives strong, but I also don't see any use of the word job in these headlines. There's at least one usage of project. They wouldn't have put under installing Jenkins would they. I don't think so let's check hope not but. Yeah, let's see his project there. Nope, just in the heading. Okay what about job. Okay no use of the word job on this page. Good. Okay so it looks like the word project is at least used here. So maybe we do go with project rather than job so let's edit and move a project. Copy a project. Rename a project. Yeah and run this by Kevin because he's doing the active writing see where he would put it. Right, right exactly. At K Martin's. What do you think job or project. Or the description for the noun. Yes. Okay, good. All right so back to the we think we think this one. All right so this. The Jenkins home directory. We think the Jenkins home directory section belongs in. Where was it it was in. Was it in using Jenkins. No. Oh it's in. Where am I off here. What am I missing managing. There it is managing Jenkins configuring the system is this still okay with you Meg you think that will be reasonable. Yeah. Well anything be better than what we've got yes at least show. And then do we are there. I think config dot XML could use some more information is there anything else in that structure that needs. Yeah so that I don't know let's see that page can be. Searched to no longer be a work in progress. Now you said config dot XML says there are there some references to config dot XML in this. Okay so there's the root configuration file. And there's a job configuration file. And a folder configuration file. And this thing. The backup and restore section. Is already where well covered. Yeah. Did it. From this. Pull request. Okay. Okay so then. Oh now help me help me out here so where did we where did we we said we wanted a new page. We think this is best done as a new page right new page under. Okay was it under the managing or using it was using right. Maybe that because we'll using sort of seems like that would that should be the first one right that's got the most remedial stuff in it. It's got okay here had you aboard a build had to use fingerprints. So for me so under using Jenkins. Okay and what do we call it so it was defining projects or operating on project creating a new. Because for any of them you're sort of creating a new or. Yeah so creating projects. Maybe I don't know I don't feel strongly and I titles are not my strong suit. Okay. Let's do this and we can fix it later. Yeah. And you're using Jenkins right. Yeah. We're open to other title ideas. If there are better phrases better words to describe the create. Read update. Delete process for Jenkins projects. That you think Jenkins is almost a bigger mess and managing. Yes it is there. The first thing is using credentials. Is that really. Yeah, that's why I think I think creating projects is is more valuable than using credentials and we don't have a page for creating projects right. Yeah. It should proceed. Although look at the top level of using Jenkins. Okay, paragraph two is if you want to create and configure a pipeline project through a Jenkins file or through blue ocean, or you wish to find out more about these core Jenkins that a lowercase J. I don't know. Refer to the relevant topics within the respective pipeline and blue ocean chapters. So there there is, but I still think there is room for a this is this is good. I won't dispute I like that. But and it gets them into this into those sections but I think basic operations on jobs on projects correctly belongs before using credentials. Huh. That's nice. That's if you want to be if you want to be that way. You know, I'm glad to hear that you're willing to cave for me on this that you're willing to give up and just give me my way thank you make what what I cannot pull my head away is I'm not I think it's a generational thing that I always think of this in order and I think maybe younger people think of it all random and it doesn't matter. But I think I think we owe it to ourselves to put it in order. And I agree that using credentials isn't the first thing a boarding a build is actually useful but probably needs to be above using credentials and after creating one so you could imagine creating a job creating a project launching a project and then aborting a project or aborting a build. Launching a build and aborting a build would make make good sense. Yeah, but that yeah and then oh boy it gets. Okay, how to write a pipeline script okay, but okay under pipeline. Under pipeline we do have but where's the information about how you create a freestyle job then. It doesn't exist. I think it did at one time I think somebody deleted it. Maybe I would be surprised. I think it probably exists in the wiki. Maybe it never made to the documentation or something. Yeah, that'd be my guess. I mean if somebody had time. I can see though under the using Jenkins that landing page could be expanded a little bit for this and maybe have. And then that points to wherever this material is. Yeah, so just like we have a paragraph for pipeline and blue ocean conceivably after that we could have a pipe paragraph for other job types and point them to freestyle. And what about is more where's moldy branches that under it comes under pipeline. Okay. And here we've got we've got things like branches and pull requests that talks about how you use multi branch. Okay. And what I'm thinking when you search. Do we search for create multi branch job multi branch. So there's a features like multi branch. So there's a blog post. And there is multi branch as a pipeline step but I don't see it's not finding it easily oh wait a sec. End to end multi branch pipeline project creation so here's a tutorial. Okay, the nice obscure time, but it found it that's okay. It, it found it with enough attempts right right I mean, it's certainly not doing user user user handbook multi branch that is not the thing that I would want to see because this is a pipeline steps detailed reference and that's just not helpful. In fact, this one is. This one is rubbish I'm wondering what it's for. Because per force depot paths. Where is where is this even coming from multi branch. And there's a beta in there. Right, exactly. I, I confess I'm okay well so this is why we have the reference let's see if we can get it in context multi branch pipeline multi branch. Oh, okay. All right. So now, but that didn't really take me to that keyword multi branch. There okay it's an expansion of this thing. And the reason it's done like that is this is thanks to Vandy, no not to Vandy to our last year's V Hanthora who who found a way to reduce these immense page sizes, so that they weren't so gigantic. Right, by using by removing redundant content and multi branch is one of those items that's redundant content. It's the same as if I remember this one get has that same pattern. And even then the page is still quite large. I mean that's taking quite a bit to load. Yeah, which is in the surprise and it's a big topic. Right. Yeah, exactly. Okay, but I think about a new user coming to this I mean I get it installed and then the, if I know anything like how do I, how do I create a pipeline and it doesn't seem like it should be that hard to find that information. Right. Yeah, well and certainly we've got tutorials for that but we don't have in the using thing. Hey, here it is. So, so I think you're right. Or even a point to the tutorial. Well, and I thought that I thought that there was a. No, there isn't a pointer to tour tutorials here. Interesting and that that certainly could be added to this using Jenkins page is for tutorials go here. Right, because we have several and point people to tutorials why not. Right. All right. So, we've talked we've been through copy move rename. And now it talks about batch rename, and I am just opposed to that. Is that the one I remember is being only for freestyle. It's, it's more than that it's the instructions only work on Linux. They don't work on Mac OS. They don't work on Windows. They don't work on free BSD they only work on Linux. So you want to do the powerful stuff use a real computer BFT. Oh, the bigotry. Oh my say you should be ashamed of yourself. And yet I'm not. Isn't that wonderful. And yet I'm not. Which is even worse you really forced to work on it at Apple right now so it's making me bitter. Okay, let's get this done. All right, so. Okay, this command only works on Linux and has all sorts of dangers is very dangerous. Let's not document it. Okay, now archive unused jobs. Okay, this one. Hmm. This one is terrifying. Because what it says is go into the jobs directory, make a tar file. And then reload configuration from disk well you didn't do anything that to actually archive it or to so if archival means remove this did no remove. If archive doesn't mean remove, then all this did is a fractional backup all this did is a partial backup. So there's no need for reload configuration from disk this. This doesn't help doesn't help anything right you don't need to reload anything from disk because the tar didn't delete anything. Right. And the problem with the technique they've used here of play leave the tar file in the jobs directory. That's on the hope that the administrator will remember that's where their archives are. And I suspect there are plugins that will do archiving better than this. Well, that administrator what about the other administrators or the new administrator when that administrator leave. Exactly. Oh, here we go. Here's a here's a reference to the shelf project plugin. Okay. And this one. We can adjust. Let's correct so that use the plugin. Macro rather than a link. Actually, why would I want to archive something that's in my jobs directory. If I'm, if I want to archive it because I want to save some space I want to get it out of there and yet have it where I can still get it right exactly you want. I think I let's not describe the tar process. Because it doesn't remove the jobs. Right. And doesn't save any space. And does not prevent execution of the job. Right. So it doesn't provide backup if you had a disastrous system loss too. Right. All it does is a fractional backup. Be the shelf project plugin. Or one way of archiving. Jenkins jobs. Okay, now script console we've already got this described in the using Jenkins or is it managing Jenkins. There's nothing about it in security too. Yeah, so it's already covered. All right, so this one can just be deleted. Delete this section. Already covered. In script console. Good. Okay. All right, I have run largely run out of time because well because it's getting late for me. Very late. I think I'd propose we call ourselves done so that we can mark this as finished if you're okay with it. Absolutely. We've provided some useful comments and some things that Jeffrey can work on further. Right. Okay, so I'm going to note request changes. Excellent. Meg, Chris, thank you very much. Thank you everybody. And I think I'd propose we call it for today and I'm going to get some sleep. Sleep well, my friend. Thanks everybody. Bye.