 All right. So why should you contribute a project browser? And for those of you who came in late, there is a bit.ly PB So it's bit.ly slash PB for project browser. Lil, L, I, L, L, E 23 So all the slides are in there with all the links all the QR codes everything So please grab that and you'll have all this information. So why contribute? Well, this is one of the first things people will see when they install Drupal They want the next thing they want to do is add some functionality to their core site, right? So you'll all participate in helping with that and how cool would that be for you to say wow? I helped build this thing and then there's a bunch of other things Chris talked about but the Key thing is everybody is welcome. If you're a designer your front end your back end coder, you know help Chris out your Accessibility or you just want to work on the content. So believe me everybody in this room. There's something you can work on and Current maintainers a welcome as well to help us out to get these things accomplished in the content area So there is a bitly also PB contributions We try to keep that up to date all the time So even after you leave today if you go to that link there are always a whole list of things that people can contribute So that's something that you should You know mark down as well All right, so first thing you want to do is hey you're talking about project browser What is it? Where can I see it? Right? So I told you go to the project browser page and there's a QR code here You can grab So go to the project browser page click the try now button try it now button Basically, just accept all the defaults that you see and it spins up a Drupal 10 Website with project browser installed All right, so this is what you get after it goes through the installation process And basically what you want to do is just expand. Let me just walk over here a second Just expand this and it'll actually call up your site This is showing you all the code and all the composer commands at ran, etc You don't have to worry about that. Basically just click on the top right and it'll show you your your site And there you go basically log in with River secure. Don't tell anybody this admin admin This is on your this is on your local site. So it's okay So just log in there and then basically as Chris said it's hard to find so we're going to work on this But it's the under extend It's the last thing down here browse modules and then you're in the project browser So give it a spin one of the things you can do to help us out is just check it out and create issues in the issue queue If you find anything that doesn't work quite quite right Let us know please go and check first that make sure that it doesn't already exist because we have quite a few UX UI type of Issues already created there. All right. So this is let me go one more. All right, so First thing Chris talked about is adding a logo So most of the logos for the top hundred we've actually gone through designed to serve creative other people have reviewed them We're ready now for the maintainers to to put those into Dupal.org so that is pretty much done But if you're a maintainer here and as Chris said you're not one of the top hundred modules And you want the group to help you create the logo and get it set up Maybe you're the next set down or maybe you feel like I have a brand new module Maybe it's not top hundred, but I'd love to have a logo for it. Let us know you can actually create a Child issue in our meta create logo issues just create a child issue for your module if you'd like and then we'll have somebody Contribute by working on that. All right, so there's guidelines You know, I'm not going to go through all this because we have a very short amount of time But anyway, there's guidelines for you to do and basically it's going to pull from Git labs avatar Which is logo dot PNG in the root folder. So if you're a maintainer, that's where you want to put that the Recommended logo or the suggested logo that the community came up with and I'm going to show you it's going to show up in all these places So the logo appears in all the different places once you add it to the correct place in your root folder and get lab All right, we also have a metaphor short description short descriptions is a 200 character What does this module do? So basically we want to sum it up 200 characters So it shows on the card view in the project browser. Okay You don't want, you know, how the project page is out right now when they go on and on and on We want just a very concise really meant foresight builders and those new to Drupal. What does it do in a very short? a couple of sentences We definitely need help with that we have a lot of them created People are intimidated with doing the RTBC on the descriptions because they feel like they don't have enough knowledge To make the decision is this really a non tactical description of the of what the module does So if you have a little bit more experience you've used some more modules You could help us out just by reviewing some of these and you can get to a whole bunch of them in a very short amount of time You get contribution credit for helping us out do that. Okay, you can also write short descriptions as well for us So really what does the module do 200 characters non tactical is the key? Maintain as you're going to add this to your summary field on the project page You're going to add the the short description there and that will be brought into the project browser And then we're going to well, I'm going to have a buff I think in the next second the next set of time for to talk to maintainers find out the most efficient way for us to Give you the suggested logos and suggested short descriptions We started creating issues in the in the maintainers cues Not sure that's working as well as we thought so I want to get some input from current maintainers If there's anybody here come to the ball for reach out to us because that's the next step is to get Maintainers to actually make these changes in their cues All right now Chris is going to talk to you about this fun recategorization. Yeah So we did come up with like I said 19 categories to replace the 20 did you check? What is it decoupled? Okay? All right 20 categories Including decoupled separately now So what we want to do is we want to go back to Drupal org and we want to you know Put in some constraints and some help for maintainers on that site So there's work that can be done here as well for Limiting the number of categories to three. I think is as one now We did notice when we were doing our initial analysis. There were some modules who maybe were tagged with 44 of the 55 and the ones it weren't tagged with where the 11 that were created since the module is created So we want to limit that to three We want to create a categories help page on Drupal org to help maintainers to say Here's this category and here's what kind of modules belong in this category. Here's what we mean by this We did as much work as we could to involve people who did not speak English as a first language Include a very diverse group of people as we were collecting data around what these categories and descriptions should be Then we have a migration plan about We should take this old term and tag it anything tagged with that should be tagged with this new term Other terms should be dropped. So there's a plan outlined there and then guidelines for creating and adding new categories You know, we didn't start with 55 categories in the last iteration They grew and they you know inflated as as time went on So we want to create guidelines around what should we do and what should our rule set really be about adding a new category? So they are in the Drupal org issue queue now because it's a change that we want to make on Drupal org But it came out of our initiative and the meta is is right there up top so So this is maybe dated because the screenshot does not include decoupled but Where oh? Yeah, yeah, okay. Look at you Leslie knew that the screenshot was off. So she added a note. Thank you So Limiting to three. What was that? Oh god. I got all all messed up, but either way. That's the proposed list of categories good and Scopes so we came up with a description about like well, where should my module actually fit is it compliance? Maybe that word doesn't necessarily Mean to you what it means to me So let's get some additional descriptions there and we took into account comments that were made in the feedback cycle We did a lot of Surveys we talked to a lot of module maintainers and again a diverse group of module maintainers as diverse as we could Obtain especially people who do not speak English as their first language to try to make sure that these were Understandable to as many people as possible and then here's our category mappings This is kind of the plan that we have for okay If it's tagged accessibility in the old one tag of accessibility in the new one if it's tagged administration Well, all we're gonna do is where we've actually just renamed that category to administration tools We've changed commerce and advertise commerce slash advertising to e-commerce for example So we have a whole proposal there. So any of those issues if you have commentary on them, that's incredibly important Okay, this one's still me right? Yes, okay The other thing that we want to work on is Mapping this project detail page So when we looked with our real users in the usability study with University of Minnesota that was a big area that they felt was lacking in the existing prototype and With good reason because we only created that to prove that there was plumbing between Our site and the Drupal dot org detail page, but we put oh, I'd say literally zero thought into how we organize that like literally zero So what we want to do is relook at what are the most important parts for newcomers to Drupal? What are the quality indicators? How do I know that this is the module that I want to install it should tell me what it does and It should tell me that it's good and trustworthy And so we're we want to work out what are what's the data from Drupal org's page? That's kind of the minimum version of what will communicate that on our detail page inside And then we'll provide a link to the Drupal org full page as needed And then there's just a little note about the front end I talked about this briefly before but the front end is written in spelt, which is a sort of new er JavaScript framework sort of along the lines of react and view But a little bit different from each of those and a little bit similar to each of those in its own way So everything between the header and the footer of the Drupal site when you're looking at the project browser is actually Rendered with spelt and I use header loosely like past the breadcrumb and the messages So whatever that ends up being but the real app that you're interacting with is really built into Core so that is a good way for us to potentially get a modern front end framework into core as we as we look ahead We have a little bit of You know cursory approvals around this kind of thing But it is You know a hurdle that we're willing to take on as we move towards core If you want to learn a little bit more about spelt there are sessions available online between Myself and my colleague Jay That we did it designed for Drupal. There's only a few months ago, right July. So it's fairly current Jay gave just an introduction to spelt and spelt's concepts completely unrelated to Drupal and then I talked about how we took those concepts and Brought them into spelt or how we're Utilizing them in the spelt front end for project browser So those are two really great ways to learn about what we're up to and And there's of course a variety of front-end issues that you can work on some of them are novice Some of them require a little bit of knowledge about Drupal's design system and class names We may be using custom CSS where we don't need to be we could probably use a Drupal class and you know Get something that comes along for the ride there We also have some back-end issues to work on so the detail view is obviously a big one that we're we I've been pushing and adding a confirmation page when we install a module so these really came from Usability studies where it's installed and it says that path autos installed But it doesn't tell you that it also installed a dependency or which version it installed So we'd like to add a confirmation screen and getting that plumbing in place Will lend itself to some future enhancements that we have for example on that confirmation screen Having a module maintainer provide some help text to say okay. You've now installed path auto here is how here are your next steps Here's what you can actually configure Here's the link where you go and do it and that's what we see as being like a next phase two thing. Oh I would be remiss if I did not mention the meta to improve project browsers test coverage There's always room to write more tests and anyone who has any experience with PHP unit in Drupal or PHP unit at all Is welcome. We have definitely a lot of opportunity to help write some tests there So what's really next for us those alpha blocks what's really waiting is We kind of depend on package manager which comes from the automatic updates initiative Which will automatically update your Drupal site So there are blocker or I don't know about blockers But certainly dominoes that are standing in the way of of package manager getting into core and one of that is the update framework So PHP tough so we need to get that tough work Completed and that's for code security during the update process making sure that when you're downloading code from the internet But it's good and healthy code or it's at least signed against the package that you expected to download and So that requires some server infrastructure So we need to kind of wait on package manager and some of that infrastructure to get completed With that said there's plenty of work that can be done on anything. That's an MVP issue That we can still work on because we have a fully functional. Well, yeah, sure fully functional prototype around What can be done so project browser this week if you're interested in contributing It's a secret. All right, so I know we're throwing a lot of information at you That's why I said make sure you grab the slides We're just trying to do a high-level overview, but we have limited amount of time to do that. So How could you get involved this week? All right So today there's contra general contribution going on all the time Chris's in that room a lot You can just go there, you know who Chris is now just what we're very friendly Just walk up to you either one of us and just say, you know, hi I'm interested in contributing let us know how you would like to I'm gonna go over a few of the ways now But just approach us any way you see us and say hey, I'm interested and we'll definitely Talk to you and see how you can best help us out because we want everybody in here to become contributors How many people have never contributed before interested in doing this for your first time? Okay, some okay great We've had a lot of new contributors help with the logos the descriptions those type of things So it's a great way to get involved a few of colleagues that have never contributed They want an easy on ramp to contributing by all means let them know all right so this is the session we're doing now at 415 I'm doing a buff for maintainers how to prepare your modules to I said to shine in the project browser But really just how to get your modules ready to appear in the project browser Wednesday again all days general contribution so if they're your between sessions is no session I really want to go to by all means come up to contribute contribution help You know help us out same with Thursday all day Thursday Chris is being involved. He's in the Drupal initiative leads keynote So he'll give what six and a half minutes on project browser So all the initiatives have a very short amount of time just to introduce the initiative and how you can help with that So definitely go to that there's a lot of other initiatives as well that you can help out with so go listen to all the initiative leads Talk about their initiatives Friday is contribution day. Has anybody been to contribution day before to Drupal con? All right great has anybody never been to a contribution day that would be the rest of you by all means come It's so intimidating honestly I was intimidated years and years ago when I first came I'd go and the tools were nowhere near like they are today It wins but spend the whole contribution day trying to spin up a local site and that happened to me Twice a year probably for four years not I'm sorry two years two years so four times probably I went to contribution day It did absolutely nothing and I was frustrated nowadays tools are easy You have initiatives like this where you don't even have to you know You can just spin up the site and give us feedback stuff like that So there is first-time contributor workshops. There are three of them this week It's on another slide basically they just tell you some of the basics ahead of time So ahead of Friday you can go or you can go on Friday morning to the first-time contributor workshop Friday afternoon. I'm sorry Friday all day There's a mentored contribution where Chris and I will be and basically we just help people find issues and help them through the process So plenty of times to help contribute. So what happens if you can't well, this is just a more on The different times for the first-time contributor workshop So I think that you know each day there's at least one time here where you can go to that workshop So these this is just another slide on when you can contribute How can you join the initiative so say you have colleagues say you know people that aren't here or you know You're not staying Friday because you have travel We have a slack channel Hashtag project dash browser on Drupal slack We have a site builder Subcommittee meeting on Tuesdays at 4 p.m. Eastern That is more high-level talking about categories talking about descriptions talking about the you know, maybe the project description page Chris run and I run that Tuesday meeting Chris runs a general meeting on Wednesdays at 10 o'clock Eastern So we did afternoon morning to hopefully make it accessible more globally They talk about things a little bit more tactical in the Wednesday, but come to either one of those meetings Those are held every single week. So by all means get involved there check out the issue queue and definitely check out that PB contributions link that I gave you if you were late jubilee I'm sorry bit.ly slash PB for project browser Contributions all one word that gives you a list of current things that you can work on So I said join the project browser slack channel there it is there Chris and I around as I said, we're pretty friendly now We're very friendly. So just say hello. Hello to us anytime. We'd love to have you all involved Project browser is only going to be as good as all the community's input So everything that anybody here has for input would really help out the project browser Just before we get to Q&A, I'm just going to give you these links to give feedback for this session Or for any of your sessions and there's a general con conference link there as well So I think we're going to do Q&A now we have about 10 minutes, which is perfect So we nailed that I will walk around. Yeah, you can get questions Right there in a minute So when I'm trying to teach beginners trooper and I come to this project browser I Often get nowadays Intimidated with composer installation You as a project browser as far as I understand is based on composer in the background Can I set the position where the browser the composer is installed because on some cheap Providers you have to install it yourself Can that be connected? That is a good question and I happen to know the answer even though it's not related to our initiative So out all the composer stuff we've handed off to package manager But package manager does have the option of where to find composer configurable Inside of config so you could set it in a settings PHP or config override and you could tell it go to you know My home folder and get the composer dot far from there and it will work You do need access to Like a temporary space with enough space because it actually the process is it takes your whole site Moves it over to a staging area runs all the composer actions there so that it doesn't mess up your live site And then make sure that it works before copying it back. So it's very robust in that way Yeah, absolutely Thank you guys this initiative is so so important as a small agency that sometimes has to use other platforms It's really exciting to see this coming to Drupal. I want to ask about essentially discover ability There's obviously many tens of thousands of Drupal modules and some of them are really tiny And some of them are really tiny but still very useful and not many people know about them And I'm sure in this room. There's a couple of maintainers of some of those really small modules. I'm curious So I'll try to ask this in a simple like a straightforward question I'm curious how when you search for instance, what powers that that search Is it like just the standard the same search from the the Drupal org or is there a new search system? Yeah, great question So we are So let me make the the difference between using the mock data which we're doing now and What really is going to happen and hopefully the next few months knock on wood So right now the the search the keyword search not that great It really is using like a like query and just like looking through the title and description to try to match a keyword It doesn't work that great But it works a lot better than it did before which was only exact match on title as of like a month ago but what it will be is a on Drupal.org we are actually Doing a solar query and we're asking the search interface on Drupal.org to return Results coming back based on facets and filters and based on keyword relevant scores So we're able to continually tweak that algorithm as needed through search API on the Drupal side if we say Maybe we boost title by two. Maybe that's not enough. Maybe later We need to boost it by five that can all be tweaked and controlled So the API call that we'll be making for search will be powered by search API and solar on the Drupal side and Then the the sort is also very configurable. So in terms of discoverability The one that we're showing you by default because of our primary audience of new to Drupal site builders is We're showing you by basically popularity first. So that's why you see token first and then see tools and then path auto But that's configurable you can change how you're searching or you could sort by say something like Salesforce Which has kind of a smaller surface area in terms of modules But the most popular Salesforce integration is going to show up first by default and that's all configurable Yeah, it's just one more thing to add. We do have categories as one of the filters So if they knew that they were looking for a specific category of things, you know They could just use that category and it won't necessarily bring back the default top hundred It'll bring back things. It's specific to the category that you're uses are looking for Search engine optimization or e-commerce or whatever. That's a good starting point This one's way in the back. So you can come to yourself while we wait I just have an addendum to that which is that the sort order will Probably have governance around it in the same way that like the marketplace on Drupal that org has governance the algorithm Eventually will take into account things like whether the project has security coverage Whether it has a stable release whether it follows, you know best practices no photos red lanyard in terms of governance and so forth so They'll they it'll be configurable But the default sort will sort of try to push people towards modules that follow best practices. That's all Thank you, Jess. I Wanted to ask how does this work for someone who's using version control or this is just for someone who's using the Drupal user interface to install modules I Want to make sure I understood your question How does it work for people who are using command line and using some of the more advanced tools? really at the end of the day When you install something using the project browser it goes through that process that I was speaking about before which it Forks off a copy of your site runs the composer commands there and then Basically r sinks it back from there back to your site. So if you allow that in your production environment That's something that could happen in your production environment Which means how are you going to get those changes back down into your version control system? It creates some issues. So There are really It really depends on some self-governance about how will we allow this to be used? For example, maybe you don't allow project browser to be enabled accepting like your local environments, right? So then you can use project browser Get your changes and then run your own get status and get commit to push them up That's probably what I'll do is still use the project browser to install things because it makes my life easier But I'm comfortable on the command line. I'm probably going to be then doing get actions there now if this is Your grandmother's knitting club site and you just have it on shared hosting You know what go daddy or something and it's the permissions are open enough You might just be running all this in production, but you probably don't have version control anyway You probably just have backups to restore so what we wanted to do is is make it possible to enable grandma's knitting site to work but People who are into advanced development workflows need to be cognizant and aware of what this could do to them Yeah, and what the one thing I forgot while I'm walking up to get this question is we do have a Customization where you can enter a source for what which modules you want to pull in so if you work for like a university And you have only certain Modules that are allowed to be installed by your university You can create that source and we have a filter where you can actually go and just use your source Versus using all the list of modules Yeah, the back ends the sources that you're pulling data from are completely pluggable through Drupal's plug-in system So you could write your own source to pull from a Google sheet of allowed modules or whatever It was that question. I was going to ask how can we have a custom endpoint to have our internal? Project mm-hmm. We have about 20 Our own modules which view for our different clients. Yes, can we have a separate? Composer command destination for Pulling this data. Yeah, so I'll talk a little bit more about that. That's really great In addition does it run a composer post install commands To paste a composer in the composer.json file the composed install commands Does it run it? Are these run? How does it work with the composer? Is it the same as if it was the system call? Yes. Yes, so Another good good question. So and that's that's what I was going to probably address was like It's the same as running composer on your site It's just first runs it on a copy of your site and then copies it back So if you were to say write an additional plug-in Which is totally viable and totally something you can do today We even have a handbook page about how to write your own Custom sort of back-end source. So let's say you wanted to add your your company's 20 modules You would get another tab so you'd get Drupal.org then you'd get a tab for like my company's modules and the 20 could be listed there as long as in your repo or Your project you can run composer require You know anor tech slash Dragonfly whatever I don't know. I'm making stuff up here as long as that works with your composer json That will work inside a project browser So that is a piece that you will need to make sure is working in composer json Already, but if it is then you can easily add your custom plug-in. You could even replace the Drupal.org plug-in with your own List of only a hundred allowed modules or something like Leslie was saying Yeah, so we have probably one more one more minute So it's probably the last question, but again, we're very friendly and I'd be more than happy to answer additional questions okay, and Does this work like to two ways like you install a module via project project browser and Then you install like a module with composer. Is it then also in the project browser tacked as installed? Yes, actually as long as it is a module available from your source So if you were to Let's say install token command line When you load the project browser it will show token as either available or installed just like it does on the list page Now so there's a state where you can install it But it knows it's already in your code base or if it's already turned on enabled installed You'll get a little checkbox that says it's installed If it's a completely custom module it won't show in the project browser unless you have a you know a custom source plug-in That shows your custom modules Yeah, okay, so those of you who aren't just technical who are in here saying what are they talking about with all this Composer talk remember the goal of project browser is for site builders and those new to Drupal. Yes It does have this advanced capability, but please don't walk away thinking all this is going to be a really difficult thing to use It's just in the UI. It's very easy. Believe me This is just allowing people that are more tactical to know that they can also use the project browser Everybody will be using it Another real quick one one more real quick anybody have a quick one. Oh, were you good? All right, thank you so much