Closed (fixed)
Project:
Webform
Version:
6.3.x-dev
Component:
Code
Priority:
Normal
Category:
Feature request
Assigned:
Unassigned
Reporter:
Created:
4 Aug 2024 at 22:53 UTC
Updated:
11 Feb 2025 at 22:00 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #3
vladimirausComment #4
vladimirausBased on Bootstrap theme discussion we need to upgrade to more modern theme like Bootstrap 5.
Comment #5
liam morlandThere should be an issue focussed on updating
webform_bootstrap.Comment #6
vladimiraus@Liam Morland it won't magically appear.
Do you want to create one?
Comment #7
mstrelan commentedMaybe webform_bootstrap can be split off to its own contrib module. It would be nice to have a lean webform core so anything with optional external dependencies can manage them independently.
Comment #8
liam morlandPerhaps there should be a new contrib module called
webform_bootstrap5to handle integration withbootstrap5module. Thenwebform_bootstrapcan be deprecated and will not be made compatible with Drupal 11.Comment #9
vladimirausGood point. Part of the webform?
Or separate module?
Comment #10
liam morlandI think
webform_bootstrap5should be a new contrib project, not part of thewebformproject.Comment #11
chris matthews commentedIf
webform_bootstrap5ends up being a separate contrib module, it might be best to take the "5" off the end of the name/machine name so that it's not only associated with bootstrap 5.Comment #12
liam morlandHow would the transition work if there are two modules called
webform_bootstrap, one withinwebformand the other separate?I was thinking that
webform_bootstrap5would matchbootstrap5module. I don't use Bootstrap myself, so it doesn't matter to me.Comment #13
vladimirausWe can depreicate
webform_bootstrapin 6.3 and remove in 6.4.I can create new module
webform_bootstrap5.Comment #14
liam morlandSounds good. Thank you.
Comment #15
vladimirausInitial release: https://www.drupal.org/project/webform_bootstrap5
@liam morland: can you create 6.4.x branch ?
Comment #16
liam morlandThanks for taking care of that. I don't think we'll be creating any new branches now. What can happen now is marking
webform_bootstrapas deprecated.Comment #17
chris matthews commentedUnrelated to this issue, but will the
webform_bootstrap5contrib module only be compatible with Bootstrap 5 themes? If not, it seems likewebform_bootstrapwould make more sense.Comment #18
liam morlandThe idea is that
webform_bootstrap5will work withbootstrap5module.Comment #19
webdrips commentedHi we have the MR applied locally and on Pantheon. Locally it works fine, but on Pantheon, we get this error when clearing the caches or whatnot (and can't run drush updb for the same reason):
Our plan doesn't include a cache server, so Pantheon seems to think the issue is stemming from Webform, which the error output supports. Not sure if this is related to the patch, Webform in general, PHP 8.3, or what exactly.
Comment #20
liam morlandA good debugging step would be to try to reproduce the issue on Drupal 10 and PHP 8.3.
Comment #22
vladimiraus@chris matthews technically module will be the same.
I just wanted to avoid the namespace clash with
webform_bootstrapComment #25
hswong3i commentedI give merge with https://www.drupal.org/node/3435903 with:
And apply this MR for D11 now with:
Comment #26
liam morlandThe next step is to get tests passing again on Drupal 10. Then we can see what the Drupal 11 failures are and get tests passing there.
Comment #27
nicxvan commentedLet me rebase now that tests are passing on the referenced issue
Comment #28
nicxvan commentedAh Liam beat me to it.
Comment #29
nicxvan commentedLooks like one failure:
Comment #32
liam morlandThe next thing to do is to keep fixing the issues identified by the
update_statustest. The goal should be to get a clean report onupgrade_status(except for the errors aboutcore_version_requirement).Comment #33
nicxvan commentedThere are also a bunch of deprecations that won't get removed until 12.0.0 I imagine those can be left alone too.
For example:
If you agree with ignoring future removals for this update I think the only issues are these:
and these:
The only other messages are core_version_requirement related and some deprecated sub modules: This extension is deprecated. Don't use it.
Comment #34
liam morlandWebform 6.3.x requires Drupal 10.3, so we might as well update everything since none of the changes require a version newer than 10.3. Some of them have already been fixed in 6.3.x.
Comment #35
nicxvan commentedGreat!
In that case I think the job is the best source there are a LOT of changes so I won't copy them here.
https://git.drupalcode.org/project/webform/-/jobs/2729810
Comment #37
acbramley commentedFixed merge conflict and allowed tests to get past composer issues with the ckeditor module.
I think we need to spin out another issue to remove ckeditor support and require ckeditor5 though.
Comment #40
acbramley commentedMany of the upgrade_status messages are just plain wrong, are they not running on HEAD??
Search for
renderPlainin the codebase, it's only ever using our own WebformThemeManager::renderPlain which uses renderInIsolationAll the errors about extending deprecated classes are also wrong...
Comment #41
acbramley commentedFinally got composer (next major) passing - sorry for the noise. Group module has major issues and doesn't seem needed by any tests (from my sleuthing). The issue is it depends on https://www.drupal.org/project/flexible_permissions which depends on https://www.drupal.org/project/variationcache neither of which are D11 compatible and are marked obselete.
Comment #42
acbramley commentedThis should be ready to go!
I've created #3474042: Speed up tests too because waiting 30 minutes for this was a tad painful.
Comment #43
kim.pepperLooks great to me. Should we create followups to fix the linting warnings?
Comment #44
nicxvan commented@mstrelan has a lead on speeding up tests.
Do the rest of the upgrade status issues need to be resolved or are those the ones you mentioned are wrong?
Edited to add: @mstrelan's change cut 25 minutes off the test run time.
Comment #45
nicxvan commentedOk I looked through the changes and they all look pretty straightforward.
I vote RTBC, but I'm leaving it open to answer the question about the upgrade status results.
Comment #46
acbramley commentedThey all look wrong to me, I went through half a dozen and they were all incorrect. I have asked in the gitlab channel if anyone knows why.
I think if there were legit deprecations, they'd be caught and fail tests.
Looks like we've still got some failures anyway...
Comment #47
kim.pepperCreated follow-up #3474074: Fix cspell errors
Comment #48
liam morlandThanks for your work.
This merge request introduces some phpcs issues. That test used to pass.
Deprecated
file_validate()needs to be replaced. There may be other similar changes needed.Instead of a big commit with all the fixes, I would prefer separate commits for each change. For example, a commit that only replaces
file_validate(). I wouldn't mind follow-up issues for individual fixes like that.Comment #49
acbramley commented@hswong3i why did you force push over all of my changes? Please don't do that.
Comment #50
liam morland@acbramley when there is a force-push, it will create a tag pointing to the earlier version, so the work is not lost.
It would probably be best to start by fixing each issue raised by
upgrade_status. Once that is passing (except for thecore_version_requirements), then work any remaining issues.Comment #51
acbramley commented@liam morland right but it's a bit disruptive to lose all progress on a branch and have to force push again.
As explained above, the upgrade_status run seems bugged and is reporting many issues that aren't correct.
I'm first focussing on getting tests to pass as they should catch most of the real issues.
Comment #53
liam morland@linhnm thanks for your commit. Please use separate commits for each change. For example, replacing
file_validate()should be its own commit.Please use dependency injection for any new code. I know there is a lot of use of
\Drupal::currently; let's not add any more.Comment #54
acbramley commentedThat's in procedural code, can't use DI there.
I missed the file_validate() removal in that commit, sorry. But still think it's valid to update validators and that function in a single commit.Bit confused why you'd split up different file validator fixes, they are all consistent. There is no use of file_validate() in the project.
Comment #55
acbramley commentedThe file tests are failing on next major due to
The "webform_file_validate_extensions" plugin does not exist.This validator is added in WebformManagedFileBase. I don't know the background as to why this exists, it only seems to be used to support comma delimited extensions (in webform_preprocess_file_upload_help)
Comment #56
acbramley commentedHmm I removed the custom validators but it looks like they are needed for this "per form" file size limit... not really sure how to manage that without a decent amount of rework.
Comment #57
kim.pepper'webform_file_validate_extensions' and 'webform_file_validate_name_length' are not actual file upload validators, but keys that were put in there to pass variables to hook_help().
'webform_file_validate_extensions' was never set as far as I could see, so I removed it.
Comment #58
mably commentedHi, it could be interesting to add a
branch-aliasconfiguration to thecomposer.jsonfile to facilitate testing of Webform related modules on Drupal 11 :Tested locally, seems to work fine as it allowed me to install some modules depending on the 6.3 branch.
But I guess it would require to remove the 6.3.x branch on the issue's fork...
EDIT:
A simpler solution is to use inline aliases:
So the new
composer requirecommand could be something like:Comment #59
nagy.balint commentedI am not sure why an alpha release could not be made on the 6.3.x branch, since alpha releases would not be recommended for use anyways, but it would make it easier to test dependent contrib modules on drupal 11.
I think it would help contrib to commit this work and continue with fixes on that branch instead of waiting for a big pull request.
Comment #60
liam morlandI would welcome small merge requests to make specific needed changes. For example, removing use of deprecated code. Remember, 6.3.x depends on Drupal 10.3.
Comment #62
nikunj.shah commentedAfter applying the merge request, if anyone encounters cache-related issues on Pantheon, please ensure to update the "pantheon-systems/drupal-integrations" package to the latest version. This should help resolve any caching problems.
Comment #63
nikunj.shah commentedReference: https://github.com/pantheon-systems/drupal-integrations/issues/28
Comment #64
acbramley commentedGoing to start splitting some of these changes into separate issues to make this more manageable.
Modernizr deprecation has moved into #3478398: Remove modernizr dependency and code
Twig spaceless deprecation has moved into #3478399: [Drupal 12.x] Twig spaceless filter is deprecated
Comment #65
acbramley commentedMoved optional params issue into #3478407: Fix Optional parameter X declared before required parameter Y
Comment #66
acbramley commentedFew more:
#3478412: Enable concurrent phpunit
#3478414: Remove/replace deprecated #drupal-off-canvas selector
#3478415: Fix test module package versions
Comment #67
jrockowitz commented@acbramley #16
Thank you for doing this. It will make is possible for us to quickly review and merge changes, while isolating the remaining challenges.
Comment #68
acbramley commentedI've reset the branch behind some of the commits that were moved out, and then merged 6.3.x in. Much less changes now!
Comment #69
acbramley commentedThe filter format failure is going to need some thinking
In https://git.drupalcode.org/project/webform/-/merge_requests/254/diffs,
webform_filter_format_loadwas added which doesn't seem to get invoked on D11. All this is doing is hiding the default webform filter format on the filter format overview. I'll do a bit more debugging but we may need an alternative solution (e.g override the list builder or something more robust).EDIT: Never mind, it does get invoked, but on D11 disabled formats are displayed #2502637: Disabled text formats can't be seen in the GUI
Comment #70
acbramley commentedGetting to the
tail endvery end of these failures.WebformClientSideValidationJavaScriptTest is still failing locally with a javascript error. When reproducing this in the browser the error is:
Can't set value before initDebugging into this it's coming from
Drupal.behaviors.statesso I'm assuming something has changed in that API that either webform or clientside_validation needs to fix.Comment #71
acbramley commentedThis is a random fail and is coming from select2 CDN javascript... I'll see if there's a way we can stop this interfering in completely unrelated tests.
EDIT: Maybe it's not random. This is because we're on jQuery 4 now, and isArray is deprecated in jQuery 4. https://github.com/select2/select2/issues/6298
Select2 is used for various webform_ui elements such as wrapper css classes, user permissions, etc.
Comment #73
ankitv18 commentedFYI I've cherry-picked the commits from https://www.drupal.org/project/webform/issues/3477942 to move things proactively.
cc: @acbramley
Comment #74
ankitv18 commentedNoticing one failure for next major phpunit pipeline: https://git.drupalcode.org/issue/webform-3465838/-/jobs/2973891
Need to handle upgrade_status pipeline: https://git.drupalcode.org/issue/webform-3465838/-/jobs/2973888
cc: @jrockowitz @acbramley
Comment #75
ankitv18 commentedHi @jrockowitz,

The next major pipeline is having only one failure which also weird ~~ same sub-module test I've run on my local machine
Please check the screenshot below
There might be chance our next major pipeline is failing due issue reported in https://www.drupal.org/project/drupal/issues/3479446
With all the changes on MR!501 can we consider atleast merge this MR to the develop so that rest of the open issues or related can move smoothly as there's lots of back and forth things going with all the related issues (Interdependent someway or other)
cc: @acbramley
Comment #76
ankitv18 commentedYay!! Test pipelines are green now!!!!
Comment #77
jrockowitz commentedWow!!! I reviewed all the changes and everything looks great. Awesome work. You rock!!!
I would like to give other people a chance to review but from my review this is RTBC.
Comment #78
jrockowitz commentedI think we can merge AS-IS this and deprecate the Webform Bootstrap module in a new ticket.
Comment #79
ankitv18 commented@jrockowitz Only thing is remaining is to update the CR with the deprecation reason of this sub-module: https://www.drupal.org/docs/8/modules/webform/webform-frequently-asked-q...
With that we can merge MR!501.
Comment #82
benstallings commentedI can't vouch for all the functionality, but I was able to install and enable the MR!501 in Drupal 11.
Comment #83
ankitv18 commented@lkmorlan @jrockowitz can we please move this issue ahead?
Comment #85
jrockowitz commentedAll the tests are passing. I merged the MR. Thanks.
Comment #87
liam morlandTests were passing in the merge request but are not passing now. I have opened #3481554: Make tests pass.
Comment #88
acbramley commentedThanks so much for getting this across the line.
Comment #89
vladimirausThanks, everyone.
Comment #90
heddnWill a 6.3.x alpha or something be release shortly? Or should we be testing that on the dev 6.3.x dev branch?
Comment #91
liam morlandI generally let major patches set for two weeks on the dev branch before making a release. Please test the dev branch for now.
Comment #92
liam morlandWe should probably consider #3479443: Remove legacy ckeditor from codebase. to be a release blocker. That is likely all that is needed for #3481554: Make tests pass.
Comment #93
tjtj commentedhttps://www.drupal.org/project/webform/I am confused by this long issue. How do I get webform to work on Drupal 11?
and
Please issue a real release ASAP.
Comment #94
nickdickinsonwildeStrongly agree important to just get a release - even if marking it as alpha or beta - is important.
That said, @tjtj use this https://www.drupal.org/project/webform/releases/6.3.x-dev for now rather than the custom branch. It should work, but chance that the dependences on webform_views won't allow it. If it doesn't allow it you could try 'as 6.3.0' or similar.
Comment #95
tjtj commentedThanks. Why not put a link to this? Views claims they will do their update
Comment #96
liam morlandIt would be best to get tests passing again first; see #3481554: Make tests pass.
I would also like to have resolution to #3479443: Remove legacy ckeditor from codebase..
Comment #97
liam morland6.3.0-alpha1 released.
It would still be nice to get #3479443: Remove legacy ckeditor from codebase. resolved before beta.
Comment #99
tjtj commentedwhere is the link to 6.3 alpha?
Comment #100
nicxvan commentedIt's on the main page: https://www.drupal.org/project/webform
Comment #101
liam morlandI have created #3492971: Document webform_bootstrap deprecation.
I have released Webform 6.3.0-alpha3.
Comment #102
chris matthews commentedAny Pantheon hosting users on this thread? I'm still getting the error mentioned in #19Edit: Simply forgot to editpantheon-systems/drupal-integrationsin my composer.json. Nothing to see here, carry on.Comment #103
nicxvan commented