 Hi, this is the Jenkins documentation special interest group meeting. It's the 26th of June. Thanks for joining us let's look at our agenda and Talk through the topics and then we'll be sure we do the topics recording will be posted on the YouTube channel, please remember that we're adhering to the Jenkins contributor code of conduct So a gender review report on previous action items I'd like to do a demo of the latest plug-in site enhancements for just to record it and show people that Some of the really great things that Gavin and spinnack have done We had a Google season of docs topic to to cover for yesterday's office hours We're happy to answer questions if someone arrives that needs them With that Oleg will help and give us an overview of community bridge and what the mentorship might mean and how we approach it We'll spend a little time reminding on docs office hours and we've got a question there That we'll need to address and then as a concluding item review latest data on contributors and on contributions Anything else that should be in the agenda Oleg Well no one topic which I would like to it is about terminology up But yeah, let's just put it in the bottom if you get to this fine. If not, we can take it to another meeting Right. Good. Good topic. Excellent Okay So report on previous action items and I did the hackfest blog post And that's nice, but that's really not enough for the doc what we need for the doc sig highlighting progress So I've kept the action item here Shaped it just a little bit to say that I need to create a status report blog post that highlights plug-in site improvements github issues transition wiki migration progress the a call to action for people to help us with wiki migration triage and A proud graph to show the reduction in number of reads that are being done to wiki. jankins.io It's it's interesting to see that the falling data rate of requests to wiki. jankins.io as we're doing page replacement Oh, like we had an item for you on list the github apps and plugins that use them anything you want to report there No store my list. Okay, and I've still got I've added the new action item to place a New meeting URL into the calendar So that this meeting is easier to find My apologies that I hadn't already done it yet I'll get it done, but it needs we need to be consistent with the doc sig With other sigs where they all place their meeting URL in the calendar and they post it on there on their sig page Anything else on action items? No, I think It's fine. We have a lot of things like review is a sort of Sorry, I just Yeah, I just triggered the video from the yesterday meetup and Yeah, so what do you do you sort of locations we have a lot of them in the queue and we You know the bandwagon Yes, yeah, and that's all mentors need to do that assist in that review. That's good I've got I need to extend an invitation to a few more mentors. We've we've got so many Interesting for a project proposals. Thanks Yeah, so maybe we could even scale of a session to the next Friday To just do review is all I mean basically is all the all potential mentors on the call So just distribute it off south way you do everything Good I'm not sure whether the mentors would be available, but we could try well and and I think that seems like a good excuse to use a Doodle meeting invite to see who we can who we can get and Which times work best for them? You know, for instance, this time is not good for For a number of Candidates that might be potential mentors and we might do two sessions something like that. So let me take the action item to Look for additional mentors and to get a poll when they could join us Any other action items there Okay So next item then was a demonstration of the latest plug-in site and enhancements Gavin Morgan and spinnack Konachini have done an amazing job of Creating the Jenkins plug-in site and continuing to enhance it. So this is the plug-in site Let's take a look at it at a little higher resolution and I look for a plug-in and Notice now that across the top there are four tabs Documentation releases issues and dependencies and so in the documentation tab, that's the documentation we've had for for a little bit now The releases tab is relatively new and uses content from the from the github hub releases pages to present what is a really nice layout of Features improvements Context that's generated for this plug-in in this particular case using release drafter So my job as a plug-in maintainer is easier because release drafter helps it and it's presented very nicely there to readers There's also the dependencies tab and the dependencies tab shows me which plug-ins and their versions are required for mine And then the issues tab now when I click this issue this particular plug-in has Tragically a lot of issues so I'm going to choose a plug-in that has fewer issues open against it So that we can see a little bit faster rendering of the issues lists This will actually generate a list of issues that are in the Jira system Makes it all much easier for the for the user thanks to their marvelous work Thank you very much to to Gavin Morgan and Tashrina Konechni Hold like anything you wanted to highlight there. Yeah, so personally, I still can see they eat as preview A few reasons behind that so firstly for releases right now the integration supports only github releases But we have a number of plugins which store Change logs and change look and be or similar files. So we still need to support for this option It's a small matter of programming because we basically already support this expert for example for documentation pages So we can render a markdown and ask it off easily. We just need to add an engine for that and Quite differently for issues now we support on the jinx Jira But now many plugins actually use github issues To track the issues and again, we will need to support here for the plug-in site Good good points. Thank you. So there are more things and likely more things coming Excellent Anyway, it's a great start. Also now we have tabs so we can keep updating the content. So for example what I have in mind Statistics on the right. So we have installation graph But actually we have much more study statistics on starts Jenkins. I or and maybe we could create a new top for all the statistics And instead of that use The right top for additional metadata quick navigation, maybe for suggestions, etc. The main screen Also, I want to move out to integrate a plug-in maintainers because if you go to the documentation top And now it is plug-in maintainers, but actually this list Is not an ideal source because this list comes from Pomex ML but the real situation that We have to visit or a permission of data and this is a source of truth for the list of maintainers so we will easily benefit from Updating this list maybe even moving the list Somewhere like for example instead of graph putting it on the right page center so that more Screen size is used for documentation when you open this page. So yeah, there are such minor enhancements here and there Which we can can do but yeah, I really like the progress on their website. We've got to our past year so Well, and I'm I'm fascinated by the idea of stats I was just using stats yesterday to do some research on a potential update of a dependency and was Really impressed with the amount of information I can extract. It's a little difficult, right? It's not not terribly attractively presented sometimes But I got lots of useful information of stats at Jenkins that I owe in helping me address a question that I had Yeah Yeah, we can I provide a lot of information starts maybe but support for release history is maybe listing contributors Because yeah, GitHub does it. Why don't we do it on our side? We definitely could do that So things like that can be definitely considered next as improvements and What I hinted yesterday on my meetup. We also need to keep categorizing plugins Providing on formation. So for example, you look at get client plug in But what if we had a label for it? We don't have a label for it now, right? Actually integrating specifically with it. So such a categorization in the plug-in site and plug-in manager would help users to easily discover plugins and Very good. I like that Xenob is having some difficulty connecting. I'm gonna see if I can get the Answer her question. Oh, like so, I'll be just a moment distracted. Let's be fine And she wanted to know the password for the meeting and I think I've got it right here Let's see. I don't understand why she would need it because it's embedded in the In the URL, but there's also a string here that I will paste to her there so that Try So I've at least answered her question. I Don't think that that should actually be needed But I would love to have her join us so that we could answer her questions Anything else on the on the on the plug-in site or like any other observations there? No, just As always Thank you super let's go on then to the next topic You Show we maybe since there's a chance that Xenob will join us What if Oleg if we put community bridge before it and And then we can talk about Google season of docs if she joins us Okay So community bridge is Also related because yeah what we discussed previously at governance meetings, etc That Google season of dogs is relatively a low-skilled program. So this year Organizations will get one maximum to many dependent on Ability of slots and we got a number of applications. So we explore options how to better most students potentially using her students mantis use using other programs So last year we introduced community bridge mentorship Jenkins during one project for Jenkins corporations who developer tools Slating yes, it worked pretty well Yep Given that there is a lot of interest in documentation. I would Suggest to review such options for documentation projects as well for that one problem we have is mentorship capacity and Another problem is budgets because yeah community bridge allows doing mentorship program as for example, yeah, even on paid mentorship and basically amount of Money for this team to use arbitrary and to decide it by the organization But yeah for goals and of dogs if you want to match this It's similar to one to participants in community bridge. We definitely need to shake some trees in order to find Sponsors ships and whatever. So this is what I'm working on in the background But yeah at this meeting. I just wanted to hint that there might be such options and Yes I'm looking into that But yeah for me a problem with budgets is less critical than problem with mentors because right Yeah, I would be happy to run five documentation projects in parallel But yeah, our experience with Jenkins UI UX Huckfest that we have limited review capacity and If it comes to Mentorship problem or program we need More mentors more reviewers and hence Anyone who's interested in documentation and improving documentation for Jenkins this contact us Because yeah, this something quite improved the situation a lot excellent Yeah, the the the experience with the hackfest Highlighted our need for more mentors more reviewers more people who who are willing to assist as Jenkins skilled users now. I assume that in this case mentors probably don't have to be Explicitly docs experts, but they probably do need to be Jenkins exports Do you have any guidance you want to give on that with regard to who would be a good candidate for mentoring and to act as a mentor? so Definitely, they need to have expertise in Jenkins because all documentation projects are related to the Jenkins features and The experience with Jenkins as a user is really important Yeah, I would like to highlight that as a user not as a developer not as a contributor Because all the projects we have on the list they focus user documentation At the same time, yeah, it will be both documentation. So Basically some expertise with documentation as code with a ski dog is not down It would be definitely welcome It's not critical because we will have other mentors and orc admins who would be able to help with it and Yeah, what else would be needed? Yeah, also Some time which is probably the most important resource This question excellent, yeah And I'd like to note that experience with docs and ASCII docs is is good But I would argue is almost a teachable skill even for the mentors that if they needed to learn that well Well acting as a mentor. That's probably okay The crucial thing is they do need to be experienced in the use of Jenkins Right if they if they aren't familiar with Jenkins that makes them a very poor mentor It's really hard to mentor someone on documenting Jenkins. If you're not a Jenkins user You they now now I assume they really don't particularly need to be Specific language skills, right? I mean we could this does not require that. Oh, you must somehow be native speaker or something like that rather Jenkins use is the crucial thing and and The other things are nice to have but we need users So in being they certainly be able to English to read the English language But I would guess not not I'm we're not as worried about oh Our is the role of a mentor to be a grammar checker. They really aren't Yes, well somebody would have to do that and Yeah, one thing which makes sense to highlight So if you talk about Google season of dogs Google season of dogs soldier focused on documentation in which if you talk about Community bridge mentorship basically it's self-funded program that at the same time we define other rules. For example it means that there is a potential technical writer and With us who would be interested in documentation for example in Chinese in French or They work in Localization, that's right. It would be considerable for community bridge. That's it. That's a good I good and an interesting idea. I had not thought of that. It makes sense We could choose its its community bridge the community bridge is funding from the Jenkins project typically and Therefore the Jenkins project could choose to fund someone who writes Chinese language documentation or who updates a localization interesting So it's well, it's totally up to the team and definitely it will require Voting by the board well, especially if you talk about Projects with a steep end because it's for several thousands of dollars But yeah, assuming that there's consensus that we run this project. It's possible that makes sense. Thank you and Do you have any anything you want to describe there in terms of? What sorts of next steps people take if they would like to be considered for this? Is it something where you're looking for candidates? I know I'm going to be recruiting for mentors Anything you want to recommend there or is this still this is what's coming and we'll do a webinar or a blog post on it As we get closer Yeah, so for coming so for Google season of dogs. We all set with regards to the mentorship team. We have mentors Obviously, we could have more for community bridge There is assumption that for every project we need at least two mentors Yeah, then if you want to run five projects, you would need to find a lot of mentors Think a number of our participants at the stick meeting. I love it. It will definitely be a good challenge for us Yeah, I would be interested to try and if you can find someone Okay, we had a lot of contributors to the differentiation of your UX hard first. Maybe somebody would be willing to be a mentor So let's just talk to people and Yeah, another hint that if you talk about community bridge mentorship Again, we have more flexibility in terms of project duration and in terms of project timeline Because again, maybe as project defined So for example, if somebody is available for one month's project only we could figure out something if someone Wants to start not in September like 4g saw it but in November again something we could go So I like that That's so the idea there is that if they wanted to do something shorter They could if they said I'd like to try a four week project of this. I propose it Now are you envisioning that a community bridge project project proposal for community bridge would Follow some of the same patterns we've used for Google season of docs where they write up the proposal. It's reviewed publicly et cetera yeah, so basically Google seasonal docs follows more less the Best practices of Google season Google summer of code and Google summer of code is a 16 years old program This thousands of students Modern tens out of students. It's by now And yeah, it's pretty successful. It has quite established practices a lot of Knowledge Was collected obviously when it comes to Documentation there are some changes in practices, but in principle, yeah, I think that it's the same framework Particular chain particular need to change it maybe With regard to Timeframes it's something we could change but all the basics I believe would remain the same public application public Review of the drafts then Means mentorship teams the final visit and the community bonding coding videos with demos with blog posts and The project completion so I believe it will be the same Great. I like that. Excellent Anything else that you'd like to share on community bridge? No, okay Now I haven't seen if no Zenop yet. So Let's skip ahead to Docs office hours As a reminder, we have Docs office hours Monday late evening. It's I believe 10 p.m. UTC And Thursday morning. Oh, sorry morning. It's such an ob It's Thursday mid-afternoon UTC if I remember right old egg, isn't it? It's Yeah, so it's it's like two or three p.m. UTC Mm-hmm, which is hardly morning. So Thursday Yeah, I'm just checking the right now. Yeah, 10 p.m. UTC. I think is when that one is and I think it's 2 p.m. UTC Yes, it's 2 p.m. UTC. Okay So next week the meeting could 2 p.m. UTC will happen Okay. Yeah, but again It really depends on the participation if there is no Potential mantis joining during this time slot Actually, this time slot was selected based on the feedback and doodle There were several votes of participants who would be interested But if nobody joins I mean, I will just cancel the sessions because here's any other contributor I have a lot of other things to do Right like like interviewing the applications Yes, now. I was really pleased last last Monday's 10 p.m. UTC we had six who attended and it was a very good session that It reminded me I've got a lot of things to review So the week prior from remit you didn't have any that attended the 2 p.m. UTC Yes, so one thing to that The time slot is probably not ideal For example for Europe because it's working hours and not everybody can spit it in working hours It's not Google. This is not a quote when we talk about students most technical writers work somewhere so At the same time, it's probably not enough early for example for East Coast So, yeah, the time is and it's probably too early for West Coast I don't know but definitely this quote is not working well. So I'm open to change it. I'm sorry, but it's not okay Yeah, and I think that's that was what motivated us to choose that Monday evening late Monday evening late. It's after working hours for in most In many portions of the US and very late in working hours even in California So but but again, I think you hit it. You described it exactly correctly Those hours are for contributors and if no one's there to to attend We'll look for other hours or cancel them. We've got other things we can do that help the dogs You would mention terminology cleanup. You want to give a summary there, Oleg of How we're progressing there and things that the doxig should be considering So Progress there, but progress is not that ideal Because Again, you would benefit from more contributors We've got a lot of contributions to English Documentation cleanup, especially built-in documentation We've got contributions to French documentation, but if you go to the github query You can still find a lot of entities If you want, I can just screen share and show how to find it and how to fix that actually That would be wonderful. I would love to have a live a live demonstration So that people can see hey, if you're really concerned about this Uncomfortable or inappropriate technology terminology. Here's a chance to go help us fix it Yeah, actually, I wanted to request a really short demo or something like five minutes So when I fix something, but yeah, maybe I will do it next week I Have to return back. So yeah, I'll share my screen So yeah, I'll share my screen Okay, do you see it? I do Okay, so Okay, we have a roadmap item agent terminology cleanup. It's also linked from the sick meetings. It's linked from the Previous blog posts. So this is what we are working on at the moment that is also Master and blacklist whitelist terminology clean up on the table But we still discussing in the developer community how to approach that There is My interest right about that So if you're interested to know the current status, you can find it here So terminology cleanup. Yes, this thread is pretty long But yeah, there is a summary from alexo So basically for for master's terminology, we have a consensus. We want to change that We don't have consensus what would be the new name and our decision that we will proceed with a public vote So we will select 10 most popular options I'll put them on the ballot and after that Governors meeting we'll decide What would be the final choice For blacklist whitelist again We have a decision. We want to change that. We also have the decision that we don't want to enforce a single term So we expect plugin maintainers to decide what exactly would be preferable for them The default recommendation is deny this to allow list But yeah, basically How to plugin maintain it makes a decision on their own So so that one for me was a very enlightening to watch some of the transitions because many of the transitions Significantly improved their phrasing by removing the use of blacklist or whitelist completely and not using a lawless or denialist They just described what they were doing without using a keyword just to talk about it So it is that one is very much context dependent Yeah, same for master I all of the cleaned up a few entities of that because again many many cases You can just try to go to the Jenkins web interface, etc. You don't need a master term Right right and in fact if anything it distracts it detracts from a good explanation We we used it as a shortcut But really a good explanation needed needed a better word than Then either master or agent or slave even if there are better ways to describe it. Yeah Okay, so let's go back to agents, which is probably the most critical part So for agents, we didn't really need any decision because the decision was made in 2016 We decided that the new terminology for slaves is agent or not dependent on the context And there is an epic which includes a lot of cleanup items So we updated this epic a bit we put it on our roadmap and here for example, you can see that There is a number of links for new camera friendly issues So here in this epic Yeah, we have some if I log in you can find maybe two dozens or whatever issues reported But it's just the tip of the iceberg And if you want to see a real extent you just need to use GitHub queries And here for example, you can find a few examples And if you Use another language, then you can again just run a GitHub search. So for example here for slave You can find that there are more than 3000 occurrences. Some of them are in the code Some of them are in html and I'm sure what is actually mostly documentation and health files you can as you can see And And yeah, for example, what else markdown it's mostly documentation with new pages And so some Usages Are related to api We also have a plan to clean the data But as you may imagine, I think up by api sees Bit bigger problem, but For example, here you can find examples just inside the documentation. So I'll just show you how to fix something. Okay, for example, jclouds plugin So let's take a look at this page So this is a documentation GitHub Oh, right. So let's see Hmm. So this is the page which is already used on the plugin site, I believe Oh, so it's already used as documentation even so we That's what I'm going to check because I'm not 100% sure Really, I didn't use jclouds plugin these days But yeah, it uses GitHub as a source of documentation Okay, for example, if you search for slave You can see that there is a number of occurrences there actually quite a number of them, right? And yeah, I'll just show how to fix it without using any idea, etc Basically, this is a readme file. We use this readme file as a source of documentation and here Let's see. So you just click the pencil to edit it And and now you're in an editor. Okay Yeah, I'll just repeat Yeah, so if you go to the jclouds page There is readme so you can click on this file And here there is a pencil button So depending on whether you have access to this repository or not The behavior will be slightly different, but generally you will get to this edit page and here For example, just to avoid pushing to master. I will just say Okay Let's just do a full cycle Yeah, okay, so I log in To Gita and I will report about we've been this epic for gclouds plugin Okay, and that's the reporting that bug helps by Alerting others who check that oh, somebody's already working on this Yep, uh, it's not really required. Okay. So this is optional great. Yeah So I just created the because Some company teams require gre issues for that, uh, right But yeah Want to submit a quick patch you do not really need to do that And so it will require a component there won't it. So you and the component forces jclouds plugin. Oh, okay That was easy enough Okay, so I didn't spend too much time on writing Description etc. I will just start working on that actually And here for example So let's uh, take a look at our page again. We did have you can search So for example, I just searched for sleeve So and that that search thing you did that just by pressing control f that was yeah, you're playing Press control f if you want to kind of have regular expressions so for example, he I think so sense to just use Okay, just use the search because There is also not slaves, but Not also sleeping but slaves. So I used a regular expression and looks like a computer messed it up Yeah, because Oh, it has to you slide your surrounding slices to mean it this is a regular expression Yeah, I have never really used the regular expressions in this way right Now it works. So Here we basically see the list of items we want to clean up And again, you can see that some of them are related to plugin IDs So it's not something you can fix easily, but let's just clean up what we can And yeah, again, if you check it out, you can just Replace it quickly Well, and I think on row 24 that even is is calling out a profile. So I think that's one of those where it's actually not even an ID That that I think you isn't this an example and therefore we could actually there even though it looks like a plugin ID We could say agent there. Oh, yeah, right You're right So let's just continue So that that item for me was a reminder that sometimes we may look at an identifier and think oh, this is an identifier But in fact, no, it was just an example and we can easily replace That and safely replace it Yeah, so Here, yeah So you can see Agent so here again, that this is A terminology because yeah, that is computer that is agent to note Yeah, in that case the word computer didn't help me. I think just configured agent. Yeah Yeah So, yeah, that's why I clean it up and there is check the box check a lot As a single use slave So this one looks like to be a part of our documentation Well, it's probably that's probably some sort of of user interface component. So it could yeah Yeah, you can see it's right inside So we will return back to that but yeah, let's just Keep doing oh, you're going to boldly change it and then you will go in and propose a change also to the that text in java Yeah, because why not again? I don't need a need to Do that. Okay in the worst case Yes, this will fail Or maybe a substance this harness will fail if it really somebody really coded a dependency on that exact string Yeah, but yeah, okay, so this is the first part Yeah We want to submit the patch right now It was instead of that Oh, oh, so there's a way for you to continue working on that branch and change multiple files Exactly. Okay. So that's what I'm going to do I will click go to file and here we have this file jclouds one off slave So again, we can't really do anything with the name of this file Because it's a part of public api and renaming it. It's also based on the disk, etc And principally it's possible But it will take a lot more time than we have this meeting So let's also clean up this file Because again we can So here what you're cleaning up is really a user interface string that's presented to the user But does not require a change to the class structure Or the the compilation environment. It doesn't break compatibility Yeah, so I clean it up here then We also have lock messages again Well, it doesn't So here these locks actually go to the web interface So it doesn't really hurt to change it here as well So again, what was my ID? Okay, so just another patch And and this time you said commit directly to the branch that you had established before But you still have not created a pull request Yes, I'm going to do it later Interesting, okay. Well, if you want we can clean it up Oh, no, this I'm this is great. Thank you for doing this Okay, so let's just check whether we have other uses of slave Yeah, you can see that that is a lot of other things here and there Mm-hmm. Uh, so again, I will probably leave it To somebody who wants to fix that And for some time because yeah, there is a lot of such straightforward things But there is a lot of usages And the doing could the browser probably not ideal because in id you can just do massive place, etc Right. I'll probably leave it Where I started Well, but but you have already shown hey, this here's a way to update the visible documentation And one of the references actually in a display name from source code To improve it Then yeah, I could we could do an IDE based search and replace or use my e tags. Yeah, absolutely So the second file Yep, so I'm just I will just submit a pull request And again, if you do a push like that, please don't be concerned if your pull request doesn't fix everything Because it's still a step forward but So it This could have for instance touched the javadoc where javadoc uses of the word slave It would be fine to replace them and the online help Other other things, but it's okay that you're doing just one small step towards this improvement This the improvement you did was something you detected. Therefore It helps readers by hey, let's remove fix the things that we detect Yeah So any patch matters and yeah now we spent A bit more than five minutes on patching two files, but we Replace some occurrences and if you do the same for another plugin, etc Gradually we will get there So well, it's a legitimate patch I'm not sure what the maintenance will Say about that because for example, they may say that you have to update the entire code base and then I will do that Just not today, but still it's a good stuff. All right So, yeah, maybe next week I will record another demo which will be a bit more straightforward, but Generally, it's what we can do Then it's really easy Thank you. Yeah, I thought that was I thought that's brilliant. That was absolutely wonderful Thanks very much Oh, like we had one more item. It was just google season of docs. We don't have any other participants. So I'd note July 9th is the deadline for project proposals to google Mentors will be reviewing and commenting on proposals over the course of the next week week or so We look forward to further conversations questions can be raised in monday's office hours Or in next thursday's office hours or we're happy to discuss it in the the getter chat channel Happy to discuss it in the google docs mailing list or in the jankin's docs mailing list All those are great places for discussion I'd propose that we not worry about looking at the data on contributors and contributions given where we're at in time Oleg and say let's rip people can refer to the notes. I'm not concerned by the data. I see i'm actually Really quite pleased that we've got lots of contributions and lots more contributors Those are a good thing and our rate of reviewing is is not As badly out of line as I was worried it might be so Yes, speaking of the reviews, we have two blog posts staged one is for external fingerprint storage. Another one is for The uix hack first user interface part So if you have somebody white mark, it would be appreciated if you could do that Yes, absolutely. So so on on those let me do those first thing because blog posts Blog posts tend to be a time time sensitive thing. Let me get those reviewed shortly after this week Okay, I won't even mention the italian localization in genki's core It's just 10,000 clients nothing to worry about Alessandro mentee, I'm very grateful to his his work on that. Yeah, that that one is huge and I started looking at it realized it is enormous. So so I will happily take a look at it Great anything else Oleg before we end this meeting Okay, a recording will be posted. Thanks everyone for joining Oleg. Thanks very much