Drupal 10 Support

Created on 26 May 2023, over 1 year ago
Updated 21 April 2024, 8 months ago

Problem/Motivation

Update php module for Drupal 10.

Proposed resolution

Update module, ensure tests pass against Drupal 10.

Remaining tasks

Review, commit

User interface changes

NA

API changes

NA

Data model changes

NA

📌 Task
Status

Fixed

Version

1.0

Component

Code

Created by

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @promo-il
  • Assigned to o_timoshchuk
  • Assigned to promo-il
  • Issue was unassigned.
  • 🇮🇹Italy apaderno Brescia, 🇮🇹

    I am resetting the Assigned field, since it should be used from people who are going to work on the issue in the next hours, not from people who need more than 12 hours before starting to work on the issue or more than 12 hours to complete the work on the issue.

    As a side note, this module has never been thought to be upgraded to Drupal 10.

  • 🇺🇸United States webdrips

    D10 patch against latest dev attached (generated via rector). I haven't tested this yet, but it does pass the D10 Upgrade Status sniff test.

  • Status changed to Needs work over 1 year ago
  • 🇮🇹Italy apaderno Brescia, 🇮🇹

    The issue summary should always describe what should be fixed/changed. Neither the title nor screenshots are sufficient to describe what the issue is, even in the case a patch is provided.
    In the case of a bug, the description should also list the steps necessary to reproduce the issue, starting from when the module/theme is installed.

    Quoting part of a file is not sufficient.

  • 🇫🇷France fgm Paris, France

    FWIW my use case for the D10 version is to complete a D7->D10 upgrade where the current version has text formats using that filter to I can bring them to D10 and remove it afterwards without having to mess with the existing D7 site or the migrate:upgrade migrations to skip it. Without it, I get filter_null errors.

  • Status changed to Needs review about 1 year ago
  • 🇦🇺Australia fenstrat Australia

    Attached is an update of #5 which removes the rector comments as all the changes it made look correct.

  • Open in Jenkins → Open on Drupal.org →
    Core: 10.1.x + Environment: PHP 8.2 & MySQL 8
    last update about 1 year ago
    Composer require failure
  • First commit to issue fork.
  • 🇧🇪Belgium DudeWeb

    Why isn't that patch integrated in DEV version?

  • 🇧🇪Belgium DudeWeb

    This how I patched, it looks to work. I join it to this post.

    But I had a lot of errors:

    patch -R < /Users/dudeweb/Documents/1.\ Pro/Development/PHP\ drupal\ module/php/patch.patch
    patching file php.info.yml
    Unreversed (or previously applied) patch detected! Ignore -R? [y]
    patching file 'src/Tests/Condition/PhpConditionTest.php'
    Unreversed (or previously applied) patch detected! Ignore -R? [y] y
    patching file 'src/Tests/Functional/PhpAccessTest.php'
    Unreversed (or previously applied) patch detected! Ignore -R? [y] n
    Apply anyway? [n] y
    1 out of 1 hunks failed--saving rejects to 'src/Tests/Functional/PhpAccessTest.php.rej'
    patching file 'src/Tests/Functional/PhpFilterTest.php'
    Unreversed (or previously applied) patch detected! Ignore -R? [y] n
    Apply anyway? [n] y
    1 out of 1 hunks failed--saving rejects to 'src/Tests/Functional/PhpFilterTest.php.rej'
    patching file 'src/Tests/Functional/PhpTestBase.php'
    Unreversed (or previously applied) patch detected! Ignore -R? [y] n
    Apply anyway? [n] y
    3 out of 3 hunks failed--saving rejects to 'src/Tests/Functional/PhpTestBase.php.rej'
    patching file 'src/Tests/Functional/PhpUninstallTest.php'
    Unreversed (or previously applied) patch detected! Ignore -R? [y] n
    Apply anyway? [n] y
    2 out of 2 hunks failed--saving rejects to 'src/Tests/Functional/PhpUninstallTest.php.rej'
    patching file 'src/Tests/Plugin/views/PhpArgumentValidatorTest.php'
    Unreversed (or previously applied) patch detected! Ignore -R? [y] n
    Apply anyway? [n] y
    1 out of 1 hunks failed--saving rejects to 'src/Tests/Plugin/views/PhpArgumentValidatorTest.php.rej'

  • Status changed to RTBC about 1 year ago
  • 🇺🇸United States loze Los Angeles

    The patch in #8 applies successfully to dev and passes the upgrade_status tests.

    Marking as RTBC to help move this along.

  • Open in Jenkins → Open on Drupal.org →
    Core: 10.1.4 + Environment: PHP 8.1 & MySQL 5.7
    last update about 1 year ago
    Composer require failure
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.x + Environment: PHP 7.4 & MySQL 5.6
    last update about 1 year ago
    2 fail
  • First commit to issue fork.
  • Merge request !4#3363035 Added composer.json → (Closed) created by sametyaman
  • Open in Jenkins → Open on Drupal.org →
    Core: 10.2.1 + Environment: PHP 8.1 & MySQL 5.6
    last update 10 months ago
    Build Successful
  • 🇺🇸United States wmfinck

    The dev version still won't install in Drupal 10.x
    Subscribing...

    • df05bd62 committed on 8.x-1.x
      Issue #3363035 by fenstrat, webdrips, DudeWeb, apaderno, fgm, loze:...
  • Status changed to Fixed 9 months ago
  • 🇺🇸United States wmfinck

    This is wonderful news, thank you! I just installed the latest dev commit on a site I am preparing and will be checking it out over the next couple of days.

  • 🇺🇸United States wmfinck

    Okay, I am sorry, I could not wait. I just installed the module, on a relatively clean D10 install with an Adaptive subtheme. Then I made a content block, and added my php code, which reads shoutcast data from a server and displays "now playing" information. The code has always worked without issue.

    Right now, on the website page the code is working as I would expect it to work, so all is well. But I checked the logs after loading the page and found two entries which were the same. The message is below. I hope this helps. The severity level is "Debug".

    Deprecated function: Creation of dynamic property Drupal\at_core\Layout\Layout::$layout_cid is deprecated in Drupal\at_core\Layout\Layout->__construct() (line 28 of /var/www/vhosts/example.com/next/web/themes/contrib/adaptivetheme/at_core/src/Layout/Layout.php)

    #0 /var/www/vhosts/example.com/next/web/core/includes/bootstrap.inc(164): _drupal_error_handler_real()
    #1 /var/www/vhosts/example.com/next/web/themes/contrib/adaptivetheme/at_core/src/Layout/Layout.php(28): _drupal_error_handler()
    #2 /var/www/vhosts/example.com/next/web/themes/contrib/adaptivetheme/at_core/src/Layout/LayoutCompatible.php(73): Drupal\at_core\Layout\Layout->__construct()
    #3 /var/www/vhosts/example.com/next/web/themes/contrib/adaptivetheme/at_core/src/Layout/LayoutLoad.php(39): Drupal\at_core\Layout\LayoutCompatible->getCompatibleLayout()
    #4 /var/www/vhosts/example.com/next/web/themes/contrib/adaptivetheme/at_core/includes/preprocess.inc(334): Drupal\at_core\Layout\LayoutLoad->__construct()
    #5 [internal function]: at_core_preprocess_page()
    #6 /var/www/vhosts/example.com/next/web/core/lib/Drupal/Core/Theme/ThemeManager.php(261): call_user_func_array()
    #7 /var/www/vhosts/example.com/next/web/core/lib/Drupal/Core/Render/Renderer.php(480): Drupal\Core\Theme\ThemeManager->render()
    #8 /var/www/vhosts/example.com/next/web/core/lib/Drupal/Core/Render/Renderer.php(240): Drupal\Core\Render\Renderer->doRender()
    #9 /var/www/vhosts/example.com/next/web/core/lib/Drupal/Core/Template/TwigExtension.php(475): Drupal\Core\Render\Renderer->render()
    #10 /var/www/vhosts/example.com/next/web/sites/default/files/php/twig/6612f4ef02f3b_html.html.twig_9uCaNv1sqJUiW275-R4GANNTi/pXJpCBI3eHNBnpm4SxaKRihIcgknDOqagyMpv-1CzUs.php(107): Drupal\Core\Template\TwigExtension->escapeFilter()
    #11 /var/www/vhosts/example.com/next/vendor/twig/twig/src/Template.php(394): __TwigTemplate_8256acb1f8fa15d82cdbf8ae5d716141->doDisplay()
    #12 /var/www/vhosts/example.com/next/vendor/twig/twig/src/Template.php(367): Twig\Template->displayWithErrorHandling()
    #13 /var/www/vhosts/example.com/next/vendor/twig/twig/src/Template.php(379): Twig\Template->display()
    #14 /var/www/vhosts/example.com/next/vendor/twig/twig/src/TemplateWrapper.php(38): Twig\Template->render()
    #15 /var/www/vhosts/example.com/next/web/core/themes/engines/twig/twig.engine(39): Twig\TemplateWrapper->render()
    #16 /var/www/vhosts/example.com/next/web/core/lib/Drupal/Core/Theme/ThemeManager.php(348): twig_render_template()
    #17 /var/www/vhosts/example.com/next/web/core/lib/Drupal/Core/Render/Renderer.php(480): Drupal\Core\Theme\ThemeManager->render()
    #18 /var/www/vhosts/example.com/next/web/core/lib/Drupal/Core/Render/Renderer.php(240): Drupal\Core\Render\Renderer->doRender()
    #19 /var/www/vhosts/example.com/next/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(158): Drupal\Core\Render\Renderer->render()
    #20 /var/www/vhosts/example.com/next/web/core/lib/Drupal/Core/Render/Renderer.php(627): Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}()
    #21 /var/www/vhosts/example.com/next/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(153): Drupal\Core\Render\Renderer->executeInRenderContext()
    #22 /var/www/vhosts/example.com/next/web/core/lib/Drupal/Core/EventSubscriber/MainContentViewSubscriber.php(90): Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse()
    #23 [internal function]: Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray()
    #24 /var/www/vhosts/example.com/next/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(111): call_user_func()
    #25 /var/www/vhosts/example.com/next/vendor/symfony/http-kernel/HttpKernel.php(186): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch()
    #26 /var/www/vhosts/example.com/next/vendor/symfony/http-kernel/HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw()
    #27 /var/www/vhosts/example.com/next/web/core/lib/Drupal/Core/StackMiddleware/Session.php(58): Symfony\Component\HttpKernel\HttpKernel->handle()
    #28 /var/www/vhosts/example.com/next/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle()
    #29 /var/www/vhosts/example.com/next/web/core/lib/Drupal/Core/StackMiddleware/ContentLength.php(28): Drupal\Core\StackMiddleware\KernelPreHandle->handle()
    #30 /var/www/vhosts/example.com/next/web/core/modules/big_pipe/src/StackMiddleware/ContentLength.php(32): Drupal\Core\StackMiddleware\ContentLength->handle()
    #31 /var/www/vhosts/example.com/next/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\big_pipe\StackMiddleware\ContentLength->handle()
    #32 /var/www/vhosts/example.com/next/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass()
    #33 /var/www/vhosts/example.com/next/web/core/modules/ban/src/BanMiddleware.php(50): Drupal\page_cache\StackMiddleware\PageCache->handle()
    #34 /var/www/vhosts/example.com/next/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\ban\BanMiddleware->handle()
    #35 /var/www/vhosts/example.com/next/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle()
    #36 /var/www/vhosts/example.com/next/web/core/lib/Drupal/Core/StackMiddleware/AjaxPageState.php(36): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle()
    #37 /var/www/vhosts/example.com/next/web/core/lib/Drupal/Core/StackMiddleware/StackedHttpKernel.php(51): Drupal\Core\StackMiddleware\AjaxPageState->handle()
    #38 /var/www/vhosts/example.com/next/web/core/lib/Drupal/Core/DrupalKernel.php(704): Drupal\Core\StackMiddleware\StackedHttpKernel->handle()
    #39 /var/www/vhosts/example.com/next/web/index.php(19): Drupal\Core\DrupalKernel->handle()
    #40 {main}

  • Automatically closed - issue fixed for 2 weeks with no activity.

Production build 0.71.5 2024