{"id":72817,"date":"2023-04-20T09:02:05","date_gmt":"2023-04-20T09:02:05","guid":{"rendered":"https:\/\/www.cryptocabaret.com\/?p=72817"},"modified":"2023-04-20T09:02:05","modified_gmt":"2023-04-20T09:02:05","slug":"what-you-need-to-know-about-the-drupal-9-to-10-migration","status":"publish","type":"post","link":"https:\/\/www.cryptocabaret.com\/?p=72817","title":{"rendered":"What you need to know about the Drupal 9 to 10 migration"},"content":{"rendered":"<p><span class=\"field field--name-title field--type-string field--label-hidden\">What you need to know about the Drupal 9 to 10 migration<\/span><br \/>\n<span class=\"field field--name-uid field--type-entity-reference field--label-hidden\"><a title=\"View user profile.\" href=\"https:\/\/opensource.com\/users\/thejimbirch\" class=\"username\">thejimbirch<\/a><\/span><br \/>\n<span class=\"field field--name-created field--type-created field--label-hidden\">Thu, 04\/20\/2023 &#8211; 03:00<\/span><\/p>\n<div class=\"clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item\">\n<p>Drupal 10 was released in December 2022. If you&#8217;re a current Drupal 9 user, you may be strategizing your website&#8217;s Drupal 9 to 10 migration. Luckily, the Drupal 9 to 10 migration is being heralded as the easiest upgrade in Drupal&#8217;s history. That&#8217;s because Drupal 10 is backward-compatible with Drupal 9 and is not a major overhaul of the core system. But the planning and development process still requires time and attention to ensure the migration goes smoothly.<\/p>\n<p>This article takes a deep dive into the Drupal migration process and how your organization&#8217;s marketing team can provide support along the way.<\/p>\n<h2>Fast facts about the Drupal 9 to 10 migration<\/h2>\n<p>Brush up on your Drupal release history with these fast facts:<\/p>\n<ul>\n<li>Drupal 9 was released in June 2020. At the time of its release, Drupal 9 offered an easier upgrade than ever because it built upon features released for Drupal 8.<\/li>\n<li>Support for Drupal 9 ends in November 2023. There won&#8217;t be many new security releases after this time, and no new functionality will be added.<\/li>\n<li>Drupal 10 was released on December 14, 2022. New features will only be added to Drupal 10 from now on, so if you&#8217;re looking to use Drupal for the first time, it&#8217;s recommended to start with Drupal 10.<\/li>\n<\/ul>\n<h2>What&#8217;s new in Drupal 10?<\/h2>\n<p>As mentioned, Drupal 10 builds on innovations released as part of Drupal 9. You won&#8217;t encounter an entirely new structure and system to get used to when switching to Drupal 10.<\/p>\n<p>That being said, Drupal 10 offers the following updated features to improve the user experience:<\/p>\n<ul>\n<li><strong>A new default administrative theme and frontend theme<\/strong>: The default Claro administration theme and the Olivero frontend theme offer an accessible, user-friendly, modern experience for website administrators and visitors alike.<\/li>\n<li><strong>Updates to the <a href=\"https:\/\/opensource.com\/article\/23\/4\/website-text-editor-ckeditor\" target=\"_blank\" rel=\"noopener\">CKEditor<\/a> embedded text editor from V4 to V5<\/strong>: This change facilitates a more modern editing experience and more intuitive authoring.<\/li>\n<li><strong>Upgrade from the PHP framework Symfony 4 to <a href=\"https:\/\/symfony.com\/\" target=\"_blank\" rel=\"noopener\">Symfony 6<\/a><\/strong>: Symfony 6 and switching to PHP 8.1 as the minimum version results in a more secure, performant PHP framework.<\/li>\n<li><strong>Modernization of JavaScript<\/strong>: Drupal 10 switches out the large JQuery library with smaller, better-performing solutions.<\/li>\n<\/ul>\n<p>Specific technologies aside, Drupal 10 focuses on accessibility, modernization, and user-friendliness for website visitors and editors alike.<\/p>\n<\/p>\n<div class=\"callout-float-right embedded-resource-list\" data-analytics-region=\"sidebar\">\n<div class=\"field field--name-title field--type-string field--label-hidden field__item\">Programming and development<\/div>\n<div class=\"field field--name-links field--type-link field--label-hidden field__items\">\n<div class=\"field__item\"><a href=\"https:\/\/developers.redhat.com\/?intcmp=7016000000127cYAAQ\" data-analytics-category=\"resource list\" data-analytics-text=\"Red Hat Developers Blog\">Red Hat Developers Blog<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/downloads\/cheat-sheets?intcmp=7016000000127cYAAQ\" data-analytics-category=\"resource list\" data-analytics-text=\"Programming cheat sheets\">Programming cheat sheets<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/www.redhat.com\/en\/services\/training\/learning-subscription?intcmp=7016000000127cYAAQ\" data-analytics-category=\"resource list\" data-analytics-text=\"Try for free: Red Hat Learning Subscription\">Try for free: Red Hat Learning Subscription<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/downloads\/bash-programming-guide?intcmp=7016000000127cYAAQ\" data-analytics-category=\"resource list\" data-analytics-text=\"eBook: An introduction to programming with Bash\">eBook: An introduction to programming with Bash<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/developers.redhat.com\/cheat-sheets\/bash-shell-cheat-sheet?intcmp=7016000000127cYAAQ\" data-analytics-category=\"resource list\" data-analytics-text=\"Bash shell scripting cheat sheet\">Bash shell scripting cheat sheet<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/developers.redhat.com\/e-books\/modernizing-enterprise-java?intcmp=7016000000127cYAAQ\" data-analytics-category=\"resource list\" data-analytics-text=\"eBook: Modernizing Enterprise Java\">eBook: Modernizing Enterprise Java<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/downloads\/building-applications?intcmp=7016000000127cYAAQ\" data-analytics-category=\"resource list\" data-analytics-text=\"An open source developer's guide to building applications\">An open source developer&#8217;s guide to building applications<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/console.redhat.com\/?intcmp=7016000000127cYAAQ\" data-analytics-category=\"resource list\" data-analytics-text=\"Register for your free Red Hat account\">Register for your free Red Hat account<\/a><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<h2>Steps to upgrade from Drupal 9 to 10<\/h2>\n<p>If you upgraded your site from Drupal 7 to 9 in the past, you know that migration required transferring all of your data to a new Drupal 9 website. The Drupal 9 to 10 migration is similar to the upgrade from Drupal 8 to 9, so it won&#8217;t be such a significant undertaking.<\/p>\n<p>However, you can still take a few measures to set your website up for success. Follow these steps to prepare your Drupal 9 site for the migration:<\/p>\n<ul>\n<li><strong>Drupal version<\/strong>: Upgrade to at least Drupal 9.4.4 or later. Core updates made before 9.4 have been eliminated, so you must be on at least Drupal 9.4.4 to use the data upgrade path from CKEditor 4 to CKEditor 5.<\/li>\n<li><strong>Rector<\/strong>: Run <a href=\"https:\/\/www.drupal.org\/project\/rector\" target=\"_blank\" rel=\"noopener\">Drupal Rector<\/a> on custom modules and themes. Drupal Rector scans code to look for deprecated functions and helps guide developers to upgrade them.<\/li>\n<li><strong>CKEditor<\/strong>: Upgrade to CKEditor 5. CKEditor 4 reaches its end-of-life at the end of 2023. Check out Drupal&#8217;s step-by-step instructions for upgrading to CKEditor 5 to stay up to date.<\/li>\n<li><strong>PHP<\/strong>: Check your version of PHP. Drupal 10 requires PHP 8.1 or higher, so you may need to <a href=\"https:\/\/opensource.com\/article\/22\/12\/migrate-php-code\">update your PHP code<\/a>. Log into your website&#8217;s hosting account and check the settings in your control panel to verify which version of PHP you&#8217;re using.<\/li>\n<li><strong>Modules and themes<\/strong>: Check your modules and themes. Not all modules and themes from Drupal 9 will be compatible with Drupal 10. If your site uses a module or theme that was removed from Drupal core, download the contributed project version before migrating to Drupal 10.<\/li>\n<li><strong>Test<\/strong>: Update to Drupal 10 and test your site. Run automated code tests using tools like Drupal Rector or <a href=\"https:\/\/phpstan.org\/\" target=\"_blank\" rel=\"noopener\">PHPStan<\/a>. Also, conduct manual testing to ensure that everything is working as expected. Check your forms, links, page navigation, and other site elements to note any user-experience issues.<\/li>\n<\/ul>\n<h2>Hassle-free upgrade<\/h2>\n<p>Ideally, upgrading your website from Drupal 9 to 10 shouldn&#8217;t be a hassle. You can make the already simple process even easier with the tips I&#8217;ve provided. You can take these steps yourself, let your web developer handle it, or work with an external Drupal developer.<\/p>\n<hr>\n<p><em>This article was adapted from a <a href=\"https:\/\/kanopi.com\/blog\/drupal-9-to-10-migration\" target=\"_blank\" rel=\"noopener\">previous article<\/a> by Jim Birch, Drupal engineering manager at Kanopi Studios.<\/em><\/p>\n<\/div>\n<div class=\"clearfix text-formatted field field--name-field-article-subhead field--type-text-long field--label-hidden field__item\">\n<p>Check out these tips for a hassle-free upgrade experience.<\/p>\n<\/div>\n<div class=\"field field--name-field-lead-image field--type-entity-reference field--label-hidden field__item\">\n<article class=\"media media--type-image media--view-mode-caption\">\n<div class=\"field field--name-field-media-image field--type-image field--label-hidden field__item\">  <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.cryptocabaret.com\/wp-content\/uploads\/2023\/04\/computer_browser_web_desktop.png\" width=\"1040\" height=\"585\" alt=\"Digital images of a computer desktop\" title=\"Digital images of a computer desktop\"><\/div>\n<div class=\"field field--name-field-caption field--type-text-long field--label-hidden caption field__item\"><span class=\"caption__byline\">Image by: <\/span><\/p>\n<p>Opensource.com<\/p>\n<\/div>\n<\/article>\n<\/div>\n<div class=\"field field--name-field-tags field--type-entity-reference field--label-hidden field__items\">\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/tags\/drupal\" hreflang=\"en\">Drupal<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/tags\/web-development\" hreflang=\"en\">Web development<\/a><\/div>\n<\/p><\/div>\n<div class=\"hidden field field--name-field-listicle-title field--type-string field--label-hidden field__item\">What to read next<\/div>\n<div class=\"field field--name-field-default-license field--type-list-string field--label-hidden field__item\"><a rel=\"license\" href=\"http:\/\/creativecommons.org\/licenses\/by-sa\/4.0\/\"><br \/>\n        <img decoding=\"async\" alt=\"Creative Commons License\" src=\"https:\/\/www.cryptocabaret.com\/wp-content\/uploads\/2023\/04\/cc-by-sa--29.png\" title=\"This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.\"><\/a>This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.<\/div>\n<section class=\"field field--name-field-comments field--type-comment field--label-hidden comment-wrapper\">\n<div class=\"comments__count\">\n<div class=\"login\"><a href=\"https:\/\/opensource.com\/user\/register?absolute=1\">Register<\/a> or <a href=\"https:\/\/opensource.com\/user\/login?current=\/feed&amp;absolute=1\">Login<\/a> to post a comment.<\/div>\n<\/p><\/div>\n<\/section>\n<p class=\"wpematico_credit\"><small>Powered by <a href=\"http:\/\/www.wpematico.com\" target=\"_blank\" rel=\"noopener\">WPeMatico<\/a><\/small><\/p>\n","protected":false},"excerpt":{"rendered":"<p>What you need to know about the Drupal 9 to 10 migration thejimbirch Thu, 04\/20\/2023 &#8211; 03:00 Drupal 10 was released in December 2022. If you&#8217;re a current Drupal 9 user, you may be strategizing your website&#8217;s Drupal 9 to 10 migration. Luckily, the Drupal 9 to 10 migration is being heralded as the easiest [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":72818,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[307],"tags":[],"class_list":["post-72817","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-open-source"],"_links":{"self":[{"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/posts\/72817","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=72817"}],"version-history":[{"count":0,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/posts\/72817\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/media\/72818"}],"wp:attachment":[{"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=72817"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=72817"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=72817"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}