 with the Judas presentation for the planning enterprise path for your Drupal 9 journey. So just a key introduction about myself. I've been working for TCS majorly from India, Mumbai and I've been doing Drupal since 2009. We started from Drupal 6 and so on. And it's so far a good journey. Since last year I've been trying to play around with Drupal 8, more on the Drupal parts and so on. So during this particular presentation I'm going to walk you around my experience about planning the journey or planning the Drupal 9 upgrade path for my set of organizations, which is the take away I'm going to share with you guys. It's more about the strategies, how we build and what are the key action items we should be taking for planning Drupal 9 upgrades. So we will walk around on the current states of Drupal 7, 8, 9 and then we will see what is all about Drupal 9 and why it is in a place. And then we will think about what organizations should look towards Drupal 9 in terms of the futuristic implementations. And then we will see what are the prerequisites we can have for the upgrade path and then what are the methods for the same. So if we see about the current Drupal 7 strategy we have the Drupal 7, 7.67 in the place. However since the Drupal 8 is currently already in progress with 8.8 to be come in the early next month. So the Drupal 7 is going to be end of life considering that we have both Drupal 8 and Drupal 9 branches currently in a place. And so once the Drupal 9 gets stable and it gets released we more or like don't have the Drupal 7 supported anymore. So that's basically sounds like the end of life for Drupal 7. Considering that still there are a lot of many sites our organizations or vendors may have in Drupal 7. So it's really important to know what this particular breakthrough means for the organization. So what that means is basically we may not have the automatic coverage for the testing on Drupal 7. The security window, security advisory which gets released for Drupal 7 over the venus days may not be available after the end of the life of Drupal 7 and so on. So it's really key important to you know make sure that we have we don't have unsupported code which does not support security fixes and so on. So that's how the end of life structure for Drupal 7 look like. However all we know that Drupal 7 is already supporting 7.2 and there are life cycles for 7.2 as well. In going ahead till the time of end of life we might have to support the upcoming PHP versions. What basically happens during the end of life is we may have the extended support just like we used to have in D6 but that will be something which yet to be announced or yet to be finalized. But yeah it should get extended support till 2024 and after the end of life. Now moving to current state of Drupal as we all know like 8.7 is already present and 8.8 is about to you know get stabilized. So let's have a quick look around what are the different versions we are upcoming in Drupal 8. So the first alpha release is for the 8.8 and 8.9 is already in place. So that's basically founding the baseline for you know upcoming Drupal 9. However the 8.7 it may you know have the critical supports till the next month which is the first Wednesday of the November and meanwhile like the 8.8 beta is expected to also come in the November. So saying that the 8.8 will get stabilized by December and that's how we will move one step more closer to 9. At the same time we since we know that during this month there is a branch for the 9 next day. It's been expected after the six months we may have the 8.9 release as per plan in June. So that's basically based on the current six month life cycle release cycles which we have in Drupal. So considering that the 7 is on one particular versions over the Drupal 8, 8.8 is about to release and then you know Drupal 9 is branch is already in place. What does that mean for the developers is so the 8.x is basically in preparation right now and the support for 8.7 will continue after the 8.x. However the development for the 9x and the 8.9 will continue as in a parallel thread. So what we're expecting is the 9x will be nothing but your Drupal 9 which will be you know get turned to 9.1, 9.2 instead of the releases. At the meantime whatever the things or the issues which are present in the 8.9 version it will get tacked to the 9x and the contributed and basically the experimental modules from the 8.x will be removed to make it more stabilised and you know as support till its end of life. So what makes Drupal 8 so far is like you know we're going to have a quick look around on different versions of 8 and then we will move to Drupal 9. I'm not going to spend more time you know explaining the Drupal 8, 8.1, 8.2 but we will still have the look around on that. So as of now as of now like we know the Drupal 8 is supporting the semantic versioning so that's basically is allowing us to add new features in the minor releases as well as keep it more compatible in the backward compatibility mode. So we can have more features and the backward compatibility is maintained. At the same time we have schedule release cycles of every six months so we have more predictable changes for organisation which are planning for large number of projects it will be easier to know like what is upcoming and what how they can strategise their goals and the same times over the evolution of Drupal 8 we already know that we had lot of experimental models coming in each version of Drupal 8 and how those models also get stabilised in the next versions upcoming versions so that's probably is going to continue that is what I expect. So we're going to have just quick look around on the different Drupal versions so 8.0 almost by four years back we got it available with the PHP 7 compatibility there were a lot of new changes like the in-line editing the blocks which got more setting stray icons there were quite developer friendly features like the configuration management then mobile first responsive UI all those been added with the 8.1 we see that you know the CK editors enhancements got added along with the big pipe and the migrate UI model so it was the first time that there was efforts made to make the major version of Drupal compatible for the migration with the lower version that is 6 and 7 and so on. With the 8.2 we see there were you know good enhancements for the content authoring and that's how the adoption for the organisations which rely on the content modeling and the save service experience that you know starts adopting more versions of Drupal. So saying that the content moderation earlier it used to be in the contributed state with the workbench and that's now got part of Drupal codes to make the content experience more easier. We also got the out-of-box REST APIs to make it more API friendly or the API first CMS with the the next versions till the 8.3 and 8.4 it was more about you know stabilizing the existing features and adding a bits of experimental models so the models like the you know the layout field layouts and the layout APIs were added which helps in terms of you know not just the editing the content part but also making the UIs more friendly for the content editors. With the 8.5 I will say it was most stable release and the most advanced release in in in the Drupal's history with that the addition of the media APIs the content moderations and the workflow the migrate becomes more stable by speak a model become more stable and helps into the performance. At the same time layout builder keeps adding the new features so that's something you know when I was developing Drupal it was this particular points I considered as a major take-aways for the adoptions and strategies like what set of you know self-service strategy or what set of content authoring strategy I should have. With the upcoming versions we got couple of features like the out-of-box demonstration profiles which is very good example for you know evaluating Drupal. You know similar features organization can also think about you know having their own set of profile where you know if they are serving a media domain if they are serving healthcare domain just have some you know simpler profile and then build evaluation version to you know for the marketing people and so on. With the workspace is one of the breakthrough I will say for in the content editing experience where we get the admin content part whichever the contents entities are present all available in the workspace where they can the editors can edit the content and you know deployed across the different environments and different workspaces. At the same time the testing's ability is got more developer friendly we got a process for reporting all simple tests to PHP unit test. Support for the JavaScript best testing a browser best testing was announced and this is like the current Drupal version which we are right now which is more provided with you know key features like the layout builder. JSON API is one of the best feature I like in Drupal. I like to play more around with the decoupling part using the JSON API but this is something which if the organizations are looking for more you know mobile friendly experience or exposing content making as a content hub this is something key features going ahead for both Drupal 8 as well as Drupal 9 and then we have some of the very key features which were demanded since quite long ago something like making a taxonomy and the main news revisionable which earlier we used to have you know some contract modules and to support it but this is something like which is coming in a call. So that's something which I feel that the 8.7 currently we have. Yeah funny. So now what we are basically in the state of Drupal is 8.8 where we even I was pretty much excited to see like what set of features we're going to have as a part of 8.8 but this is like some amount of summary which I tries to you know summarize for the 8.8 take a ways so something is like the media management it's getting more improval we can have inline editing of the media content in the CK editors we have going to have a brand new admin theme which should be more easier and more accessible friendly then it's going to be a very key features that Drupal 8 becomes more composer friendly with the composers cap holding plugins what that means is currently there are contract models and there is Drupal code few contract models are compatible with the composer if you are not but this is something which is going to make it as a standard and it will be make it very easy to maintain the Drupal project using the composer and it's dependent is going ahead then there are a couple of good implements in the content modulation workspace earlier it does not used to be have you know exist in the same time but going ahead we expect that it both can go at the same time maintain the revisions and so on so forth the jqui UI is something which people has since very long it it probably is going to be get duplicated with going ahead and then there will be a good support for configuration management which should be based on the environments say something like Dave and fraud it should become more easier in terms of the configuration management going ahead and then last but not least the thing which I probably like most is the path aliases will also be get revisions so saying that it will be easier to maintain and track what are the you know it should be very it will be very helpful for the content authors so so far like we have a recap of what we had in Drupal 8.1 to 8.8 but same when before jumping to Drupal 9 let's have a look what has you know bring Drupal 8 to this particular stage and then we will see how this may affect Drupal 9 in future so with with the strategic initiatives is something which is you know very had played very key role in terms of what features should go in Drupal and what should how it should get evolved so there are most of the features are already in place as a stable model there are few things which are still getting is more stabilized out of this I will say the admin UI and the JavaScript modernization is still have a lot of scope in upcoming Drupal 8.9 or say 9 releases what we mean about the admin UI is more about you know the features like you know auto-save and then there is something like more design friendly and accessible friendly theme which should leverage most of the Drupal 8 APIs or they out be the APIs and so on the API first is almost good have good stabilized model in Drupal 8 however there are still few things which should be targeted in the futures say something like you know achieving full decoupling or progressive decoupling in a code which most of the organizations are looking for so adding support for that then there are chances that in the for the admin section as well there should be a decouple admin driven the database user interface should be made available then in terms of where the breakthrough is one of the automatic updates initiative so it's depending on how we can make Drupal more update friendly so that organizations can reduce the cost of upgrade and maintaining the Drupal websites as of now like it's been very pain whenever we received any new security releases and getting it applied to your large number of sites so with the automatic update what we expect is that there should be more easier path when you are maintaining the project using the Composer so the Composer based project should able to get update based on the automatic update plugins after that the configuration management however it's quite stable there should be few more additional initiatives may get added considering Drupal 9 in future role while the layout initiative is still have lot to come I will say already we have good set of APIs however there should be good set of ecosystem of contract model should leverage this set of APIs and then we have one of the key initiative which is media I will say it's almost stabilized so organizations looking for adopting you know CMS for the media domain would surely try to leverage this particular capabilities in Drupal 8 and 9 after that the most key which I'm looking for is the migrate initiative it has quite good stable models in Drupal co however there is still bit of work which should happen on migrating the multilingual site from Drupal 7 to Drupal 8 and so for once you migrate it should be easier to migrate in Drupal 9 but yeah when it comes to multilingual there is some bits of work we should expect in upcoming next six months to make it most easier for migrations so let's have a quick look on the current state of Drupal 9 so currently we are you know expecting Drupal 8 to be get released in December however the Drupal 9 branch is already in place so saying that once we have Drupal 8 release we should be having Drupal 9 in June 2020 and then the release cycle should follow you know two releases every year starting from the first release which should continue the trend should continue like that so you know when we have Drupal 8 and Drupal 9 in place which is already having a lot of you know dependencies on the third party components as well as a support for latest PHP versions what we should remember is on the same line is how the PHP versions are getting released and how they are getting unsupported in a future so far like the 7.1 is already you know under the security fix category but in future like we should focus on both 7.2 and 7.3 since it may get unsupported in near future so that's something which we should keep track for those who already have Drupal 7 sites and in terms of the dependencies like so in terms of the dependencies like we have Drupal 8 having a major dependency on Symphony 3 and the Symphony 3 has its own lifecycle so as the Symphony 3 get unsupported we might you know have Drupal 8.x should have a provision to update the next version of the Symphony and that's how we are looking forward with Drupal 9 so somewhere in 2021 and 2022 we expect the end of lifecycle for Symphony 3 and that's how the current Drupal 9 may progress to end of lifecycle and saying that in 2020 we have Drupal 9 if the Drupal 7 is or will go end of lifecycle in 2020 so which will get supported till this particular period so that's something we should keep track if we have large set of sites on Drupal 7 so coming to the points what is Drupal 9 so for me as well it's like you know we already have Drupal 8 we are building sites in Drupal 8 but how does it change our you know life if Drupal 9 gets released so it's very important to understand that you know what it's going to have so it's basically set of Drupal 8 APIs and you are basically taking off the duplicated parts of that and then or whatever the dependencies you have in Drupal 8 you are just going to update those dependencies for their next major versions so something like Symphony 3 will get become Symphony 4 or 5 or tweak 1 will become tweak 2 and so on so that's something we are looking for Drupal 9 which is the duplicated code will get removed and so on so it's not going to be have major change for the developers but it's something if we are already doing Drupal 8 with lot of custom models we should be aware about these changes with Drupal 9 the release cycle we have already seen that's from the June 2020 it should have the possibilities but considering that at the same time we should already we should also know that the whatever the versions we have in Drupal 8 which is 8.7 8.8 it's still going to be there as 8.9 but with all the duplicated codes more or less it may not have the experimental modules in that phase those models will get more to Drupal 9 that is what I'm expecting out of it so why we basically call it you know 8.9 as a Drupal 9 so since we are just removing all the depreciations, duplicated codes out of it so why we basically need to move to Drupal 9 so most of us or the organizations you know questions whenever we want to have an upgrade for the major version so it's really important to convert the good message and make them educated about what changes are coming although there is nothing much is going to change for the developers so this is sort of summary where the basically we're going to have you know dependencies changes for symphony tweak the lab is like guzzle and then the lab is like ck readers will get updated and saying that it will also have the you know the support for the security updates of the dependencies in future so how as an organization or how as a developer I should look towards Drupal 9 so this is something which I always like to figure it out what are the capabilities we have out of using a Drupal so it's something which I would like to summarize is in Drupal 9 or latest version of Drupal 8 we expect very easy migration which should be from 6 to 7 7 to 8 then we should have more innovations in terms of the core features something like you know decouple modules like just on apis and this is in code and then there is the admin interface which is also getting the react based component for the decoupling and so on and we already have a lot of good support for the content editing so there is a good scope for content innovation and you know having used as a content repository one of the things I look forward is you know using the web forms more that's something which may happen in Drupal 9 so organizations may like to use it as a web form hub or you know translation as a service and so on they may like to expose their content paragraphs over the rest apis so use Drupal 8 as a content editing hub and expose the content over the apis and then have initiatives like the component based UI after consuming those content and of course like it's it's we are expecting it will be more secure because you will able to monitor the versions monitor the outdated modules and so on and supporting latest php versions mass equals and that's how we expect it more you know develop a friendly sector and easy to update so what are the upgrade paths if we are on 7 or 8 and how we should move to Drupal 9 so first thing first like if we are already using Drupal 8 we don't have to worry it's just that we have to mention the regular releases and roll out the latest versions so if that should help us to keep 8.7 or 8.5 website to latest Drupal 8 version and whenever the 8.9 gets available you should be okay to move on that because it should have it should gradually remove the duplicated codes going ahead then what we should be doing as as a part of you know the developer activity or you know the refactoring activity is check for the duplicated codes use the better IDEs or there are tools like Drupal check which is a Composer based plugin so you can just install it and have you know command line checks to see what are the custom models which are using duplicated codes in your Drupal 8 sites and then try to remove those duplicated codes over the period of time then then there is the upgrade status for your site supporting so over there we should at this moment like it this is more about the contributed module upgrade status but we expect it to be more stable and it should help us to leverage which are the versions probably going to have better support in Drupal 9 so we may have the models contributed models supporting both Drupal 8 and Drupal 9 versions but going ahead it should be you know we should able to add a check using this then we may like to you know have some checks during our build life cycle so whenever we are doing CI-CD we may like to add checks for the duplications and there are different strategies which we can adopt we may have Drupal check a plugin you know configured over there or we may have PHP-SAN we may like to check for which when the duplicated code is glitched in your our custom models or you know contributed models we may like to you know get those things highlighted in terms of the our CI-CD checks then there is something called Drupal 8 reactor which I found very great helper earlier like in the if you have heard about the PHP CS plugin which is a command line tool helps to you know find or beautify your PHP code so Drupal 8 reactor is something similar to that it helps you to you know fix your duplicated codes in your custom models or if it is in a custom model so we should leverage such tools in terms of repairing our existing Drupal 8 sites now moving to what are the upgrade paths so you know Drupal 8 is already having set of migrate models in a code and which are more compatible with both 6 and 7 for the content migration it's not for the yet having a very good support for the configurations but obviously the content migration is quite content migration is quite well supported so what I expect is the organizations or teams can try to leverage these models as well as a set of concept models to migrate the content from older sites to D8 and then keep the D8 site updated going forward for Drupal 9 so when we when we basically you know doing this upgrade path there are certain things we should you know take care of it and also do artifact you know for our sake of purpose to keep track where are we in terms of upgrade so we should assess do the assessment of our Drupal 8 code whether it is patched or not we should not have a patches in Composer to you know update or you know patch Drupal code similar things if concept models are patched we should know if whether it's the latest versions are used in your Composer dependencies then we can use the upgrade web interface which is available in Drupal 8 during to check to check with Drupal 7 sites what are the entities we can easily migrate so earlier in in Drupal 7 we used to have the concept model and we used to basically have different source plugins we may use to connect to a database we may use to connect to CSV or JSON and so on with Drupal 8 it's similar but we have more better options for that and when in terms of upgrading or checking a models which are compatible it gives us a clear understanding which are the supported versions in Drupal 8 which are the entities which are available in you know Drupal 8 and so on so something like the address field is in Drupal 7 if it is not is present then probably at the some point in Drupal 8 it is not supported but the same time if you have a concept model in Drupal 7 for the date so that is already supported in Drupal code so this mapping we should able to do in terms of both content as well as models to keep track what are the things available in Drupal 8 then I will say there are a couple of prerequisites which I personally used to have are going you know still mentioning it is something like the contract tracker to see what are the latest and stable releases in Drupal 8 then is basically the Drupal 8 multilingual model to support the multilingual but at the same time we don't have better support for the migration so it's very good to track these updates so that in future we should able to know like whether we should able to migrate Drupal 7 multilingual sites very easily or no when we are using this migration models there are certain things we should provide or you know there are ways we have we should give a provision to connect Drupal 7 database or you know have access to Drupal 7 files folder so that's something we should evaluate we should check whether our development environments are able to provide or not so that is something which is important and then the there are things like you know certain dependencies I will say whether you are upgraded to Composer you are using latest version of Dlish and so on so those six are still there and then you know in terms of the upgrade approach what I deal down is you know these three steps or these three approaches which suits to migrate the sites from Drupal 7 to 8 and then I hope in future it should work so the first one where you know we have D7 sites we would like to you know upgrade those sites include the D8 maybe we should able to use the content migration but the configuration is something which we have to do after the content is migrated and the configuration once we do the configuration on the new D8 site we should able to move it to beyond dev stage and so on so in the first approach it's very simple procedure you just focus on the content migration using the migrate apis migrate models and then do the configuration as a fresh build for your Drupal 8 sites the second one is like you already have good set of content and the configurations migrated in Drupal 8 then it's more or less you are looking for you know next batch of the content as well as the migrations to roll on the new website so that's how we can think that you know Drupal 8 can keep updated with the you know the latest versions of both Drupal as well as the new content which is coming from Drupal 7 and then you know it's something which I'm still figuring out for more explosion is the third option where we are migrating content from stage and plot environments so we may have multiple environments in Drupal 8 for during the migration so we may migrate the content from the source website to the stage or plot of the stage site of the Drupal 8 we keep the content available there and then keep doing the configurations from dev to stage and have more iterations around that so that's something you know it's these are the things which I probably look forward for you know migrating the websites to D8 and the next part of this is probably just keep the D8 site updated with the latest version so that whenever the 8.9 gets released we should be on the latest version for the welcoming Drupal 9 so that's it like you know this is something which I try to summarize from my own experience but let's have some more discussion in terms of questions like what are your experiences what are the challenges or whether this one is helpful so open to you guys to have questions or you know feedback and questions so how many of you are already using D8 any versions and how many of you are on the latest version of D8 good okay all right so thanks a lot for attending this session and I hope you too have a great Drupal con have a lovely day going ahead can we have one selfie together