 Let me just share my screen here. All right, so welcome everybody to installment number 13 Jenkins UX SIG online meetup. Today's session is going to be frankly really brief. We don't have a whole lot to share as I've been away and offline a bit the past couple of weeks so there isn't a whole lot new. We do have a couple of cool items first officer anybody. I think for leap if you, if you wouldn't do yourself and if not that's okay too, but welcome either way. I don't think we have any other introductions this time around, but does anyone have any topics I'd like to add yeah for sure. I just feel free to hop in there and do that. I actually start off with a sort of design deck and take a look at some, either some concepts or some, some actual working prototypes from Felix. Let me just check the comment here. Thank you Jeremy. And we don't have one of the one of those this time around so I wanted to highlight an Oleg of course you could speak better about this event than I could but I wanted to highlight the UI UX hack vest. That is currently happening. Oleg do you want to say anything about it. Yeah, sure. So if you want I can just share my screen and show some notes. Awesome. Okay. This is my screen. Yes. Okay so. Okay, as you know, we are doing Jenkins UI UX hack vest. So it's a one week long event where we invite all contributors to work on the user interface documentation not to spread the word about Jenkins. And, well, this event has started on Monday. And so far we have got 26 contributors to different topics and counting. So, yep. We are committed to contribute. And during this hard test actually delivered quite a number of stories already. So, if you want to see the full list of stories you can just go to this repository UI UX hack vest 2020. And actually we can just search for reports. So we asked all the users to submit the issues and right now I'm working on a blog post which summarizes that, which would summarize that. For example, if you want to talk about user interface with taking huntsman's and maybe some bugs with if you want. And yeah. So. Okay, I didn't work like that. So you can find a number of stories which have been contributed and which have been officially recorded because we all do notice that not everybody reports. Their contributions so later we'll have to do some GitHub queries and other things. Major highlights. So first of all, we have our first prototype of the dark theme working thanks to team. And we had a great presentation session today. It has been published a few minutes ago. You can take a look, but it's not only about that. So, on Monday we have released a system read permission support. So if you go to the Jenkins blog. Here you can see that there is read on the Jenkins configuration blog post, which basically summarizes the weekly release. It enables three types of permissions extended for jobs. Well, it was around for a long time. Then there is agent extended treat is just introducing this weekly and also system read which was around but it got a major update as well. So, we invited contributors to start testing and there was a number of requests. There was a number of enhancements needed for this story so you can find it here. Also, there are some minor contributions here and there, for example, will you improve play out auto gradient plugin. We have some improvements and footer of Jenkins. And also other minor things here and there. Again, this list is not complete because not everything was submitted so far. But still we got quite a number of contributions in terms of pull requests. The same, there are some bug fixes that is a lot of documentation changes. So, yeah, the hook up on is going pretty well in that regards. And obviously we would like to have more contributions. So if you're watching this video, there is still an opportunity to contribute and get cool t-shirts. So, regarding the rest about the hackathon, we do a good progress about documentation, including plug-in documentation and user documentation and retention stories. So it's running well quite well. We also have other project ideas listed for the UI. So let me just show you the full list. So look and feel updates. We've got a few minor contributions here and there. Same for accessibility. So there are some contributions, but there is no team which would be really focusing on this story at the moment. And team, please correct me if I'm wrong, but for tables to this migration, there is also no active testing right now. No, we've had a couple of people testing. We've done a lot of testing on it. We had three issues reported. Okay. So, yeah, something is going on, but you definitely will appreciate more testing of the story because it's an important change for accessibility. For system read, yes, some changes, some demos. So, yeah, it's going well. UI themes, yeah, we focused around the dark theme. We haven't really touched other stories yet, but maybe there will be contributors working on that. For pipeline visualization, there is a contributor who is working on improved browsing performance for logs and pipeline. But yeah, the pull request hasn't been submitted yet. For credentials management team has submitted a number of patches. Some of them have been approved, so hopefully you'll learn to them in the weekly. For developer tools, there were some contributions by Dennis Diktar in order to improve for IntelliHID plugin for step up. So there are some activities in all these stories. But yeah, still everything requires more contributions. So any additional comments from HACFIS practice, you have a lot of them on the call. Thank you all for sharing. Okay. So, yeah, if you're interested to know more about the sessions again, please refer to this site. And there is also presentations where we accumulate all materials. For example, on Monday, we did a great session about beautifying plugin UIs with JavaScript components. Then we had sessions about being great in the docs, about system read permissions. We had a section about UI themes and dark theme, which will be published maybe in half an hour. So you will be able to find all the information here. Okay. Awesome. Thank you. And then Tim, I think you might have added this item, demo of dark mode. Is that something you wanted to chat about today? Yep. I was just going to do a demo of the dark mode, just to show you what we've gotten to so far. I can do that now or later, whichever works. Now is great if you report. Yeah, so. Awesome. Okay. So I just started this yesterday afternoon. Looks good already. Yeah. So it's mostly functional. I've been trying to focus on the user side of it, rather than the admin side of it. And I've got quite a lot of that done, although it's just tidying up a bit of the admin side just because it's quite obvious. Just being trying to focus on having good enough contrast and just a nice ease to view UI and it's been inspired by the camera lots camera. So the colours and the kind of contrast was initially taken from this camera lots theme that's been around for a few years, but has recently broken as part of the UX improvements. And some bits I didn't like, so I've taken them out. But in general that was the inspirations. And so it hasn't been updated in the last two and a bit years. So a few things have broken recently. But this is what it's looking like currently so it's got to the main screen is working. I've got the pop out menus are working. All these managed Jenkins. I haven't seen that. So I usually use it on my bigger monitor and it doesn't scroll so I hadn't seen that. Searching working. Not quite sure on the colour but the contrast wasn't working very well with the other colour before. Haven't checked the screen but it seems to be okay. So in the side panels working okay so selected and the active one and then a hover colour when it's going over it. This one needs some work. I haven't intentionally looked at this page before. But then if I go to a pipeline screen. So I've got a pipeline with a number of stages. Possibly some work needed but apparently it normally has these weird blurriness. So turn the theme off. Remember we were discussing this blurriness something like five years ago when it wasn't reduced. So it looks better this colouring but it's still there. Okay, yeah so it's not as noticeable on this. The default theme so probably needs something. It looks quite funny. But yes there's something he's doing there. Build logs are working. If you look through here. Build log. I haven't tried any calls in there. Yeah, I didn't need to do anything. It's just worked. So what's and managed Jenkins is what I was just doing just before this. So you've got all your panels and that's all showing up. Hover states and then forms are mostly working I think. I've just taken all the buttons styling is all the same. I haven't changed any of that. So using this grayish background. I'll probably change the search box to use the same colour but just wasn't quite working right before. So the secondary button looks a bit funny. So probably needs a new colour for the for the secondary one. Bottom bar as well. Yeah, that's just it's turning off for the column back to column needs to match the background. So it should be quite straightforward. Haven't looked at it yet. But one day ago this team just didn't exist. So I'm sorry just this is pops. This is going to be a simple things kind of thing or not. So it's currently being installed through a simple thing. There are some differences under the hood. Yeah, so I haven't I haven't just built it how the traditional things have been built by modifying this modifying the Jenkins CSS and finding all the selectors that need changing and adding importance all over the place. So it's actually modifying the change Jenkins core to use CSS variables, which means that you can override the variables at runtime. So if I show you the theme. So this is the theme here. It's about it's just about it's about it's one file about 50 lines in it. And all it does is override variables and mostly just it's mostly got a few colours defined at the top. And these colors are just used throughout throughout the file. And in certain cases it's these are just the primary brands colours defined in Jenkins. I haven't overwritten them, but I've changed certain text to use the brand colours. But you see there's only three colours defined throughout. Just contrasting them. Which has meant that I've had to send a I've got a progress open with Jenkins core at the moment. It's changed from using SAS variables to CSS variables and and introduced a post CSS pre-processed to which adds the deep adds the colour and it build time so that IE 11 works. There's one thing that isn't won't work with that, which is the background image. But we have to take a look at that on IE 11. But say it's just it's basically just find and replace at and then adjust and then find a few more places. I also fixed the the password change button wasn't using the new button styling. The colour was slightly different. It just looked more prominent in dark mode. So that's fixed. That's basically it. So there's a repo for this in the Jenkins CI organization. It's called dark theme. And there's some instructions there on how to use it. I think. So just need to run. So for now. So Oleg's currently working on a Docker image which comes out of the box with it. But for right now, you need to just run this with the core PR tester. And that will bring it up with the latest commit from PR tester. And then you need to install the simple theme plugin and just refer to the CSS file. Just right. But you only need to do that because you've got unmerged PRs. And once they're merged, it should be working by this normal simple thing. Yeah. Yeah. Yeah. So yeah, I have a stage to pull requests towards this repository. So basically what we need is to have more as fixed version of the Jenkins core. Because I take Jenkins work from incrementals version. And right now I'm using cold incrementals version, which is already incompatible with the current version of the theme. Right. So it's incompatible in a way that it just doesn't work. So once team finishes patching the Jenkins core, I will update and it will be just click a button to get the instance running. And the instance will include system read permissions. It will include manage permissions. It will include a bunch of plugins, something like one heart. Obviously, it won't include a blow ocean. So blow ocean is not updated by this thing. If somebody wants to try to do so. Yeah. Have you ever seen the retro ocean? Okay. Yes, I have seen it. It's horrible. Yes. They had a lot of fun creating that horror. I haven't, I haven't looked at the login page. Yeah. It's got separate extension points. You have to implement a plugin. But that's a nice enhancement on top. Yeah. So I will be able to my demo. As once I fix the simple theme. Awesome. Thank you to share that. I think. Yeah. Oh yeah. That's all. That's all burst each other's headphones by clapping simultaneously. No, but really, really cool stuff. Thank you. I think next on the list here, what if you had a demo of the UX program of the script security plugin UI. You want to speak to that a little bit or share your screen or anything like that. I have my screen. I have something running normally. Tell me if you're seeing the screen. Yes. Okay. Perfect. So essentially just a rewarp of the user experience for that screen. So the in process script approval. It's when you are doing some groovy script, but you are not an admin. And so you need to have approval from an admin to use your script. So the current version of the page, it's something like this. It's a bit horrible in terms of experience, in terms of visual experience, but also in terms of feature because you cannot, once you have approved the script, revoke the permission you propose to that script. So the proposal is to have something like this with multiple tabs. So that was a very good feedback I received from Joe, but the separation between, between tabs instead of just the feature. And so you have with the table, you can still see the content of the script by expanding a bit to the stuff. And you can see more information about where it's coming from in terms of context. So that was already the case in the previous version. You can see the context here, for example. But what I'm adding here is especially for the approved script. In case you already approved something, you are keeping the information. So all the metadata are saved in the disk. And so you know what you approved in the past, and you can evaluate if it's still relevant or not for the current status. So it means that for my instance, these approval are just completely useless because nobody is using them at the moment. There is no metadata. It means there is no usage. If you are using them, you can see new date, the number of views since the introduction of metadata. And with that information, you can have a more expert view on what is expected to be used and what could be just revoked. Because if you want in terms of security, the number of approvals you already have is a bit also the size of your security hole in a sense because if you have thousands of scripts that are approved there, potentially one of them is dangerous, but you don't know exactly the status. So with that new feature, you can reduce as much as possible the list of things you have approved, normally up to the number of pipeline you have and not like 100 times the number of pipeline and things like this. The four remaining tab there are still the same as the current version. I just transposed the script and the CSS. It's something that will be done either in the future or in that period if I have some time. It's more about the things are working. It's just not as perfect as it could be because in that approved script, you can revoke individually the different things with that button. While currently you need to revoke everything or revoke by hash only and with the hash you have no information. So you are just randomly pick the things you want to revoke. So that's a bit what I wanted to demo there. The PR is ready for different review, approval and things like this. It's still a work in progress in a sense because there is a lot of things to do especially about the wording. I received multiple comments on the different sentence and things like this. So it's still in progress. And if you have some feedback, some request of feature and things like this, do not hesitate. Really awesome dramatic improvements to the usability on that UI. So really cool. Thank you again for sharing that. All right. That brings us to the end of our list for today. Pretty short meeting this time around. Did have a reminder there for, for those of you who have not previously joined on the SIG call. We keep everything documented from these meetings in our agenda document. Of course. And then I just realized I'm not sharing. Well, no big deal. But. So here we keep everything documented in terms of meeting notes here. Excuse me in the agenda document. And we also have the UX SIG resources so that whenever we have design decks or other things like that, they're all linked here. If you want to refer back to them in the future. We have our meeting notes here as well. And I think that brings us to the end of our call for today. Unless anybody else has something to share. All right. Thank you all very much for, for the chat and for the great updates and let's keep it going. Maybe one quick question. So I'm working on another roadmap update. So last week, we added accessibility stories there. And probably we could get Jenkins dark team. There is a separate item. So from other topics, does anybody have something else you would like to add to the roadmap? If, for example, script security revamp would be probably qualifying. But yeah. So if you have something like that in a plan, let's discuss that because it's great to keep as many UX stories as possible. Well, let's keep it, let's keep it updated. If anyone thinks of anything else, just read it forward of course. And I guess that's it for today. Thank you everyone. Thank you everybody. Thank you. Yes, special thank you for all like for the access to organization. That's really nice. My best. And they wrote some quotes today. Right. Beautiful work, Vadek. I'm looking forward to using that script security work. Thank you. Thanks. Yeah, thanks for that. What, have you tested it with configuration as code and script approvals by the way? I don't even know if the initial plugin is working at all. But that's something that could be interesting. Yeah. There was configuration as code support, which was added six months ago or so, or maybe yellow summer. So it was working in principle. It works. People use it. But just whether it works with your changes, whether it clears that information you need or anything. Yeah, I will check if there is something need to be a trick a bit there. Good point. For me, the best script security user experiences, not having anything in script security. Yeah, we don't use it. Because once you need script security, it's likely that something is wrong on your instance. But yeah, there are use cases for it. We get tech out some people asking for us to approve things, but it's always because they have typos in their Jenkins file. That's one way of catching that. Well, it could be reported more obviously, but they're not trying to do that. There's no reason for us to have it. Yeah. All right, I'm going to step off here. I'm just kind of waiting for one more topic to raise, and then there'll be four of us and then there'll be two of us. All right. Thanks everyone. Bye. Bye. Still recording.