 We believe the internet is the most powerful tool for human progress the world has ever seen Continuously created by all and governed by none a global commons that ensures access for everyone What it enables is nothing short of magic We believe the internet must remain a space where ideas are born and perspectives are challenged Where collaboration drives inspiration and debate fuels ingenuity Where technology empowers creators to unleash innovation at a pace never before imagined To reach beyond what is possible today We believe technology that reimagines the way digital teams work sparks humanities drive to achieve and advance When we come together to make the internet We are building the future Turning inspiration into action Freeing us to create experiences that accelerate change and unlock extraordinary performance Kindling our passion to push limits to explore to discover To disregard the status quo and embrace new possibilities in our relentless pursuit of better Drupal Khan My name is Steve Perche from Pantheon. We're proud to again be sponsors here at Drupal Khan I feel privileged to be introducing today's keynote address related to our many core initiatives Today we'll hear from initiative leads each of whom is working on an area of critical importance That could influence Drupal far into the future Though one of my hopes for today's session is that it will answer for me and many others in the room a Question related to the much more immediate future What table am I gonna sit at during the contribution time today? Should I be working on single directory components that sounds cool? But perhaps I should be smashing bugs or or joining up with the project browser or no The auto update initiative might be the place to be and and to go off my script I was just chatting with Dave Reed here about a joke module related to render caching. Maybe I got to go there But you know, yes, exactly Applaud applause for Dave Reed and joke modules. Let's bring back joke modules But but but getting back getting back on my script I'm concerned that this session will actually make the question harder. I mean these topics are very compelling Our initiative leads are incredibly impressive folks I've known many of them for years refreshing myself looking at their Drupal dot org profiles I counted up that collectively they have 106 years of Drupal experience Collectively they have 4876 credits in the Drupal dot org tracker and perhaps most impressively 182 other Drupalers credit them as mentors as much as we I think nobly try to quantify the often coded Contributions to the Drupal community It's often the community work the community building work that our initiative leads and so many others in this room excel at That that are unquantifiable and and often most valuable And it's that community building work that that honestly makes me not that nervous about which table to sit at because our initiative leads Have an incredible capacity to make their tables feel welcoming And even though those tables may have only eight or ten chairs around them our initiative leads Somehow make those tables feel bigger. So let's welcome to the stage Mateo Bosch Leslie Glenn Tim Lennon Amber Matz Christina Chamias Ted Bowman and Gabber Ho Chi. Thank you Thank you Steve. Welcome everybody Welcome to the initiative leads keynote. Thanks for coming So I'm Gabber Ho Chi and I organize these initiative leads keynotes And it's great to be here for the first time in the US with this format Yeah, thank you. It's a proven format that we are doing in Europe and I Think some of you are here to learn about the progress that we are making and we are making great progress in many of these areas But I think Steve already blew my cover that why we are actually here Is to show ourselves is to show that we are friendly people and we would like to work with you and all of these things So the only way that will make all of these visions happen that we are presenting today is if you join us And you work with us today Tomorrow and then afterwards Online as well. So that's why we are here, but we are also here to Show you some cool stuff that we are working on and there's a lot of things to be excited about today So let's start with Ted bowman from aquia Hi, I'm Ted bowman a Software engineer with triple aqua's triple acceleration team and I'm here to talk about automatic updates We're ready for users and testing today And I also put a glaring typo on definitely on purpose in our slides just to make sure you're still awake and you're watching my slides very closely All right, so our initiative goals are we want to ensure security updates are Applied quickly and securely and with minimal effort by slight administrators We want to reduce maintenance costs because we know ongoing Drupal updates are a big part of Maintenance costs for Drupal sites and we want to reduce composer pain points. We just released a 3000 alpha one version of our module this has This has an update or form But also we added a new feature unattended updates for core patches basically security and bug fixes Will happen in the background and I'll talk a little bit more about that That is definitely one of the things we want to test today in an ongoing manner and and Hold for slide So we also have an experimental module that supports can trip updates We know can trip updates take a lot of time so but right now unattended can trip updates We don't support because it's there's various backwards compatibility Issues so now we also have a drush update Command and basically this allows you to do unattended updates even if your site is right protected from the web server So this is the preferred way to do it. It's the most secure way And also there's a simple task you need to do on your server to set this up, but we can show you how to do it So today we need alpha testers Basically, you know really we can write all the automated tests we want But we really need people to test this on different configurations So we'll help you with that today and that would be a really big help for us at the initiative So what we're looking for in testers is Okay, so we need we love to find people who are ready to test this on live sites Basically to install the module and let it perform updates for of Drupal core automatically in the background for you But we also have to be a realistic that this is still an alpha module So you have to be ready. Maybe if they're hiccups. We're doing everything possible that there won't be But you must have backups on an ongoing basis So in general you just should have backups But you know we're going to do updates while you're sleeping. So you want to make sure that you have backups we have The requirements you need is you need to be able to have your code base writable or run drush on the server run composer rsync The module tell you if you don't need any of these problems and we have help pages that will help you set it up So what can we do for you as part of the initiative is we can help you determine if your site is ready for automatic updates If your hosting is compatible and today we can help you set up the site Set it up on your site on your hosting either locally or hopefully on live hosting What we can't do for you is we can't make a magic backup for you after something goes wrong So you really need to have backups on a regular basis or before you do an update if you're doing it manually Hopefully nothing will go wrong glaring typo But remember this is still an alpha module. So you never know so We also want to test the we have an upcoming feature of experimental cron updates. So Updates of contribe in the background when nobody's looking is a bit risky Because the backwards compatibility issues But we're working on that and if you get set up today with the module when we introduce that feature You'll be ready to use it So we're looking for alpha testers of that and we have an issue on Drupal dot org where you can come and say I want to sign up and it lays out the support that we will give you we're looking for you know a Few testers of that that we will strongly support So we can look for the future of what we want ultimately in Drupal core not MVP But test that functionality now so we basically know what people what users want and how they want it to work So it's testing is really important because each Drupal update is different each project has different composer Configuration and dependencies and we have many different hosting configurations So all of this is really impossible to test with automatic with automated tests even though we do as much as we can If you're not ready for live automatic updates on your site We have other options for you that you can do today and an ongoing basis to basically take advantage of automatic updates And to help out the initiative So one thing you can do is Test locally today, and we're going to make it easy. We have as part of the first time mentored Contribution we've provided in detailed instructions for how to basically set this up locally either on existing site or a new site And how to run through the testing and then we have a detailed sort of report form That you can click and say okay. This is what happened or this was it was great or something went wrong Also, you can use the update form on your local or live sites if you're not ready for updates to happen in the background We have a form to go from patch releases or mining releases So using this is really helpful for us even if you don't want to do it in the background Hopefully it's helpful to you to sort of avoids dealing with composer directly You can look through our issue queue. We have issues We'll have the novice issue for testing it and we have other issues for helping out and Often in daylight today we have where we have a lot of testers We find a lot of stuff that we just missed hopefully small stuff Maybe big stuff, but today Hopefully will generate even more issues if you want to become part of the initiative which you can do by going to pound auto updates and Drupal Slack and We have meetings every other Tuesday at 1 p.m. Pittsburgh time 1700 UTC and our next meeting is next Tuesday. You can look through the issue queue You can come by and meet us today ask how you can get involved Tell us how you want to get involved and everybody was welcome to join so thanks Thank you. It's been great seeing automatic updates grow into this position where they can do so many things It's been a collaboration with the Drupal Association and a lot of people in the community to get here And there's more to do so join today and make it happen Next up is Christina and she will talk about usability improvements So I'm Christina Chumillas. I'm gonna I'm from Lollabots in your front end developer I'm not going to talk about an initiative per se. I'm going to talk about several usability improvements That we are going to have and hopefully we're going to work in the next months several people it's just not me and Actually, what we want to do is change this probably you all know this you've all seen this but it's not just a joke It's actually how Drupal is perceived outside our island so we want to change that and We want to make Drupal more use usable More easy for people that is the starting and we want to make it easier for content users But how are we going to get to the content users if we are targeting the ambitious? site builders and we have a few ideas and Ideally the way to do that would be to make the default better because how many of you have actually had an sprint to? Actually improve the administration interface for the content users So almost nobody so if we can actually make the default better It might we might be able to reach these final content users and make Drupal easier to use for Actually everybody that is going to use Drupal and how do we actually decide what's the best thing to do work on and The thing is that we need to define the these User journeys where people start the journey what they want to achieve What's the goal and especially what are the steps on the way and what are the most frustrating steps for each of the users? Because there are a lot of them with me The thing is that We have several users. We just don't have Content users like authors editors. We also have site builders site administrators And for each of them the user journey is completely different and we've been thinking about that for a lot of time We have a lot of ideas. We started thinking about that when we started the admin UI initiative like years ago and One of the first things that we thought is that we wanted to reorder things on the admin UI Reorder regions and We have a winner and actually we have the first piece of the Tetris that we can we want to move and that's the toolbar We want to redesign the toolbar Actually the first thing is moving into the lab, but there's a reason behind that There's a lot of research behind that Because that's a perfect place to put like a really complex menu over there. It's been tested Across a lot of it's a common pattern and also Jin has done has done that Sasha That was on the on these initial conversations was actually Implementing a lot of these ideas in Jin and we have all the insights of people what they like Why did what they didn't like so that's something some insights that we already have and With that we also want to change the hopefully change information architecture Not just the look and feel but also which things and how are they ordered if they actually make sense for the users We're preparing a card sorting and hopefully this will impact not only site builders But also content authors because are we sure that we want exactly the same menu for everybody? See if we have the move the toolbar on the left We will be able to have other regions like for example in sticky bar at the top that will leave Space and space and options to do Crazy things with a sidebar for example collapse the sidebar if you do we don't want it or have other reasons What if we have the sticky bar at the top we can have the save button in there But also other actions like for example, let's say we want an auto save and we are going to say Your form has been saved like six seconds ago or everything has been safe This gives us a space to actually Change and the patterns change new things add new patterns in there like for example new navigation patterns in several in other places or for example a Region for a region for notifications. What about the safe? Yes, your form has been saved. Okay, just go away I don't want this message anymore in there So we have the option to change a lot of things and these layout changes hopefully are going to be the base for all these other changes that are going to come and Will serve on the designs and also on all these research for a lot of other things like for example the starting point for these users that we were saying and No, it's 2023. We're talking about the dashboard, but we really need a dashboard Right now we are landing on the user page Where it says how much time you've been a user on that side? Super useful so we really want to change that and The thing is that we can't have the same dashboard for everybody and that's why it failed in the past So we need to put several different content per user And we have the content editor right now as a role in Drupal So this is a really good starting point So as I'm saying there are several initiatives or initiatives or things happening actually and it's not just about the dashboard It's also about for example the field UI the Drupal acceleration team at Accha are working on that and they are doing an amazing job And they are testing what they are doing. So They're changing really really really a lot of things and it really promises it really promises it's really good and It's not just about Lollabot and Accha one X internet. We're meeting weekly To work on several things on the admin interface So if any of you want to get be part of that, please join us Let us know because we are starting right now we can plan together and decide what we change in the future and It depends on us. So today. We're hopefully going to test several things these two bar prototypes The new navigation patterns also and also this card sorting that I was saying we have the test ready. So Okay, time's up please come to the contribution day and come to the admin UI slack channel because This is when where we are actually going to organize ourselves. So, thank you Thank you So you may have noticed at the start that we said ember is going to be here with us today She's not on stage. She couldn't make it to this conference But she is with us remotely and she's gonna present us the box mention the needs review initiatives And there are people here in person that you can work with today in the mentored contribution room on box mention The needs review initiative. So you'll be able to be involved today, but let's hear about those from ember Thank you for setting aside time today to contribute to Drupal core Not only does the Drupal community rally behind large project initiatives, but there are two initiatives I'll tell you about that focus on the issue queue itself work that is essential to the overall health of the Drupal project and community The bug smash initiative Focuses on cleaning up the core issue queue with the goal of reducing the number of open bug reports We triage issues twice a day in the bug smash channel and hold slack meetings twice a month that Alternate between tracking our progress and group triage on a chosen subsystem The needs review queue initiative focuses on issues with a needs review status Our goal is to ensure these issues are reviewed in a timely fashion and move toward resolution We want to provide higher quality reviews and ensure that issues don't languish with a needs review status You can learn more about bug smash or needs review queue initiatives by reading the pinned items in their channels Right now I want to tell you about an essential skill for either one and one that you can begin to learn today How to triage a Drupal core issue? But why triage core issues? Issue triage is the regular gardening of a software project With a small number of maintainers and a large number of open bugs It's crucial that issues are prioritized scoped summarized Tested and categorized in a way that is helpful to anyone else that looks at the issue Step one of issue triage is to find an issue The bug smash initiative guide on Drupal.org has a page called working on the initiative Under what bugs we're looking at check out the sections that start with needing triage You'll find a bunch of great links to the issue queue with search filters already applied To find an issue to triage or test for the needs review queue initiative Go to our channel to find review targets or filter the core issue queue by the status needs review You can also filter by the tag needs review queue initiative Another way to find a triage target is to choose an issue that you created in the past Enter your Drupal.org username into the submitted by field and choose one of your bug reports Don't worry about issues that may have gone stale This is your chance to ensure that your old bug report is still legit and ready to be worked on Next try to understand the issue Read the issue summary carefully scan the comments to see if anyone has validated the problem recently Look at who filed the report. Is it a core committer? You may want to find another issue Do you think the issue is truly a bug report or is it something else? If you think the issue is not really a bug report consult the Drupal.org documentation guide Drupal project issues inside there is a guide called fields and other parts of an issue which has a page called issue category field make sure you understand the issue categories before you update an issues category field Now try to find a duplicate issue follow the contributor guide page identify duplicate issues and search for a duplicate and if you find one follow the steps to determine which one should stay open and which one should be closed and how to do that the one that stays open will probably have more recent activity Next try to reproduce the bug follow the steps to reproduce in the issue summary on the latest version of Drupal if the steps to reproduce are unclear set the issue status to postpone maintainer needs more info add the tag needs steps to reproduce and a comment explaining your actions if you can't reproduce the bug on the latest version of Drupal this most likely means there's a duplicate issue with a fix that's been committed validate the issue using simply test.me on the version against which it was opened and use get bisacked get log hyphen s or an issue queue search to find the issue that fix the issue maybe you were able to reproduce the bug but you think that the bug exists in a contributed module not Drupal core a clue being that the steps to reproduce require you to install a contributed module it's possible the issue could be close in the core queue and copied over to the other projects queue if after all this you verify the issue by reproducing the bug leave a comment and add any additional information you think might be useful like what steps you took to verify the issue and on which version it might also be appropriate and helpful to update the issue summary to clarify the problem or steps to reproduce before you submit your comment check through the other fields if it's been assigned but that happened a long time ago change the assignment to unassigned only add tags that you're sure are appropriate as many have special meaning check with the issue tags special tags documentation or a mentor if you don't know the bug smash initiative has a documentation guide with a page on issue triage and comment templates this page can help you craft your comment and help you think through your response it's also a great idea to check out the issue etiquette docs page before leaving a comment if you're updating an issue as part of contribution with bug smash or needs review queue initiatives please add the appropriate tag the tags we use are bug smash initiative and needs review queue initiative you can also search for issues with these tags in the core issue queue in person we have steven mustgrave and christin pole in the mentored contribution room we also have folks in slack who are here online to help you get started thank you and i hope to see you in the bug smash and needs review queue initiative slack channels thank you aimer so if this was a bit too much at first uh we have um dedicated programs for you today to get hands on mentoring in all of this process so you'll get a lot of help in going through the process today thank you so next up is tim lennon and he will talk to us about git lab acceleration hey good morning everyone thank you for joining us a little bit earlier than the other keynotes we appreciate having you here i'm tim lennon i'm the cto of the drupal association we're the nonprofit that supports the drupal project puts on drupal con and hosts drupal.org and the git lab acceleration project is our project to enhance the tools the community uses to contribute to drupal so um as we relate to these other initiatives our goal is to make these initiatives easier to make these initiatives go faster and to make the work that you do on your contributed projects go faster there are three major milestones i'm going to talk about today git lab ci for automated testing for your projects how we're preserving the contribution credit system that makes a drupal.org unique and the drupal project unique in open in open source and issue migration and fork management so the big news is that git lab ci is available today for every contributed module on drupal.org so you can migrate now to use git lab ci and will be in the contribution space helping people get migrated over and once you've done it for your own project please feel free to reach out to someone else who's working on it and show them the ropes and get it done the main requirements for git lab ci is we needed to be feature complete with drupal ci the automated testing that we've been using for years now and that means that it needs to work with both core and contrib on modern drupal but it's also going to need to work in legacy drupal as well now right now it is working for contrib and for modern drupal versions today we're going to be continuing to work in the contrib space on core and on legacy version 7 so how are you going to get started if you're a maintainer of a project go to your primary project page scroll down in the sidebar there and find the source code link for your project once you click through to the source code you're going to see a little ad file icon at the top of the repository list and you're going to click on that icon where you could sort of generically add files to your project but you'll see particularly in the interface the option to add by a specific file name so we'll get over here to this next slide the file file name that you need to use is dot git lab dash ci dot yaml and then a drop down menu will appear automatically with predefined templates the template at the top was developed by us at the drupal association and some dedicated volunteers in the drupal community who helped us test this out and this template is a really cool feature if you are not an expert in ci this template uses include files to automatically configure the ci process to let you save it commit it to your project and be testing already the association and community volunteers are updating the include files to automatically keep track of the current supported versions of drupal of the php versions that are part of the minimum requirements sequel versions so those will be updated for you without you having to take extra action but you can override them if you are a power user so to do this try it out today in the contrib room make that git lab ci yaml file commit it to your project report any issues you find the drupal.org slash project slash git lab underscore templates if we can make any improvements and we'll love to see you during the contrib day so I want to talk about contribution credit as well like I said it's one of the unique parts of the drupal ecosystem is we credit individuals and organizations for their work on the project and we have a better understanding than almost any open source project of where the innovation in the project comes from so we don't want to lose that just because we're going to a new tool set if you're not familiar what it looks like today is at the bottom or really at the comment field of any drupal.org issue there's this little forum that says hey I'm doing this as a volunteer or I'm doing this on behalf of my employer or on behalf of a client and you can mix and match these things if you did some of it weekends and evenings some of it at your day job and some of it for a client so we're reproducing that form and the tools for maintainers on drupal 10 using the git lab api to pull in all the information about your contribution so this will get a record of your comments even your emoji reactions that you might use all the relevant information the employer the clients the same things that you're used to so that the maintainer again can see a form credit anyone who participated in the issue and moved it forward and even credit people who were maybe present in person but didn't post to an issue if they need to do that as well and this is going to let us continue to move forward with an ecosystem that's focused on recognizing the people who've contributed to these solutions how are we doing this we've written a drupal bot that integrates with git lab using its apis so when we move forward to git lab issues and migrating everything from drupal.org issues to git lab issues the drupal bot will post at the beginning of every issue a couple of links one for the attribution of credit and one for issue issue management and fork management which is what I'll talk about next this is going to be the last step in our completing our migration to git lab where you'll do your full contribution experience within the git lab ui and all the dominoes are slowly falling to get us to this point so what we're going to need to do is do migration of all existing issues and looks like we might have a duplicate slide in here but the on the next slide what you'll see is just an example of a regular drupal dot org issue so we've written a scripted process with the help of the drupal spoons initiative which was an early adopter of using git lab to contribute to drupal and you'll see here this is just an example of a kind of random issue and there's a little citation of the original drupal dot org issue it came from it also pulls in the related contribution branches that were in progress similarly yeah I'm not sure what's going on we've got double double slides here but similarly um all of the metadata is going to be migrated into git lab labels automatically for all existing currently open or future issues and we're going to use that to try and you know manage the same project components fields the tags all of these things will be labels so that's going to mean that it'll be possible to say oh I want to see all uh accessibility issues in the drupal core queue that are tagged needs review for example and we can sort them for the first time into Kanban boards um and make custom boards and dashboards for individual contrib projects versus core give you a lot more organization um and perhaps do some planning which is perhaps the most lacking side of the uh issue management features we have today so again the drupal bot um that we've written is what's going to help you manage the forks where you do this work and the merge requests that are associated to them so when you create an issue again that bot will post another link um that helps you manage this and this is important because in git lab and git hub by default not everybody has access to contribute to a project a maintainer typically has to grant you access or you create a personal fork hope someone accepts changes from that fork and invite other people to contribute so we're creating a UI and we'll probably also create bot commands so you never have to leave the git lab UI um that assembles a list of the issue fork all of the related merge requests lets you just click a button to get access and contribute together so when is this part going to be happening the last domino in the chain well everything you've seen here is working in a development environment so uh we just have to finish some pieces to get it production ready finish the new single sign-on solution for drupal.org deploy the drupal 10 version of these features migrate all the credit and create the opt-in process to let you all use it on your projects thank you thank you tim it's quite a milestone to be here now so today is the day to try out the new ci system um next up is leslie glinn and she will talk to us about project browser hi i'm leslie glinn the goal of the project browser is to make it easy to install modules from within your drupal site that are compatible with your version of drupal and to install those modules with a click of a button our target audience and site builders and those who are new to drupal so how do people currently search for modules well they either go out to drupal.org and they fill in this very overwhelming form um or they go out to google and do a search but if they fill out this form they return modules often they have very technical descriptions and what's returned is not um consistent across the different modules and there's long technical descriptions that are hard to understand so one thing everybody in this room can do for us today is just to try the project browser so basically go to the project browser module page click on the try it now button that'll spin up a drupal pod instance of drupal 10 with the latest version of the project browser uh you click on the top right to get a full screen log in with admin admin and away you go um so what you can do is give us feedback um how easy is it for the interface to use what can we improve uh the information won't exactly what's matched what's on drupal drupal.org by the way those are still doing a manual sync but eventually that'll be real time so anybody can help us with this today whatever level you are whatever you're interested in um automatic updates initiative that ted talked about you no longer have to use composer which is exciting for everybody uh to install modules you can click on the add and install button right from within the project browser uh the messages will start with um you know in process and they keep going so another thing you can help us with today is to look at those messages that you get when you try to add a module from within project browser there's a meta issue for proposing logos this is somewhere designers can help out with um it's the one place to go go to the meta issues there's a child issue for each one of the top 100 uh modules so you go and you just create create the logo so what kind of logos do we need uh we need square logos that are 512 by 512 they need to be pngs they should be 10k or less to load quickly um so once the uh issue goes from needs work to needs review when it's ready to be released we'll create an issue in the module of maintainers queue for them to actually go and implement these modules in jubile.org um so basically what the maintainer needs to do is to add a logo .png in the root folder um of their contrib module in git lab and when that's where the the logo will be pulled from for the project browser and for jubile.org um so you need to put it there if you did put it as the first image uh in your images on your project page you need to remove it from the first image and put it in the code instead uh so there's also a meta issue for the short descriptions so one place to go to look at all the top 100 and find out what what what modules need descriptions whether they need review or you need to write them anybody can do this anybody that a site builder or somebody in documentation can create these short descriptions what we're looking for is what does this module do in a non-technical way and 200 characters are less so that's what we're trying to get so this will be on the card view um on the project browser so it's a really short description of what it can do but we want everybody site builders new jubile to be able to understand those um so for maintainers you'll be going to the project page and you'll be using the summary field off of the description field that's where you'll be adding the 200 character descriptions okay and that's where the project browser will pull the descriptions from um maintainers so you'll everybody who's a module maintainer is as we get through your modules so we'll do this top 100 to begin with you will receive two new issues in your issue queue one for updating the logo and one for updating the short descriptions so if you can if you get those in issue queue if you can help us by you know making those changes and completing those um tickets that would be great um categories is the next big thing we're working on we've been working really hard right now there's 55 categories that the the modules fall under we cut that down to 19 everybody in this room we need your feedback in terms of are these 19 uh understandable do we need more do we miss anything because we're going to be asking all the maintenance to recategorize we'll be doing some of that automated but to read a category so if everybody's today could go to the bitly uh that's bitly and then pb category feedback for project browser category feedback all one word just look at those those titles of the categories and the descriptions and let us know you know are those is that enough that would be super helpful we really need that before we can actually take the next step to implement these uh categories um the project detail page right now we have a card that has the logo and short description we're looking for the next page that has the longer description we need help from everybody that that would be using this to say what what's the most important stuff to show on that next page yes we'll still have a link out to double dot org for the issue queue etc but what information is really important for you to see on that page we came up with a mark here but we really need help from ux folks for the layout from our target audience for what's important so we need community feedback for that um for front end folks who are interested in helping us out we have a whole list of different issues um that you can work on chris will be in the general contribution room chris wells who's the other initiative lead helping with these different front end issues along with the other mentors so find chris and there are also the next slide will be a list of back end issues uh that that folks who are interested in that can work on today again chris in the general contribution room will be able to uh in other folks as well will be able to help you through these back end issues um so i should see there's something for everybody in this room that can help us out with project browser um so why should you contribute well project browser is new everybody's going to install drupal the next thing you're going to do is try to add functionality so how cool would it be for you to contribute to this this new initiative where everybody will be able to actually find in install modules from within their drupal site so go to the link we have this link uh bitly again pb contributions all one word we keep that up to date with all the things that you can contribute to on an ongoing basis so after today you go back you want to contribute again just go to that bitly link there's a qr code you can scan here um so how can you join our initiative after today again we have slack we have meetings in slack Tuesdays at four eastern we have a site builders more non-technical meeting Wednesdays at 10 a.m chris runs a general meeting where they discuss a lot more technical issues you can um you know join us there reach out to chris right today and basically that's it but you can all help us out so thank you thank you leslie yeah i really like this and the approach of this initiative because it's not only about building the software to find what you what what kind of capabilities there in drupal contrib but also to make the data itself better so that people can find those thousand flowers that bloom in contrib but maybe hidden uh from our view so thank you uh next and final speaker for today is matthew and his topic is maybe kind of a surprise to some of you it's not been in a dress note it may not have been widely widely promoted but it's in drupal 10.1 and it is single directory components one the thoughts as you may know single directory components made it into drupal core as an experimental module what that means is that you can start using it today as long as you're using drupal 10.1 which you are for sure and just go to the module page and enable it and just get started but before i get into things i'd like to say that if you see mic or myself today around the conference feel free to stop us and tell us about your experience with components if you're having a problem with your contribution ticket or maybe if you want to help us run the sprint today that would be nice as well so why did we do all this over the years we have identified several challenges to theming that are specific to drupal let's imagine that you want to theme a part of your site you might start by writing a template and pray that drupal picks it up and prints hello world in the page and then you discover the variables that are available to it and maybe write some quick code that uses those variables css javascript a library for those then you attach the library in the page and then when you think you're done you need to find that preprocess function that's changing all your data and you need to alter it and maybe remove it so well all those or most of those are necessary evil when you're working with a powerful framework like drupal all this can be mitigated by using components and components are a given in the rest of the industry but not for drupal until now and listen you will still need to find your template and to do the preprocess dance but we are improving the developer experience and also we are we are building components as we are making them a building block for theme compatibility maybe you don't know this but core theme was not able to adapt to the modern times because we couldn't change anything a single html class everything was an api there if we change it we broke so many sides moving forward what we want is that themes can provide this is the list of my components and anything in there may change at any time but these are my inputs and I vow to maintain compatibility with those inputs so this is what a component look like it's just a directory inside of your components folder that lives at the root of your modules and themes and it contains tweak javascript css and metadata it can also contain documentation and a thumbnail but those are the four important file types and you already know tweak css and javascript and the good news is that the metadata is actually not required so you are today ready to write your first component so go do that when you're done you need to find the template that you want to put that component that you defined and put it inside of the page right to do that you use tweaks include an embed and instead of passing the path to the template you pass the id of the component and then take map the variables that are available in the template to the component using a framework like this you can take a look at the designs and write a static html css and javascript for your component identify the bits that change and then put them maybe in your metadata and just include the component in the page and while I said that the metadata is completely optional we highly encourage that you define it because if you do then other modules and themes will be able to learn about your component discover it and do cool stuff with that right after all components are just a building block for cool features so we did all that that's done it's in Drupal core as I said and we are not stopping here we to complete our vision we still need to do several things and we need your help of course first thing that we want to do is we want to dismantle the experimental module we want to break it into pieces small pieces and sprinkle them all over Drupal core so there's no longer a module anymore and it's just a thing that is there like form api or the routing system right and while we do that we'll take all of your feedback and we'll improve as they see we'll make it stable and another thing that we want to see happening is that we want you to start providing components in your modules in your themes we want components to become mainstream boring something that it feels like we've been doing forever we believe that if we do that it will bootstrap the innovation on these modules and themes that will do cool things and cool things like for instance turning components into a site building tool imagine a site builder that goes into the manage display tab and goes into the field and select the component i want the heading field to render with the heading component or go into the layout builder and drag a card into the page or the wheezy week another thing that we want to do is we want to turn components the most enjoyable developer experience possible to write uis for Drupal and for that we'll leverage existing projects like storybook and other component libraries that will provide you with hot reloading and all that cool stuff that javascript developers have been using for a long time so we have several contribution topics maybe you want to write your first component and then tell us how we went how would you felt maybe you want to work on writing some of those cool modules or making sdc stable in Drupal but our main focus today i hope is around documentation we have researched other open source communities and we have seen for instance react lower the barrier of entry for contributors and other developers using very good quick start guides so we aim to get inspired by that and write the best documentation this is the tag that we've been using to mark some of the tickets that we have in Drupal.org that you can grab today go find one that interests you if you don't see one just create it and add the tag and if you don't find that something that you want just reach out to michael myself and that's it for me thank you everyone so this would be normally time for questions but we don't have time for questions so we'll let hold you up in this room but we'll introduce you to the rest of today though because this was a sampling of initiatives that are available to work on today and these initiatives are already very amazing but there's a lot more options today that you can be involved with so who are you our first time contributors never contributed to Drupal raise your hands all right thanks for being here you're amazing so today there are two 90-minute workshops that you can be attending and the people there are wonderful volunteers and mentors will be there to teach you about Drupal.org and the issue queue and slack and all of these tools that you use to contribute and once you're aware of that or if you are already aware of those things then the next one is our mentor the contribution room where people will be there to help you go through the process of contribution so once you already know the tools then there's a dedicated area where people would be there to help you through the process of contribution how to use the issue queue how to find the issue have what to say there that you reproduced it etc etc and once if you are done with that as well or if you know already the process then next up is our general contribution room which has all of these initiative teams that you've seen today and a lot more not only these initiatives not only joke modules but there's going to be people working on cketer five there's people going to be working on all kinds of things from contrips or api or geo modules or probably chat gpt as well let's be honest so there's going to be a lot of people working on all kinds of different things so you're going to be there and find the thing that you would want to work on there as well so these are your three options you can start with first-time contribution if you are first time you can start with mentored or you can go right away to the general contribution depending on your level of experience and your level of involvement the way to get there is you go out from here and then you go up the escalators one way or the other and then everything is up from the escalators on the fourth floor so there's the first time contributor workshop those are your two options for the day and then the other side of the building is the general contribution and the mentored contribution so we would love to see you there today and tomorrow are summits but we will also be here tomorrow to work on some of these things so if you are around tomorrow then you can also join us tomorrow at general contribution as well so thanks for coming here now enjoy your coffee break and then see you all day