Update for Drupal 10

Created on 24 May 2024, 7 months ago
Updated 14 June 2024, 6 months ago

Problem/Motivation

I see this module is essentially the end result of the Acquia module tutorial. Recently did the tutorial, so thought I'd try updating this module to Drupal 10 support. Looks like a good way to practice module contribution.

Steps to reproduce

Eval module `.info.yml` file. Observe Drupal 8 support.

Install module in Drupal 10 environment. Observe it doesn't chooch.

Proposed resolution

Update module `.info.yml` file to Drupal 10.

Remaining tasks

Attempt to install, find potential bugs in code and fix to support Drupal 10.

User interface changes

NA

API changes

NA

Data model changes

Maybe?

📌 Task
Status

Fixed

Version

1.0

Component

Code

Created by

🇺🇸United States axb

Live updates comments and jobs are added and updated live.
  • Novice

    It would make a good project for someone who is new to the Drupal contribution process. It's preferred over Newbie.

Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @axb
  • 🇺🇸United States axb

    Created an issue fork, cloning to my development machine to try updating the code.

  • 🇺🇸United States axb

    First error, as expected:

    The website encountered an unexpected error. Try again later.
    
    Drupal\Core\Extension\InfoParserException: The 'core_version_requirement' key must be present in modules/rsvplist-3449703/rsvplist.info.yml in Drupal\Core\Extension\InfoParserDynamic->parse() (line 67 of core/lib/Drupal/Core/Extension/InfoParserDynamic.php).
    
  • 🇺🇸United States axb

    Module installed and configured fine after adjusting `rsvplist.info.yml` to core_version_requirement: ^10.

    Not surprised the next issue shows up when testing the RSVP Form on submit. Firing up Xdebug:

    The website encountered an unexpected error. Try again later.
    
    Error: Call to undefined function Drupal\rsvplist\Form\db_insert() in Drupal\rsvplist\Form\RSVPForm->submitForm() (line 83 of modules/rsvplist-3449703/src/Form/RSVPForm.php).
    call_user_func_array() (Line: 129)
    Drupal\Core\Form\FormSubmitter->executeSubmitHandlers() (Line: 67)
    Drupal\Core\Form\FormSubmitter->doSubmitForm() (Line: 597)
    Drupal\Core\Form\FormBuilder->processForm() (Line: 325)
    Drupal\Core\Form\FormBuilder->buildForm() (Line: 224)
    Drupal\Core\Form\FormBuilder->getForm() (Line: 25)
    Drupal\rsvplist\Plugin\Block\RSVPBlock->build() (Line: 171)
    Drupal\block\BlockViewBuilder::preRender()
    call_user_func_array() (Line: 111)
    Drupal\Core\Render\Renderer->doTrustedCallback() (Line: 859)
    Drupal\Core\Render\Renderer->doCallback() (Line: 421)
    Drupal\Core\Render\Renderer->doRender() (Line: 493)
    Drupal\Core\Render\Renderer->doRender() (Line: 240)
    Drupal\Core\Render\Renderer->render() (Line: 475)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 149)
    __TwigTemplate_79a18381ad3382211b8ce6c6c54a4a7d->doDisplay() (Line: 394)
    Twig\Template->displayWithErrorHandling() (Line: 367)
    Twig\Template->display() (Line: 379)
    Twig\Template->render() (Line: 38)
    Twig\TemplateWrapper->render() (Line: 39)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 480)
    Drupal\Core\Render\Renderer->doRender() (Line: 240)
    Drupal\Core\Render\Renderer->render() (Line: 475)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 93)
    __TwigTemplate_71ba187603886f286a07b876dfe22b76->doDisplay() (Line: 394)
    Twig\Template->displayWithErrorHandling() (Line: 367)
    Twig\Template->display() (Line: 379)
    Twig\Template->render() (Line: 38)
    Twig\TemplateWrapper->render() (Line: 39)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 480)
    Drupal\Core\Render\Renderer->doRender() (Line: 240)
    Drupal\Core\Render\Renderer->render() (Line: 158)
    Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 627)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 153)
    Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90)
    Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray()
    call_user_func() (Line: 111)
    Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (Line: 186)
    Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76)
    Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 58)
    Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
    Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28)
    Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32)
    Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 106)
    Drupal\page_cache\StackMiddleware\PageCache->pass() (Line: 85)
    Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48)
    Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
    Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36)
    Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51)
    Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 704)
    Drupal\Core\DrupalKernel->handle() (Line: 19)
    
  • 🇺🇸United States axb

    After updating the submitForm() function to be compatible with Drupal 10, the next issue is at /admin/reports/rsvplist:

    The website encountered an unexpected error. Try again later.
    
    TypeError: array_map(): Argument #1 ($callback) must be a valid callback or null, class "Drupal\Component\Utility\SafeMarkup" not found in array_map() (line 57 of modules/rsvplist-3449703/src/Controller/ReportController.php).
    Drupal\rsvplist\Controller\ReportController->report()
    call_user_func_array() (Line: 123)
    Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 627)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 121)
    Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext() (Line: 97)
    Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 181)
    Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76)
    Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 58)
    Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
    Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28)
    Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32)
    Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 106)
    Drupal\page_cache\StackMiddleware\PageCache->pass() (Line: 85)
    Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48)
    Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
    Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36)
    Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51)
    Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 704)
    Drupal\Core\DrupalKernel->handle() (Line: 19)
    
  • Merge request !1Issue #3449703 Support Drupal 10 → (Merged) created by axb
  • Status changed to Needs review 7 months ago
  • 🇺🇸United States axb

    The changes I made were the minimum possible to support Drupal 10.

  • Status changed to RTBC 7 months ago
  • 🇵🇭Philippines roberttabigue

    Hi @alexb7217,

    I enabled the RSVP List module against 1.0.x-dev on my Drupal 10 site, tested all the functionalities, and confirmed it works without getting any of the errors mentioned above.

    Please see the attachments for reference.

    I'm marking this now to 'RTBC'.

    Thank you.

  • Status changed to Fixed 7 months ago
  • 🇺🇸United States axb

    Fixed.

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

Production build 0.71.5 2024