 What is on the slide is because you can't send these slides yourself. So if you are interested in reading this, know how to accompany or meet up your country, whatever, you can take these slides and report them and present them to yourself. If you are friendly and patient enough, then you can go on slides.com. I will show this again as well. So I am Yama Ritchie. I work for Aquia since I have for a long time. I'm an initiative coordinator for Group 9. I've been in 200 meters since 2003, so it's been quite a while. And I feel that fortunately there are some in 2007. So I see some stuff. And we are trying to build a lot of learnings from what we've seen before with Group 9 into how we are making Group 9 and how we are making it a better system for everyone. So since I'm seeing in our faces and hands, I'd like to ask the audience who is using Group 7 with your hands. All right. I'd like to start with Group 7 first. So the problem with Group 7 to Group 8 is that Group 8 is basically a block on the road from Group 7. So when we started working on Group 8, we opened a whole new branch and we had it for years. Then we went and refactored basically everything, introduced new frameworks, new dependencies, new code, new tools, new processes. So we built pretty much an entirely new system that we still call Group 8. It's almost going to use this for a long time. Ironically, we kept the user interface the same. It still looks the same with Group 8. It still has the same theme. It still has the same full UI. It still has a lot of the same things about UI, but we almost entirely changed how it looks from the back. So some of these underlying changes were running very well in the typical press because they allowed us to do a nice looping like big height and the API first initiative that were not possible before. But the new Unified APIs allowed us to do them. But there was also a big challenge, and it remains to be a big challenge for the Drupal community to get on Group 8. So there's no denying that to get from Group 7 to Group 8 or 9, it's going to be a reveal from Group 7. So the tools that we need to look for are the Drupal 7 version of our great status module, which basically identifies the Drupal 8 equivalents of the modules that you're using and the things that you're using and telling you if they are available for Group 8. There's a Drupal module upgrade tool that helps with all the custom code that you have and then you can code that you have for Group 7 to be able to do Group 8. And then you still have your big lab that you can use, the migrate suite to migrate to Group 8. So you basically need to take modules and see if there's Group 8 equivalents, convert your custom code and then migrate over to Group 8. That's going to be a lot of work as it's not cheap. A benefit with Group 9 though, so that the improvements now that we have Group 9 coming is that we made the Drupal module upgrade to generate code that is also compatible with Group 9. And that's an interesting question that I will go into a lot more detail later. So you will have code that's compatible with Group 8 and 9 at the same time and all the rules in Drupal module upgrade are now compatible with them. And the migrate multiple core module should be stable for the Drupal 9 release. In fact, we're not stable yes in it. And the Drupal 8 and 9 could be doing Drupal 9 release. So all of the core modules are now stable for Drupal 8, 9 and 9, which should have a lot with the moving. All the data that it wasn't for. You still need a migration path for a little bit of country modules that we have. So these are the improvements that we have with Drupal 9, but unfortunately it is not the denying that we are facing a rebuild. So since the 7, we heard a sound about Drupal's interfaces with Drupal 7, and we realized that we need to support Drupal 7. We'll have Drupal 7 releases in the second quarter this year and the last quarter this year and one last Drupal 7 release. The second quarter next year. And that's when Drupal 7 security and bug fix support ends. And it's going to be a very long support time on Drupal 7 as it is from the great start. But there's going to be, there's evidently going to be people who are going to be able to develop Drupal 7 in this end frame. So we're going to have done their extended commercial support for Drupal 7, which is very similar to the program that was for Drupal 6 long-term support. The name is slightly different, but it's the same concept. And you'll be able to sign up with vendors to support their work base and the methods that they're using, et cetera. I'm going to leave the end of 24. So it's going to be three, four years of support. So Drupal 7 community end of support, 3 end of support is at the end of 24.1 and there's three more years of vendors in the commercial support. If you're interested in this, it's on the Drupal 7 project, that's B7 ES. All the links are in the video slides. So hopefully this is going to help with moving off of Drupal 7 so that you're able to develop and to get support So since Drupal 7 is going to end support at the end of next year, we obviously are trying to leave Drupal 9 as soon as feasible, so people along with Drupal 8 have a possibility to do that. So we learned a lot from this mistake. We've been writing everything and making everything all new and we needed to migrate data and we needed to rewrite the code. And so we made the innovation in Drupal 7 entirely different, but the innovation in Drupal 8 entirely different from how it was in Drupal 7 groups. So what we did in Drupal 8 instead is now instead of opening a holy branch for Drupal 9, we can't be proving Drupal 8 and can't be proving Drupal 8 and then Drupal 9 is going to be a point on the road from Drupal 9 is going to be a checkpoint explaining how we can continue to develop the Drupal 10. There was a sneeze and we weren't quite allowed not to do this. It says we need to set these three tools. So first is semantic versioning which allows to introduce new features in binary releases. So 9.1, 9.2, 9.3, etc. introduce new features like Big 5, Jason, API, Naio, and third, Sage, Stray, Media Library, etc. etc. These are all new features that were in Drupal 8.0 and we introduced them in binary releases of Drupal 8. So we could add new features and we also cast backwards compatibility when we add new features. So all the existing Drupal 8.0 sites could be about to be in the binary versions and they could enjoy the new features. There were some mistakes that we made and how we applied some data changes, etc. So how to distribute this was our very best effort that we kept including how we looked things with that basically original way that we basically used it. The other thing that we made that we introduced central releases, we introduced central releases quite a few years every six months. So you can get new features quite a few years. There are some nice features that you can do with Drupal 4.0 and you can also get new features quite a few years without breaking the data and rewriting the data and rewriting the files. That's a lot of improvement coming by Drupal 7.0. The third thing that we did was for improvements that are not possible to finalize in six months. We've interviewed experimental contracts and a few models and themes that allowed us to release unfinished models and themes to Drupal 4.0 and market appropriately to say, if you're going to get done, please try and comment on what is feedback so we can get new features for other people to get feedback about them and adjust our current release. These reasons in combination with innovating with very good work without needing to release the whole Drupal 9.0 version. So the question is, why do we need to recommend it, right? We kept including they are really a library and try to make the eyes we've introduced some new experimental elements and a bunch of other things. But why don't we Drupal 9.0? We can go on and improve Drupal 8.0 and have nice things. So one new thing that we're going to do with Drupal 8.0 is a bunch of external dependencies because we realize that Drupal is a project that we don't have the capacity anymore to maintain it ourselves. And it also didn't make sense for ourselves to maintain the whole code base because that would be our own world garden with our own APIs and without ways of doing things. When people come in, I think that people learn all everything in Drupal from the ground up. So it made more sense to outsource the project. It also made more sense to to use industry wide standards to apply these projects to how it's used. And so it's here to learn before when the conference symphony and the terminal project is complete. So what we're going to do is these third-party dependencies with the last intention. But that also means the symphony with jQuery and uQuery UI as CTA did before if the outcomes are present here all have their own beliefs yet. And we are in symphony 3.4 which is going out next year and 3.1 which we don't know if it's going out but 3.2 is already out and 3.3 is in development. jQuery has I would say jQuery UI is out of line C can do your forest can be out of line in two years so we need to think about this and plan it. So our biggest tendency that we need to think about that I just mentioned is symphony 3 which has an out of line in the end of this. And that means that Drupal 8 needs to be out of line again next year because it depends on symphony 3. If we are to update symphony 3 to symphony 4 we would need to rate if we add this in drupal 8 and that would be a good idea with break accounts so we need to add drupal 8 support. Also we don't want to force symphony 3 so we don't want to maintain our own drupal symphony 3 it's really interesting. So because we need to add drupal 8 support next year we will start introducing drupal 9 sooner than later so our plan is to release drupal 9 very soon and a drupal player together with 9 and alongside drupal 8.9 and start releasing new versions of drupal 9. So we need to move the key in drupal 9 because we need to get that drupal 8 before we release it and then drupal 9 will depend on symphony 4 and that is going to be much of crystal ball in what's going to happen in the future to stay in drupal a little bit because I'm not firm promises if you mind but the likely way to add things we want to throw is the problem drupal 9 is going to depend on symphony 4 and that's a given we know that symphony 3 is working so as you can see we will vary between drupal 9 and drupal 9 in the end of 2024 which by the same logic can be introduced to drupal 9 means that we need to introduce drupal 10 and in 2 years so the drupal 9's lifetime will be quite limited so it's going to be for almost 5 years now and drupal 9 will be practically have releases for drupal 9 and a lot of drupal 9 will be lightly drupal 9 and then we have to go back to drupal 5 so this is some crystal balling here but basically this is what we are looking at right now as the first slide is unfolded drupal 8 to 9 to 10 as we release drupal 9 June 3rd this year and drupal 9 will get 4 feature releases with new features 9 on 9 to 9 to 3 and then we will run with drupal 10 for the voice and we will be so that's at least for people who know how drupal is at least quite a shock because it means that we will have drupal 10 to 10 to 2 years time and I have this session about drupal 9 now and drupal 10 will of course see the future and after that we are going to end support for drupal 9 before drupal 7 will be released quite a shock so what allows us to do this has been one way process that we will use in drupal 8 deprecation processes so what we decided to do in drupal 8 is on how of adding new things adding new things and backwards and how to do one way I told you earlier we've also decided to mark things that we will remove in future as that is needed in drupal 8 we keep things that we will remove but we tell people that we can remove these things so we introduce future changes about future changes and tell people how drupal is going to change and so that's what we did in preparation for drupal 9 and we need to make this very easy and seamless first of all we need to understand that people drupal 8 is drupal 7 and they need to understand that we're not going to repeat the same thing so after the process we're going to make it easier and second of all because there's nothing to put any into in two years and people need to be able to make sure it's two years again because they need to understand it's not going to be that hard in two years either and make sure that the integration is really good for the system so this is how it looks like in the schematic that's that we have the drupal 8 7 API we've integrated a new solution for something and we've deprecated the both solution for the same thing a copy and file around or send a message or something along the plane so we have a new way to use the new API and new module and we have it after today we're not suggesting we use any more but we have to do it around and we continue to do this until 8.8 and then in 8.9 we have a bunch of new solutions we have a bunch of different things we still have something to do with them that's the last release of drupal 8 we're going to do the first release of drupal 9 and the first release of drupal 9 that we can also release on drupal 20 is drupal 9 drupal 9 is basically removing all the things that we have to be removed we keep around all the things that we've added already in drupal 8 and which I think are so in other words the drupal 9 API won't be using 8.9 API I just hope you get to see the things and 3.20 drupal 9 so this makes it very predictable what's coming in 9 it makes it easier for us to release mine because we have a very long-term scope it's not like you just need to rewrite this API and the API however you want and it makes it easier for contributed models and customers to keep up with what's going on in drupal 9 because they've already told them to do it so drupal 8.9 is not using that particular API it will continue to work on drupal 9 and this is how you can have a module or a theme compatible with drupal 8.9 at the same time as long as your module or a theme is not using anything in the very opposite that it could be compatible at the same time with drupal 8.9 and that's our goal going forward that projects could be compatible with most individual releases so this allows you to get ready for all the drupal and what we did in drupal 9 so far since we delivered what we promised and we removed all of the applications which are dedicated at least that we did in drupal we started around New York on November and we finished our project for this project at the start of March we visited all the dedicated APIs so if you go and try drupal 9.2 this is easiest to try drupal 9.2 today but drupal 9.2 will release in the beginning of March so the suggested way to use drupal 8.9 is completed first a new release and then we're going to create a project drupal 9.2 this is going to be drupal 3.9 it's going to be the directory that's been created and even if you don't have the reference of the database that you're showing you have to actually in it that you can just do a quick start and then we're going to get drupal 9.2 it's going to look exactly the same drupal 9.2 because it's exactly the same project the same UI the same so this is how you try out drupal 9.2 but what are you going to do with the website that you have on drupal 8 in this space so one of the five steps that we need to take is from drupal 9.2 the first step that you need to make is you need to ensure that your environment is not in drupal 9 there's been a bunch of environment requirements in drupal 9.2 because that's some of the requirements of drupal 8.2 that will depend on your life and then that's what you do so php7.3 is required to work with the version that supports drupal 9.2 if you use gush php7.3 if you use Mexico if you use a bunch of other database requirements if you use Postgres if you want to work with them or ask your life they'll hydrate and you can look for other requirements so we've raised a bunch of requirements to make sure that the environment that we're running in has been that for a good next time the next step is you keep drupal 8.2 up to date because drupal 8.2 itself is introducing new solutions that are going to be in drupal 9 if you're an old version of drupal 3 keep on getting it you're an old version of drupal that's going to support every 12 months so you need to go and keep it updated and there's also a reason for that that we always support upgrades from drupal 8.8 and 8.9 to drupal 9 and part of the reason because when drupal 9 comes out then drupal 8.7 builds on the support of drupal 8.7 so drupal 8.7 doesn't have to be supported anymore it's out so we can't really go and fix any problems with so drupal 8.8 and 8.9 will still be supported every time when people line things up so we don't have support for drupal 8.8 now you need to keep all of your contributed projects up to date again and that's because a lot of the intermediate projects are keeping up with drupal 9.2 projects so if you go to the project pages of your contributed projects and you have a form module the cdm module has this arrow it's an arrow icon that says drupal 9.2 is transferred to the company this module is ready for the client it has a version 3.4 so cdm module 8.x 3.4 is compatible with drupal 8.9 at the same time it can install it in the night and web form module tells you the history it says that it will support the client and it will be 8.x6 x release and this will be and I believe that when we include people in it to do that so every project has their own story on how they are putting people in it and hundreds of them I think the last kind of work 600 of them use this drupal 9.2 to tell you about their clients if they have clients that may need help to get people in the client this would be the place they would tell you so this is the state of drupal 8.2 in general 44% of modules have no problems with other people so they can carry release they will be fine and a bunch of them have all problems so they won't be without waiting for the 7.0 time and how we might want to do this multi-core support is a great question so the 8.x3 for the release of cvm module for example that I just mentioned has this key and their input yes it does that says their core measure requirement is 8.8 or 9 and so we introduce this key in drupal 8.7 and drupal 8.8 and this allows projects to be compatible with multiple releases of 2.4 and 1s so cvm module will do this and drupal 8.7, 8.8, 8.9, 9, etc. they are compatible with these versions so when you install it they are now this is very awkward that you have the 8.x version of drupal with 2.9 that's quite awkward and actually drupal 8.8 we use this to allow an x anymore on projects because what's going to happen on drupal 8.7 is some of the versions are going to delete projects so the 8.x prefix is not in the way of drupal 8.7 from projects and projects will have some of the version numbers of 3 components so drupal 8.7 and drupal 8.7 etc. so cvm projects are going to have some of the version releases and these releases could be compatible with multiple versions of drupal 8.7 and this is very for the streaming launch so if you go over to the bar there is a semi-bar example project that has already some of the version releases and we are basically discussing whether we are launching a Disney for something along the way so it's really close to being launched a lot of people who are ready for this drupal 8.7 are very much of components to deal with this version release so very exciting and then before the step 4 we will definitely leave the ideas in your artistic project and we will talk about the tools for that in a minute but basically after step 4 what you have is a drupal 8 website that has to do with projects of your artistic project etc and other than drupal 8.7 everything else is still in the library so you have a drupal 8.7 it's still working fine and maybe your life site is still working fine but it's also drupal 9.7 so that's the other reminder I think about is the only step that you do step 5 is where you the step 5 is probably for yourself because at this point every other component you have on the site is already connected so this allows you to do all the steps to prepare for drupal 9.7 today you can upgrade all the drupal projects you can update drupal 4 to drupal 8 with support of drupal 8.7 you can update drupal 8.7 you can build step 1 to 4 today you can do everything today you still have it working the right way for the last step is to update drupal 9 and the last step is basically to complete the drupal and get you to complete the drupal which is the last step and they are already behind so this is the process of update drupal 8.9 which is getting way better because you can prove all the steps in the 3-year struggle at this time and then the last step let's talk about the tools that we can use to upgrade and to remove drupal 8.9 if you are writing code this is the sign and you have to use the same code so here we have a dedicated annotation in the code that says drupal 7.7 is that the drupal 8.5 will be removed for the drupal 9.7 and you use this as a trigger and so this is the thing and there is a backwards in the documentation of the file so this is how we dedicate something we keep the API in the rig but we also tell people that we are going to remove this so the way to find the uses of drupal 7.7 is either the update status project the drupal 8 version or the drupal chat come in line to open number 5 you can run them on your project and it's going to show you how many files so it tells you about how many errors were found in KS tools and how many files are told and so on we can go in and look at the list of the application errors and fix them and how many files you can check for the quick files and your imperial files that you use to do the project and you can check for the CSS library definition and so on so basically most of the conflicts are good plays and quality then there is a tool called Acid Vector which is on the drupal vector of an online project and this actually generates a patch to apply to your privities that replaces all the resources you need to use so in this case your drupal 7.7 is replaced with a messenger and it has this so you can use the Acid Vector drupal project for drupal vectors so you can generate patches there is a very few API changes in humanity yet in this tool it came next week it was going to be planned in Chicago but it went all digital because of the current numbers so you can have a sprint next Saturday on a contribution day on writing these moves for the ultimate quick solutions so you are welcome to join me about the next Saturday, the one we played in the contribution day of mid-camp because we are going to welcome you to the subject of the project that's next we might want to transform this so you can optimize the transformations of your code and actually program the build that's going to connect then obviously once you have a drupal line you can go to the user we need to run the drupal line that we should run the automated patch against the drupal line op2 ideally you can open the tests if you don't have automated patches drupal are in a passive way to run the same methods that is kind of code analysis on your code base on rule 8 so it's going to run your code against the drupal line op2 where the stage will be centered by step if you watch the review slides after the fact then you can have a look at the process there is a data stage on app.com slash 2.9 where is an interactive one can browse the status of the project and have products and a lot of other different things we can review how actually the model that we're carrying and which one that goes which one is ready it has a whole 9000 projects some projects will need a new branch or maybe a new branch because as I said drupal 9.0 will come out with 8.9 and 8.7 is going to run exactly the same line drupal are our project wants to support drupal 8.7 and 9.0 and they can't really review the data APIs that we're carrying in a state of need so mainly to have them so it will be as I just said and it will be released or I have multiple branches so the final question I guess is about the readers of drupal 9.0 that's a fair question because there are no new readers of drupal 9.0 so as we said drupal 9.0 should not review drupal 9.0 so I think people always wanted to have an easy update path that was one of the features that people wanted to have is an easy update path and this is the feature of drupal 9.0 and there is no other which other new features that we want to however drupal 9.1 awards one of our new features so we have the experimental workspaces manual that's going to get stable until we consider a new feature we have the experimental health products manual that we're going to get stable in 9.0 until it's considered a new feature we have the cloud in drupal 8.0 that's experimental so we can add anything it's not yet stable once it becomes stable we can enable in the standard profile and everybody can have much input and experience in drupal 9.0 this will be the new feature version of drupal 9.0 new stable feature there's going to be a run path in main build let's kind of introduce in the later version of drupal 9.0 that's in the standard version again so this is going to be a run path in drupal 9.0 it's a long sign product and in cp5 it's fun to be introduced because then you'll spend a lot of your time here maybe a thousand minutes to get ready for me because we need to move on to cp5 and then whatever you are working on so there's an ideas project where you can suggest some ideas and we are going to launch the standard drupal series soon where we'll get a lot more feedback from the community about what you want to see in drupal 9.0 so once again there's going to be more and more releases of people and improvements so it's going to introduce new features actually three more releases so I'm going to introduce some new features and the crash and the improvement so then the actual final question is about will it be released so I've already said that drupal 9.0 is stable we will be in June 3rd when it's coming so if you ask me a week ago I could have shown you what conditionals cp5.0, yeah as we know the beta model is going to be released next week because we have a little bit of requirements it's in a matter of days now the rc one is going to be out in the start of May and the stable is going to be confirmed and the first feature release in drupal 9.0 is going to be just some different companies so before we enter this year we're going to see new features in drupal 9.0 again so so finally we talked about drupal 7.0 which is the last big step there is a huge step that's the next step you cannot make the big step at this point in time but there is a new science report that will be out in 2024 drupal 8.0 to 9.0 is the easiest update in the decade because we still learn from what we did much easier we need to keep up with drupal 8.0 and contribute to drupal 8.0 because in drupal 8.0 you need to do your own method and you need to do a bit more work and this will result in a rc drupal 8.0 site that is drupal 9.0 eventually and when we're looking to come into the web the environment is very that complicated for drupal 9.0 as I said drupal 8.0 is the easiest update in drupal 8.0 and drupal 9.0 is the easiest update in drupal 8.0 you can see the state of drupal 8.0 is coming enjoy the community discussion on drupal 9.0 thank you very much thank you once again these slides are available on drupal 9.0.com with this QR code I did that now scanning QR code we'll put it in the sky in the recording obviously we'll put it up here in the middle and we'll put it down and this is the panel and maybe I have three minutes for questions so I can see who you are no looks like you're doing a good job can you go back one slide can you go back a slide to the scan me page please thank you