 okay is it recording yep okay because I don't have the visual clue here good evening good afternoon good morning everybody so this is the so-called EMEA GSOC office hour meeting where we meet to discuss any open questions doubts that we have related to the Jenkins Google Summer of Code I believe we have two topics for today first a general one that we have every time on the agenda it is any questions from potential contributors questions going on and more specifically are there any questions about creating and publishing a preliminary contribution proposals so to start just to know the who we're dealing with so around the table we have Chris who is one of the org admin very active he's located in Hong Kong time zone we have Mark who joined who is in the mountain region of the United States so early morning for him good morning Mark and then so I am Jean-Marc Mason and I'm located in Brussels Belgium and I'm an org admin so we have three other attendees in the group so we have Veehan just to locate so you're probably in India and give us a couple of words who where what so I am in India and I'm from Maharashtra Pune I'm currently my college campus in Indore which is in Madhya Pradesh state okay and you intend to submit a proposal yes you could expect the draft with a nerdy order I'm almost done with that okay good just going around the table we have also Adita Aditya so I I'm sorry if I butcher the names of first names I try my best and I hope at the end of the summer I'll get it right go ahead no problem John I'm Aditya I was a Google summer of code student last year so this year I've volunteered to be a mentor for one of the projects and this is my first official Google summer of code Jenkins meeting that I've joined and yeah I'll be happy to answer any questions that any contributors have so I'll also be willing to do some reviews of the proposal and from org admins and mark because you have to help me and guide me how can I help for this better that's fine very good very nice to to meet you virtually and thank you for helping us in this adventure and working together we we have also Diraj yeah Diraj on the call now I fear I haven't okay can you talk Drash yes you're not the one attending the course no there was somebody who plans to attend the the meeting but was just going to listen because he was attending a course at the same time so go ahead Drash who are you where are you and what is your interest sure so I'm Diraj and I am currently working with Red Hat as associate software quality engineer and I'm working from Navi Mumbai which is in India and why I'm here is because I wanted to just I'm interested in one of the G socks project called like in health score and another one for screen shot automation and just hear discuss about that and yes that's the main thing and also to listen about what others have to offer here as well so thanks for the opportunity okay great thank you for for joining and thank you for your interest Draj well at the end I will get it right okay and I see we have the last attendee here I think it's it said Yiming Gong so do you hear us and could you tell us who you are where you located and what is your interest Yiming I fear you either you did not understand us or you're on mute or unable to talk okay never mind you can chime in and eventually join with with the chat welcome aboard thank you for for your interest okay I'll I'll move on on the discussion I will jump for the the second agenda and item and then open up the discussion so from what I've seen people don't have issues or find out a way to create and publish preliminary contribution proposals so are there questions on that subjects difficulties or any doubts on that subject so John Mark I am delighted that we've had several already post to community dot Jenkins dot oh dot IO with their Google Doc and now I'm a little embarrassed I haven't done the reviews yet so I haven't I've got to get started on the reviews but but I've seen that they've been posted and that's good but that's really really good I really appreciate that yeah I wanted and this was in fact the first thing I wanted to say but thank you for chiming in on on that mark so we have already a couple they're good and it there is also a confirmation that it's worthwhile to share these presentations so that we have a first look at them so I started looking at several of them I encourage everybody around the table here to read them and do comments either contributor or mentor read the documents and any fresh eye on it will help the people to make a better and stronger proposal so it starts to look good a general comment that I have seen it from the outside be careful on the structure of your document so it will make the document more easily to more easy to read and more powerful so take care otherwise continue like that and encourage everybody to to review ad comment if you're not familiar when you have a google doc document there is on the right a small plus no I'm editor from that document here it doesn't work there's a small plus point that will appear when you select something yeah there and now there's a french speaking browser I apologize for that so when you click here you can open up here a small window where you type your comment related to the text that you highlighted so this is the way to comment and say something on a given document other questions related to creating these documents to publish them or whatever I believe that currently there are no pending questions I've seen the people managing and going ahead quite well so it is very pleasing don't hesitate to post questions on either community Jenkins.io or on the Gitter channels ask and we're now in a very important process where we need to steer ideas and get creativity going so that was an important point I wanted to do so now I'll open up the discussion any questions comments doubts on any subject. So I see that Dirage has put a question into the document that I might offer as a candidate to use a technique so Dirage's question was how do we do data collection phase in a scalable way for the plug-in health score idea I wonder if we ought to use a technique with the plug-in health score idea similar to what we just tried with automated maintenance of get caches what I did was I hosted a one hour brainstorming session around that project idea automated maintenance get caches and we had four or five of us Chris Stern joined and two or three candidates joined we recorded it and it gave us a chance to talk about all sorts of things in that one hour doing a brainstorming session I wonder Dirage would you be interested in that kind of a one hour brainstorming session with the the people who are doing plug-in health score idea similar to what was done with the get caches idea Dirage if you want to speak don't forget to unmute it's okay just to type the answer to or or maybe what I should offer is let me let we could discuss it in the Gitter channel if if that feels interesting I felt I felt personally that the brainstorming session we did was quite useful it was useful to me as a get maintainer to think about what should this be and I think the the potential contributors the potential participants found it useful as well because it let them offer their ideas and get suggestions and have good conversations about what does this mean and what does that mean so we did a one hour exercise around that document yeah so I second that idea I'm going to repeat it on the Gitter channel and get that organized because I think it's a good proposal so so Chris any insights from you there in terms of were there things we should do differently in that brainstorming exercise or that we we I know you were there and you were an active participant thanks very much for being so I think maybe we could structure it a little bit more so it's like prepare some kind of like specific topics subtopics to discuss before okay good point how do we gather subtopics by questions on the Gitter or yeah because like I see some like quite a lot of questions asked on Gitter especially about the automated maintenance of Gitter caches so make a summary of them as a starting structure for the brainstorm um if they come yeah okay it sounds like a good proposal okay other questions topics to discuss don't forget that we we do particular we have particular attention that we record these sessions so that everybody can either go back to what has been said or watch it if he was not able to attend because of time zones or availability there are other I had a question about the document template so that we have a section that says that note the dates and G cell timelines take precedence over this document and there is timeline the details of that provided so I was wondering whether that is just for our information or do we have to fill in stuff with that so because we have a proposed schedule that's a different headline different heading in that we have to write a schedule so I was wondering what that headline but the above section was about the line was poor so I'm going to try to rephrase it but it will probably be uh uh wrong so the the question was about uh the the uh contributors proposed timeline uh to uh to do his project so that could he come with an other proposal than the one then the default one presented in the document did I rephrase that correctly or can you uh no actually I I is it is my world is clear no yes go ahead okay so I meant to see that uh above the proposed schedule section there is there are some points related to which phase has to do with what so what what is expected from that there are some open-ended questions also in that para so I was wondering what that was about so are you supposed to answer those questions or is that just for providing us some insight into uh creating the proposed schedule writing another proposed schedule heading okay I'm going to can somebody start answering well I think those are just suggestions you can come up with like our questions and answer them yourselves like if if you think they'll help us to um like to like see how your timing is going to be like right anyone this is what I uh wanted to say where's the document okay bullet item three use the project proposal template I think in application steps yeah there it is okay so uh what is so I I give it my my shot so where is it is this is this the section you're referring yeah okay yes now uh some of these dates are fixed deadlines so these we cannot move because they're set by uh google uh other uh phases and the content uh of it so so what you're putting in what phase and so or if you need to plan a holiday or something like that this is the place where you would mention it so to come back to the initial question this is for information rephrase it so uh this is just for guidance uh and come with your own proposal have a look also to how the others uh filled in the their proposal the temporary proposal now how they did but this is just a reminder of what we're expecting so the start is fixed coding begins which is June 13th there is the intermediate evaluation but I think this can I need to look at the the exact rules this can be shifted around and the the end the final evolution evaluation on beginning of September these are fixed but this is just for a reminder so you don't need to repeat all that this is just always say there what's important for you for instance I need to leave for two weeks because uh I don't know going to marry or whatever but I have important example does that answer your question yeah so actually the reason why I had was I looked at a couple of proposals and the one by Roshikesh in in that this section was absent so from the note the bold line to the proposed schedule the content between it was absent so I was wondering perhaps if that is just for our reference so in this template uh these are placeholders or there are a lot of placeholders in it and give you hints there's no need to keep them if there is no added uh a value just leave it as a reminder or the title but you need to add your own information because we're going to read this chunk for instances everybody leaves it we're going to read that 15 or 20 times and and there is no added value put there what is critical for your or important for your proposal so so I would argue that the start date is important right even though it's is standard the end date is important the the assessments I think there's a midpoint assessment right at least one mid and those are important because those are given by Google and absolutely include those but then refine as John Mark said with your own dates down to like a week by week if you can compose your project into week by week plan what we want to see is I'm going to start with that I expected to take that amount of effort and time then I will do that or that we see the structure and how you're going to attack your your project this is what we want to see right thank you good question other questions comments yes just wanted to add one thing so first of all I'm really sorry for last time when Mark was answering and I was disconnected between network issues so sorry for that and yes Mark replied with the suggestion to host a one-hour brainstorming session so that's really helpful so I have some questions so and I am in the process of making the proposal so I would need to first of all write them down in a centralized place then I will be taking them those questions to the brainstorming session so that way it would be more organized so that so thanks for the idea I'll ask the mentors on the get a channel for the timings and whenever they're available just another technique you can use is eventually if you have many questions is create a small google doc document and link that document into the getter channel so that we have a list that we can work but getter is perfect so this is lightweight and just ask and we're going to copy them but if you come with 20 questions and you need drawings and so we'll start a small document and this can be the base for for that I plan to move quickly I'm going to ask on getter also what is the appropriate time zone for it will probably be around this time so that China in India is it's well served hearing from the audience but I'm going to check that on awesome thank you so much good so dear Raj we've got a few minutes here if you've got questions you want to answer ask now John mark is one of the candidate mentors for plug-in health score so you are certainly welcome to ask them now as well don't don't be shy about asking a question now yes sure so about the data collection phase it's mainly I've noticed that the main thing there is to scrape the palm dot xml file of each plug-in and collect what the current value they have and try to compare it with what is the expected latest value that they should be having and accordingly try to find out and maybe calculate the score so that's what I was able to understand so correct me if I'm wrong so you're 100% on it awesome thank you so the one way I try to do it is by using regex and trying to traverse the whole xml structure of the palm dot xml and just try to get the value of let's say Jenkins base version and then I compare it with the latest the two recommended ones and if so that's the whole process I'm following for a few of them and I'm like wondering like where would we be storing these things because eventually we want to display them on let's say plug-in site whenever a user clicks on a score of a plug-in they want to know like how why is this plug-in has this much score where are the improvements so there we need to list right this this this things needs to be improved so that data will be displayed on UI from some database so can we can you give me some like basic rough idea on that? Mark do you want me to rephrase this the question statement or actually I was gonna I was gonna invalidate one of the assumptions yeah are you okay if I if I'd be so bold as to invalidate an assumption so Dirac we really like static websites and because we really like static websites and I mean we really really really really like static websites so it's based on experience hard experience plug-ins.jenkins.io is actually a static website and so so it's generated by reading all sorts of data sources but ultimately the thing that's that's generated is written to disk and used as a static website and so so the the data capture the data collection thing is actually not time critical that it must be lightning fast to respond with answers to to queries because yes if it's if it's painfully slow it will slow down the generation of the site but not the rendering of the site to the user who's reading because the site that's rendered to the user is static so it's using fixed pages that were generated based on the results of those queries so in terms of does it need to be a particularly scalable way to query I don't think so we can we can store in a standard database and we could store in plain text files if that makes sense does that does that address your question by by skipping the question or have I misunderstood yes it does it gives me some things to think about and go forward with that so another question on that like to collect the data for each plugin I have let's say I have written some functions to check the value current values of it so let's say if you want to check the current the current not the current so if I want to run the maven update version parent the command so as suggested by you mark like weeks ago I should able to first of all run it and then try to see what is the difference between the versions and before that I'm really sorry like the my questions are not organized because I should have written them down written them down somewhere but what I'm trying to say here is for each plugin how do I run commands for it like should I do a git clone and then run the maven commands and try to see what is the difference that this command is created and accordingly rate the plugin but doing good git clone on all of them would be a little difficult time consuming it the simple approach that you suggested is the one I would use initially I admitted yes it assumes you've got high bandwidth it assumes you and you probably want to do small mockups with a relatively few plugins rather than starting with all all 1800 but but I the simple approach you described is one that I would use now there are ways with the github apis to query the contents of files so you can you could if all you needed was the content of the palm dot xml file you could query that but but if you need to actually perform a compilation then you really need the source code for that and to get clone is a simple way to do it yeah I would I would go first with the cloning path and using the the github apis is optimization so trying to find out ways where you don't need to clone because this can be expensive for for some some projects but I would use that that process if it works with a git clone in a second iteration you can look at how can I optimize and win time if if the complete process turns out to be too expensive now on 1000 1800 plugins but it's an interesting dimension I would use that that method yes that makes sense okay so I'll go with first of all brute force as maybe you can say that way so get blown and then try to optimize it later with github apis so thanks a lot sorry go ahead go ahead okay I was asking mark that for the second iteration of the health plugin like the same case here just discussing I was asking mark whether it is possible to use some api for our jfrog artifact for instance because all plugins would be available there so if we can somehow get the metadata from there so we can skip cloning as well as reading through github apis you have a good point there the the well and there it's a good point and there are compromises that you're choosing one versus the other so the the plugins.jankins.io site actually does read palm.xml files from Artifactory the limitation is what that's showing you is only released versions and sometimes plugins have evolved quite a bit since their last released version and what you want to answer is not the health of the last released version you want to know the health of the tip of the current primary branch so absolutely repo.jankins.ci.org is a good place to read released information good point mark this point could be challenged are we going to take the health of a given release or the health is it for the plugin as a whole oh good question i think that's a that's an open question and i'm willing to have that we've sort of run out of time but i'd love to have that conversation because i think that's a worthwhile conversation and it highlights an interesting question yeah it's a functional question worthwhile to to discuss and the strategy can be different so here we're running out of time here i thank you for the question and interactions i thank you mark for for chiming in and and giving you all these details one action point that i take on me is to get the brainstorm session about plugin health going and want to organize it as soon as possible and and the aim is somewhere in next week to have that going so i'll start the process on gitter ASAP okay thank you very much everybody don't hesitate recommendations read other people's temporary proposals and honestly comment them we all learn from the process everybody being mentors people that's the contributors second thing we organize brainstorm if there is a need or interest for other brainstorm sessions just let us know and we want to have as much help as you as you can and see you all either online or during the next meeting then i wish you a nice rest of the day to everybody thank you everyone bye bye okay thank you