- 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/ckeditor44.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
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.
- 🇨🇦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.83are 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