Drupal 11 preparedness

Created on 7 August 2024, 6 months ago

Problem/Motivation

Drupal 11 is out.
jQuery 3 is replaced with jQuery 4.

Bootstrap 3.4.x is currently not compatible with jQuery 4.

Option going forward is to fork twbs/bootstrap and upgrade it to support jQuery 4 then tag a new release of bootstrap and co-ordinate this with the wet-boew folks so that we get a jQuery 4 compatible version of wet-boew.

#3428283-17: Automated Drupal 11 compatibility fixes for bootstrap

Proposed resolution

See issue summary

Remaining tasks

See issue summary

User interface changes

TBD

API changes

Many

Data model changes

TBD

🌱 Plan
Status

Active

Version

5.2

Component

Code

Created by

🇨🇦Canada joseph.olstad

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

Comments & Activities

  • Issue created by @joseph.olstad
  • 🇨🇦Canada joseph.olstad

    Working on a plan to fork bootstrap 3.4.x and provide a jQuery 4 compatible version.

  • 🇨🇦Canada joseph.olstad

    I've got bootstrap 3 functioning on Drupal 11.0.3

    Instructions and illustrations here:

    #3428283-38: Automated Drupal 11 compatibility fixes for bootstrap

    Next step is to make it work with wet-boew.

    This might eventually require forking wet-boew just as I have forked bootstrap.

  • 🇨🇦Canada Liam Morland Ontario, CA 🇨🇦

    It would be nice to be able to run upgrade_status. I tried to do that in #3472183: Enable GitLab CI automated testing but if you look at the pipelines in the merge request, you can see that it does not run properly.

  • 🇨🇦Canada smulvih2 Canada 🍁

    I think we should consider removing CKE4 from our D11 upgrade. I'm noticing some funny JS console errors now, ckeditor.js is trying to load two files that don't exist (config.js, styles.js). This doesn't seem to impact functionality. I'm not able to find an issue for this on the drupal/ckeditor issue queue , but it's also not a supported module anymore.

    The latest release of drupal/ckeditor is 1.0.2, and it loads ckeditor/ckeditor4 4.18.0. ckeditor/ckeditor4 has an XSS vulnerability for < 4.24.0-lts. If your site doesn't expose an editor to the public then it's probably not as big of a risk. See related issue from drupal/ckeditor talking about this issue in more detail.

  • Assigned to joseph.olstad
  • 🇨🇦Canada joseph.olstad
     ╰❯ $ drush upgrade_status:analyze wxt_library
     [notice] Processing /var/www/d11/web/modules/contrib/wxt_library.
    
    ================================================================================
    WxT Library,  8.x-8.3
    Scanned on mer 13/11/2024 - 17:48
    
    FILE: web/modules/contrib/wxt_library/wxt_library.info.yml
    
    STATUS         LINE                           MESSAGE                           
    --------------------------------------------------------------------------------
    Check manually 4    Value of core_version_requirement: ^9 || ^10 is not         
                        compatible with the next major version of Drupal core. See  
                        https://drupal.org/node/3070687.                            
    --------------------------------------------------------------------------------
    
    FILE: web/modules/contrib/wxt_library/composer.json
    
    STATUS         LINE                           MESSAGE                           
    --------------------------------------------------------------------------------
    Check manually 1    The drupal/core requirement is not compatible with the next 
                        major version of Drupal. Either remove it or update it to be
                        compatible. See                                             
                        https://www.drupal.org/docs/develop/using-composer/add-a-com
                        poserjson-file#core-compatibility.                          
    --------------------------------------------------------------------------------
    
    

    now for wxt_bootstrap:

     ╰❯ $ vendor/drush/drush/drush upgrade_status:analyze wxt_bootstrap
     [notice] Processing /var/www/d11/web/themes/contrib/wxt_bootstrap.
    
    ================================================================================
    WxT Bootstrap, --
    Scanned on mer 13/11/2024 - 17:51
    
    FILE: web//var/www/d11/vendor/symfony/deprecation-contracts/function.php
    
    STATUS         LINE                           MESSAGE                           
    --------------------------------------------------------------------------------
    Check manually 25   Since twig/twig 3.9: Using the internal                     
                        "twig_escape_filter_is_safe" function is deprecated.        
    --------------------------------------------------------------------------------
    
    FILE:
    web/themes/contrib/wxt_bootstrap/templates/block/block--block-content--search.ht
    ml.twig
    
    STATUS         LINE                           MESSAGE                           
    --------------------------------------------------------------------------------
    Check manually 72   Twig template                                               
                        themes/contrib/wxt_bootstrap/templates/block/block--block-co
                        ntent--search.html.twig contains a syntax error and cannot  
                        be parsed.                                                  
    --------------------------------------------------------------------------------
    
    FILE: web/themes/contrib/wxt_bootstrap/templates/file/file-link.html.twig
    
    STATUS         LINE                           MESSAGE                           
    --------------------------------------------------------------------------------
    Ignore         18   Since twig/twig 3.12: Twig Filter "spaceless" is deprecated.
                        See https://drupal.org/node/3071078.                        
    --------------------------------------------------------------------------------
    
    FILE:
    web/themes/contrib/wxt_bootstrap/templates/input/input--button--split.html.twig
    
    STATUS         LINE                           MESSAGE                           
    --------------------------------------------------------------------------------
    Ignore         26   Since twig/twig 3.12: Twig Filter "spaceless" is deprecated.
                        See https://drupal.org/node/3071078.                        
    --------------------------------------------------------------------------------
    
    FILE:
    web/themes/contrib/wxt_bootstrap/templates/input/input--button--submit.html.twig
    
    STATUS         LINE                           MESSAGE                           
    --------------------------------------------------------------------------------
    Ignore         25   Since twig/twig 3.12: Twig Filter "spaceless" is deprecated.
                        See https://drupal.org/node/3071078.                        
    --------------------------------------------------------------------------------
    
    FILE: web/themes/contrib/wxt_bootstrap/templates/input/input--button.html.twig
    
    STATUS         LINE                           MESSAGE                           
    --------------------------------------------------------------------------------
    Ignore         25   Since twig/twig 3.12: Twig Filter "spaceless" is deprecated.
                        See https://drupal.org/node/3071078.                        
    --------------------------------------------------------------------------------
    
    FILE:
    web/themes/contrib/wxt_bootstrap/templates/input/input--form-control.html.twig
    
    STATUS         LINE                           MESSAGE                           
    --------------------------------------------------------------------------------
    Ignore         24   Since twig/twig 3.12: Twig Filter "spaceless" is deprecated.
                        See https://drupal.org/node/3071078.                        
    --------------------------------------------------------------------------------
    
    FILE: web/themes/contrib/wxt_bootstrap/templates/input/input.html.twig
    
    STATUS         LINE                           MESSAGE                           
    --------------------------------------------------------------------------------
    Ignore         22   Since twig/twig 3.12: Twig Filter "spaceless" is deprecated.
                        See https://drupal.org/node/3071078.                        
    --------------------------------------------------------------------------------
    
    FILE: web/themes/contrib/wxt_bootstrap/templates/input/select.html.twig
    
    STATUS         LINE                           MESSAGE                           
    --------------------------------------------------------------------------------
    Ignore         18   Since twig/twig 3.12: Twig Filter "spaceless" is deprecated.
                        See https://drupal.org/node/3071078.                        
    --------------------------------------------------------------------------------
    
    FILE: web/themes/contrib/wxt_bootstrap/templates/system/page.html.twig
    
    STATUS         LINE                           MESSAGE                           
    --------------------------------------------------------------------------------
    Check manually 138  Twig template                                               
                        themes/contrib/wxt_bootstrap/templates/system/page.html.twig
                        contains a syntax error and cannot be parsed.               
    --------------------------------------------------------------------------------
    
    FILE: web/themes/contrib/wxt_bootstrap/wxt_bootstrap.info.yml
    
    STATUS         LINE                           MESSAGE                           
    --------------------------------------------------------------------------------
    Check manually 4    Value of core_version_requirement: ^9 || ^10 is not         
                        compatible with the next major version of Drupal core. See  
                        https://drupal.org/node/3070687.                            
    --------------------------------------------------------------------------------
    
    FILE: web/themes/contrib/wxt_bootstrap/composer.json
    
    STATUS         LINE                           MESSAGE                           
    --------------------------------------------------------------------------------
    Check manually 1    The drupal/core requirement is not compatible with the next 
                        major version of Drupal. Either remove it or update it to be
                        compatible. See                                             
                        https://www.drupal.org/docs/develop/using-composer/add-a-com
                        poserjson-file#core-compatibility.                          
    --------------------------------------------------------------------------------
    
    
    
  • 🇨🇦Canada joseph.olstad

    First the good news!

    I was able to frankenstein a build of Drupal 11 that included the wet-boew libraries
    upgraded wxt_bootstrap and wxt_library for Drupal 11 compatibility, what is fairly impressive is that things are mostly working in this state.

    I have some very lightly tested patches for wxt_library / wxt_bootstrap , there are likely regressions that I haven't caught yet.

    The somewhat expected challenge remaining is the fact that wet-boew includes Modernizr and has some jQuery v4 compatibility challenges to work out. With that said, it's all looking fairly good with the upgraded bootstrap library.

    The version of bootstrap being used is straight off the D11 merge request commit following the instructions mentioned here:
    📌 Automated Drupal 11 compatibility fixes for bootstrap Needs review

  • 🇨🇦Canada joseph.olstad

    Screenshot of this progress:

  • 🇨🇦Canada joseph.olstad

    I've forked wet-boew and working on jQuery 4 compatibility fixes, I'll be testing local builds before pushing it up for review to the wet-boew folks.

  • 🇨🇦Canada smulvih2 Canada 🍁

    Great news @joseph, this is a major piece to the D11 upgrade!

  • 🇨🇦Canada joseph.olstad

    More good news, I pushed a PR up to wet-boew that resolves the jQuery 4 compatibility issues.

    The PR only resolves the jQuery 4 compatibility issues noticed when using Drupal 11 / wxt_library /wxt_bootstrap as described above, but also has passed the wet-boew lint and automated testing.

    Screenshots in the PR of before/after.

    https://github.com/wet-boew/wet-boew/pull/9831

  • 🇨🇦Canada joseph.olstad

    @smulvih2, we're basically at the point now where we need a wxt 6 branch and we need to think about pushing up/reviewing the wxt_library and wxt_bootstrap related changes, review and test those and then get started on the wxt custom module upgrades from 10 to 11.

    Meanwhile, I'll continue working towards a tagged release of the https://drupal.org/project/bootstrap build which is fairly close as it's in 8.x-3.x dev right now.

  • 🇨🇦Canada joseph.olstad

    The wet-boew PR for jQuery 4 compatibility has been pre-approved by Garneauma and is undergoing thorough testing which I suspect will pass.

  • 🇨🇦Canada joseph.olstad

    w00t!

    WET-BOEW merged our pull request.

    The next release of WET-BOEW will be compatible with jQuery 4 and thus compatible with Drupal 11!

    https://github.com/wet-boew/wet-boew/commits/master/

    Meanwhile over 1200 new installs of bootstrap 3.33 which includes the Drupal 11 in only 5 days of statistics being collected. Zero complaints from any of those.

  • 🇨🇦Canada smulvih2 Canada 🍁

    Awesome, this gets us one step closer to to D11!

  • 🇨🇦Canada joseph.olstad

    @smulvih2

    FYI, there's a new module that replaces embed_block

    https://www.drupal.org/project/ckeditor_insert_blocks

    I believe you had done some work on this.

    The embed_block maintainer has not taken much action for a few years now and ckeditor_insert_blocks is designed for use with ckeditor5

  • 🇨🇦Canada joseph.olstad

    For the D11 upgrade, it will have to target 11.1 as this is the expected upgrade path from 10.4

    Today in the #d11readiness slack channel , been discussing the fontawesome D11 upgrade with one of their maintainers. Expect it to be ready this week, possibly tonight.

    Let's take inventory of all the modules for wxt , hopefully everything else is ready. Some maintainers are forced a contrib major version change but often it's really minor.

  • 🇨🇦Canada joseph.olstad

    wet-boew v4.0.83 was tagged and released and is compatible with jQuery 4 which means it is now compatible with Drupal 11.

    bootstrap 3.34 (over 5000 installs after only a few weeks)
    with
    wet-boew v4.0.83

    are compatible with Drupal 10.4.0 and also Drupal 11.1.0+

    Meanwhile, views_bootstrap has a dev release available which is compatible with Drupal 11. I will ping the maintainer to ask for a tagged release. With that said, we can start with this: https://www.drupal.org/project/views_bootstrap/releases/5.3.x-dev

  • 🇨🇦Canada smulvih2 Canada 🍁

    @joseph I'm working on WxT 6.1.x now and using your drupal/bootstrap ^5.0, great work on this!

    Running into another issue, with views_bootstrap . To keep on Bootstrap 3, we need to use the 5.3.x branch, which doesn't support D11 (yet). Could use your help with this, especially since you are a maintainer for drupal/bootstrap.

  • 🇨🇦Canada joseph.olstad

    @smulvih2, ah, no, bootstrap 5 is not compatible with bootstrap 3, use drupal/bootstrap: ^3.34

    The maintainer from Bario managed to take over the 5.x branch which has nothing to do with the version we need.

    This is the release we need:

    https://www.drupal.org/project/bootstrap/releases/8.x-3.34

    as for views_bootstrap

    use the dev release, it is Drupal 11 compatible:

    composer require 'drupal/views_bootstrap:5.3.x-dev@dev'

  • 🇨🇦Canada joseph.olstad

    @smulvih2 , reminder if you have not done so already. For Drupal 11 compatibility please make sure to apply the patch to wxt_library

    https://www.drupal.org/files/issues/2024-11-13/wxt_library-3466676-14.patch

    and the patch to wxt_bootstrap

    https://www.drupal.org/files/issues/2024-11-13/wxt_bootstrap-3466676-14....

  • 🇨🇦Canada smulvih2 Canada 🍁

    Here is the list of all module in WxT that do not have a D11 compatible version, even in their respective dev branches:

    • drupal/button_link
    • drupal/embed
    • drupal/entity_block
    • drupal/entity_browser_block
    • drupal/entity_embed
    • drupal/fontawesome
    • drupal/layout_builder_st
    • drupal/layout_library
    • drupal/linkit
    • drupal/toc_api

    Proposing to remove the following modules:

    • drupal/webform_migrate (not being used by other modules, should be required in root composer file if needed on a project)
    • drupal/block_content_permissions (Apparently this module's functionality is now in core, as per https://www.drupal.org/project/block_content_permissions/issues/3428999#comment-15829451 📌 Automated Drupal 11 compatibility fixes for block_content_permissions Needs review )
    • Any CKE4-specific module(s) (TBD)
  • 🇨🇦Canada smulvih2 Canada 🍁

    Was able to get WxT composer update working with core 11.1.0. This includes updating all dependencies and replacing/removing patches as needed. Please find below a snapshot of my local composer.json overrides that were needed in order to get this working. These changes have been rolled into the 6.1.x branch so other can install. Next will be fixing some errors in our custom module space.

    Local composer.json changes:

    "patches": {
                "drupal/page_manager": {
                    "Enter drupal/page_manager patch #2752227 description here": "https://www.drupal.org/files/issues/2024-08-22/2752227-50.patch"
                },
                "drupal/bootstrap_layouts": {
                    "3481450": "https://www.drupal.org/files/issues/2025-01-06/3481450-12.patch"
                },
                "drupal/menu_breadcrumb": {
                    "3485520": "https://www.drupal.org/files/issues/2025-01-06/3485520-8.patch"
                }
            },
            "patches-ignore": {
                "drupalwxt/wxt": {
                    "drupal/core": {
                        "3177182 - Book title in breadcrumb not translated": "https://www.drupal.org/files/issues/2020-10-20/book-breadcrumb_title_xlate-3177182-3.patch",
                        "Enter drupal/core patch #2546212 description here": "https://www.drupal.org/files/issues/2020-11-07/2546212-158.patch",
                        "Enter drupal/core patch #2938129 description here": "https://www.drupal.org/files/issues/2024-01-21/drupal-PageTitle_block-2938129-42.patch",
                        "Enter drupal/core patch #3173808 description here": "https://www.drupal.org/files/issues/2024-01-14/3173808-26.patch",
                        "Enter drupal/core patch #3207813 description here": "https://www.drupal.org/files/issues/2021-04-08/3207813-2.patch",
                        "Enter drupal/core patch #3236799 description here": "https://www.drupal.org/files/issues/2021-12-22/drupal-core-9.2.x-li-role-separator-tag-linkGenerator-3236799-11.patch",
                        "3150294 - New translations for moderated nodes are not created in the initial workflow state": "https://www.drupal.org/files/issues/2024-01-03/3150294-128.patch"
                    },
                    "drupal/bootstrap": {
                        "3249470 - Error generated when importing translation": "https://www.drupal.org/files/issues/2021-11-17/3249470-3.patch"
                    },
                    "drupal/page_manager": {
                        "Enter drupal/page_manager patch #2710169 description here": "https://www.drupal.org/files/issues/page_manager-block-css-attributes-9.patch",
                        "Enter drupal/page_manager patch #2752227 description here": "https://www.drupal.org/files/issues/2021-04-14/2752227-47.patch"
                    },
                    "drupal/linkit": {
                        "Enter drupal/linkit patch #3457958 description here": "https://www.drupal.org/files/issues/2024-06-28/linkit--testing-static-methods--3457958.patch",
                        "Detect and strip base URL from pasted URLs to increase matching hits": "https://www.drupal.org/files/issues/2023-11-02/linkit6x-3078075-77.patch"
                    }
                }
            }
    
  • 🇨🇦Canada smulvih2 Canada 🍁

    Fixed one issue with the wxt_ext_layout module and now I have successfully upgraded a vanilla WxT 5.3.x to 6.1.x on core 11.1.0. This is just the first iteration to get the site functional, although there are a few issues I notice immediately, which I will work on next. All changes pushed to drupalwxt/wxt 6.1.x.

  • 🇨🇦Canada smulvih2 Canada 🍁

    My MR for drupal/entity_block was just merged and now there is a D11 version available, 2.0.x. Scratching this one off the list, only 9 remaining.

  • 🇨🇦Canada smulvih2 Canada 🍁

    Will need to prepare 5.4.x to unsinstall the following modules:

    • block_content_permissions
    • ckeditor
  • 🇨🇦Canada smulvih2 Canada 🍁

    Updated wet-boew/wet-boew to 4.0.83 to get jQuery 4 compatibility, now all JS console errors on forward-facing GCWeb theme are gone, everything functions as expected!

    Specifically we needed this PR from @joseph - https://github.com/wet-boew/wet-boew/pull/9831

  • 🇨🇦Canada joseph.olstad

    Hmm, ok, time to make another PR to fix that. Ah, it's a dependency

    js/deps (deps=dependency)

    still will need a PR.

  • 🇨🇦Canada smulvih2 Canada 🍁

    I created a new branch for docker-scaffold, 11.1.x, that uses drupal:11.1.1-php8.3-fpm-alpine3.21 as a base image. Just tested this branch locally and it works well on a site upgraded from docker-scaffold 10.4.x.

  • 🇨🇦Canada joseph.olstad

    Logged an issue upstream in wet-boew/wet-boew

    Hope to fix soon

    https://github.com/wet-boew/wet-boew/issues/9846

  • 🇨🇦Canada joseph.olstad

    Should be an easy fix to this:
    Add this Javascript, ensure it loads AFTER jQuery and just before wet-boew.js

    if (typeof Zepto !== 'undefined' && typeof Zepto.isArray !== 'function') {
        Zepto.isArray = Array.isArray;
    }
    
  • Issue was unassigned.
  • 🇨🇦Canada smulvih2 Canada 🍁

    Got WxT 6.1.x installing from scratch! Will be testing the migrations, theme, and other functionality next, but looking good so far.

  • 🇨🇦Canada joseph.olstad

    Testing it out, needs a couple patches:

  • 🇨🇦Canada joseph.olstad

    Another patch

  • 🇨🇦Canada joseph.olstad

    patch 42a fixes allowing turning on and off css / js aggregation and cache settings.
    patch 42b allows changing the wxt_library theme
    patch 43 resolves a php warning/error message that is thrown by the report a problem form

  • 🇨🇦Canada smulvih2 Canada 🍁

    @joseph thanks for the patches. Patch 42b is not needed, I made this change earlier today - https://github.com/drupalwxt/wxt_library/commit/c4dce84af54132cf62c4f21a5a3db85d3f80083c

    I'll include patches 42a and 43 next, thanks for this!

  • 🇨🇦Canada joseph.olstad

    drupaloverride/entity_browser_block

    can be replaced with

    drupal/entity_browser_block:'^2.0'

  • 🇨🇦Canada joseph.olstad

    Replace one of those patches.

  • 🇨🇦Canada joseph.olstad

    and this patch for page_manager has to go on top of our other page_manager patches, put it at the end.

  • 🇨🇦Canada smulvih2 Canada 🍁

    @joseph I tested and merged patch 42a, I can confirm it fixes the issue with the performance page. Patch 42b was already fixed the other day. For patch 43, although it did fix the warning/error, the success message for that webform was not returning. I had to use an AjaxResponse() to get this work, and now the success message is displayed after the "Yes" button is clicked on the webform "did you find...". I also confirmed that the "Yes" is being logged to the webform submission as expected. This has all been resolved and pushed to 6.1.x.

    Will look at the page_manager issue now, and why it's preventing us from logging in. Thanks!

  • 🇨🇦Canada smulvih2 Canada 🍁

    @joseph the page_manager issue has been resolved, and is now fixed in 6.1.x.

  • 🇨🇦Canada joseph.olstad

    Cool, great work. I'll update my build soon and check this out. The Ajax fix sounds perfect thanks

    Hiding the related patches here accordingly.

  • 🇨🇦Canada smulvih2 Canada 🍁

    Running the builds in GitHub to get them passing before releasing an alpha version. There were some changes to the docker-scaffold needed, as well as some PHPCS fixes.

    Both builds (mysql, psql) are still failing.

    For psql, D11 requires >=16:

    * The database server version /12.22/ is less than the minimum required
    version /16/.

    For mysql, it can't find a Kernel test file:

    Test file "/var/www/html/core/./tests/TestSuites/KernelTestSuite.php" not found
    make: *** [docker/Makefile:137: phpunit] Error 2

    Will continue looking into these issues tomorrow.

  • 🇨🇦Canada smulvih2 Canada 🍁

    Upgraded to psql 16, and fixed the issue with the mysql test from #52. Now running into these phpunit test errors:

    There were 2 PHPUnit errors:

    1) Drupal\Tests\Composer\Generator\BuilderTest::testBuilder
    The data provider specified for Drupal\Tests\Composer\Generator\BuilderTest::testBuilder is invalid
    Class "Drupal\Composer\Composer" not found

    /var/www/html/core/tests/Drupal/Tests/Composer/Generator/BuilderTest.php:91

    2) Drupal\Tests\ComposerIntegrationTest::testComposerTilde
    The data provider specified for Drupal\Tests\ComposerIntegrationTest::testComposerTilde is invalid
    The "/var/www/html/composer" directory does not exist.

    /var/www/html/core/tests/Drupal/Tests/ComposerIntegrationTest.php:55

    Seems to be same issues as the related ticket.

  • 🇨🇦Canada smulvih2 Canada 🍁

    Think I found the issue with the failing phpunit tests. For some reason, composer is not bringing in the /composer directory from core.

  • 🇨🇦Canada smulvih2 Canada 🍁

    Ok figured out the issue with the tests, a bit confusing.

    I thought this was drupal/core: https://git.drupalcode.org/project/drupal/-/tree/11.1.x?ref_type=heads

    But the composer.json in the root of this repo is drupal/drupal. There is another composer.json file in /core, and that's drupal/core. So when we are requiring drupal/core-recommended, that requires drupal/core, and so the otehr files/directories in the root of that repo are not included.

    To fix the issue, I added drupal/drupal to require-dev. This puts drupal/drupal in the vendor directory. I then use a composer post install/update script to move vendor/drupal/drupal/composer/* into html/composer.

    Now the Drupal\Tests\Composer\Generator\BuilderTest class, which requires the /composer directory to be in place, can access the proper drupal verison of composer with the Composer::drupalVersionBranch() method, which is obviously drupal specific.

    Now both mysql and psql tests are passing in GitHub.

  • 🇨🇦Canada joseph.olstad

    ok wow, kinda weird but ya great sleuthing!

  • 🇨🇦Canada smulvih2 Canada 🍁

    Got all tests passing in GitHub and now also all tests passing with GitLab CI. Pushed out a dev release, 6.1.x-dev. Still a few known issues to resolve, and more testing (fresh install and upgrade from 5.4.x), but wanted to get a dev release out so people can start testing.

    Known issues / Remaining tasks:

    • Using [toc] token and saving a page results in WSOD (issue being worked on by @joseph)
    • GitHub actions like changelog.yml and tag.yml are failing. (will need @sylus for input here)
    • drupalwxt/docker-scaffold and drupalwxt/site-wxt have been updated, but still need to look at drupalwxt/wxt-project, drupalwxt/helm-drupal, and drupalwxt/terraform-kubernetes-drupalwxt (will need @sylus for input here)
    • Need full regression of all functionality (creating nodes, CKE5 plugins, WxT migrated content, themes, etc...)
    • Removal of drupaloverrides in composer.json as remaining modules get stable releases for D11
  • 🇨🇦Canada joseph.olstad

    Ok, a bit of a minor issue for me, as I can do workarounds, but we could smoothen this part out.

    In order to upgrade to WxT 6.1.x the following modules must be uninstalled before going into D11

    • ckeditor4_codemirror (while this module IS Drupal 11 compatible, it has a dependency on the "ckeditor" module which is marked obsolete/unsupported.

    Here's what happens when you try to uninstall it in WxT 5.4.x:

    do you also want to uninstall wxt_ext_editor? So there's a dependency set in wxt_ext_editor, which is fine for 5.4.x but in 6.1.x there's no ckeditor4_codemirror module available. It could be faked out with a stub module like drush gen module. just to get an info.yml for it to be able to uninstall it. I'll do this myself but we could make this easy by including this in the wxt/custom/modules

    core modules removed from D11

    • tour
    • action

    I'm guessing that the tour and action module could safely be uninstalled in WxT 5.5.x or 5.4.x as I don't think they're actually needed anymore?

  • 🇨🇦Canada joseph.olstad

    codemirror - test to see how this is working.

    This is the library I'm including:

            {
                "type": "package",
                "package": {
                    "name": "cdubz/ckeditor5-source-editing-codemirror",
                    "version": "35.1.0",
                    "type": "drupal-library",
                    "extra": {
                        "installer-name": "ckeditor5-source-editing-codemirror"
                    },
                    "dist": {
                        "url": "https://registry.npmjs.org/@cdubz/ckeditor5-source-editing-codemirror/-/ckeditor5-source-editing-codemirror-35.1.0.tgz",
                        "type": "tar"
                    },
                    "require": {
                        "composer/installers": "*"
                    }
                }
            },
            {
                "type": "package",
                "package": {
                    "name": "codemirror/codemirror",
                    "version": "5.65.8",
                    "type": "drupal-library",
                    "extra": {
                        "installer-name": "codemirror"
                    },
                    "dist": {
                        "url": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.8.tgz",
                        "type": "tar"
                    },
                    "require": {
                        "composer/installers": "*"
                    }
                }
            },

    and then corresponding entries in the require section of the composer.json

  • 🇨🇦Canada joseph.olstad

    @smulvih2,

    reminder, since we're using overrides, the namespace of patches needs to follow suit.

    What I'm doing is this:

                "drupaloverride/layout_builder_st": {
                    "3420063 - Fix getConfig() on null in OverridesSectionStorage": "https://www.drupal.org/files/issues/2024-03-29/layout_builder_st-call_to_a_member_function_getconfig-3420063-26.patch",
                    "3069964 - Argument 1 passed to isTranslation must implement SectionStorageInterface, null given.": "https://www.drupal.org/files/issues/2025-01-02/3069964-null-fix.patch"                 
                },      
                "drupal/layout_builder_st": {
                    "3420063 - Fix getConfig() on null in OverridesSectionStorage": "https://www.drupal.org/files/issues/2024-03-29/layout_builder_st-call_to_a_member_function_getconfig-3420063-26.patch",
                    "3069964 - Argument 1 passed to isTranslation must implement SectionStorageInterface, null given.": "https://www.drupal.org/files/issues/2025-01-02/3069964-null-fix.patch"
                },

    I'm keeping both, since eventually we'll remove the overrides but we need the patches either way (for now).

    This applies to other drupaloverrides modules, we're possibly missing patches for when running 6.1.x.

  • 🇨🇦Canada joseph.olstad

    Found a deprecation issue caused by wet-boew.js

    working on a PR for wet-boew now. I'll test a build first.

    https://github.com/wet-boew/wet-boew/issues/9851

  • 🇨🇦Canada smulvih2 Canada 🍁

    Removed dependencies on block_content_permissions and ckeditor4_codemirror from 5.4.x-dev to prepare for 6.1.x upgrade. This will allow uninstalling the following modules as part of pre-deployment steps for the upgrade:

    Uninstall the following modules (pre-deployment for 6.1.x):

    • block_content_permissions
    • ckeditor4_codemirror
    • ckeditor
  • 🇨🇦Canada smulvih2 Canada 🍁

    Running into some JS errors on a project, and noticed the bootstrap JS files that come with wxt_bootstrap are from v3.3.6 (2015). We should try updating these to the latest 3.4.1 (2019).

  • 🇨🇦Canada joseph.olstad

    @smulvih2 , bootstrap 3.34 requires version 3.4.4 of the library

    you can select this in the cdn provider option by toggling and switching to jsdelivr

  • 🇨🇦Canada smulvih2 Canada 🍁

    Here's one example JS error:

    Uncaught TypeError: $.isFunction is not a function

    This is coming from themes/contrib/wxt_bootstrap/js/bootstrap/tooltip.js. If I look at the latest boostrap v3.4.1, it still uses the ifFunction call. I think this will be an issue with Bootstrap 3 with jQuery4; Bootstrap 3 is not compatible with jQuery 4. Might have to fork Bootstrap 3 to get working with jQuery4, or get wet-boew upgraded to use Bootstrap 4+.

  • 🇨🇦Canada smulvih2 Canada 🍁

    Actually I see that the latest drupal/bootstrap 3.34 has the JS fixes for jQuery4 support, so need to update the JS files in wxt_bootstrap to use these, or remove from wxt_bootstrap and just reference the ones from drupal/bootstrap.

  • 🇨🇦Canada joseph.olstad

    yes bootstrap 3.34 has these fixes and we cannot use twbs/bootstrap 3.4.1 it has to be entreprise7pro/bootstrap 3.4.4 to attain jQuery v4 support. We'll have to sort this out.

  • 🇨🇦Canada joseph.olstad

    Here's the jQuery 4 fixes for the outdated js in wxt_bootstrap

    This brings us up to 3.4.4

  • 🇨🇦Canada smulvih2 Canada 🍁

    @joseph thanks for the patch, this get the jQuery4 fixes into wxt_bootstrap for the local bootstrap files. This has been merged with wxt_bootstrap 11.1.x. I also added GitLab CI for wxt_bootstrap and got all tests passing. Pushed out a dev release, 11.1.x-dev.

  • 🇨🇦Canada joseph.olstad

    I updated the release notes for bootstrap 3.35 , and updated a related support request relating to this.

    The correct configuration for subtheme cdn settings is to leave it to "compiled" and "none". The bootstrap theme settings should be the only decider here due to the need to do an automatic upgrade as Drupal 11 does not support twitter bootstrap, it only supports entreprise7pro bootstrap.

    Instructions are in the release notes https://www.drupal.org/project/bootstrap/releases/8.x-3.35

    The Default install of WxT 6.1.x does not have an issue.

  • 🇨🇦Canada joseph.olstad

    Extensive testing - Discovered something that looks like a wxt bug, might be also in 5.4 but I'm seeing this in 6.1.x

    Step 1) edit or add a user then select a picture for them

    illustration:

    Step 2) Check the browser console ajax exception message

  • 🇨🇦Canada joseph.olstad

    Untested patch, possibly helps with comment #74

  • 🇨🇦Canada joseph.olstad

    Patch #75 leads to something deeper with the file extension validation going on in wxt_ext_media. Here's the related change notice:

    https://www.drupal.org/node/3363700

    The new approach was introduced in version: 10.2.0, however the deprecated approach was removed in 11.0.0.

    So , therefore, bunch of refactoring is needed in wxt_ext_media. See the change notice for more details on how to refactor related wxt_ext_media validation logic. A bit tricky business.

  • 🇨🇦Canada joseph.olstad

    New patch, testing it.

  • 🇨🇦Canada joseph.olstad

    patch 77 is an incomplete refactor, working on it. next one I will test before uploading.

  • 🇨🇦Canada joseph.olstad

    ok new patch, it's not working yet, not sure what the issue is caused by whether it's dropzonejs or an incorrect refactor of wxt_ext_media

    This patch was created as an attempt to follow this change notice : https://www.drupal.org/node/3363700

    It's a work in progress.

  • 🇨🇦Canada joseph.olstad

    Ok another patch, still doesn't fix the issue but gets us closer.

  • 🇨🇦Canada joseph.olstad

    new patch.
    it's better but still not complete.

  • 🇨🇦Canada joseph.olstad

    Ok I've dug deeper into this, my patch is really close.

    With that said, I found out that degov , govcms and vardot also used lightning_media

    They're now using media_bulk_upload.

    There's a MASSIVE merge request for media_bulk_upload to make it Drupal 11 compatible and it is marked RTBC with a lot of work having gone into it.

    https://www.drupal.org/project/media_bulk_upload/issues/3431856 📌 Automated Drupal 11 compatibility fixes for media_bulk_upload Needs review

  • 🇨🇦Canada joseph.olstad

    Ok here's another patch, this one actually behaves much better than 5.4.x which is completely broken btw.

    This patch can be applied to both 5.4.x and 6.1.x

  • 🇨🇦Canada joseph.olstad

    One more patch, this time for wxt_bootstrap. I'll also have to put this into the entreprise7pro/bootstrap build.

  • 🇨🇦Canada joseph.olstad

    is meant for 6.1.x mostly

  • 🇨🇦Canada joseph.olstad

    In addition to the pull requests, there's a bunch of the overrides modules that got releases. Go through those soon.

Production build 0.71.5 2024