- Issue created by @dalemoore
- π·πΊRussia a.kovrigin Penza
Here is the patch fixes Drupal 10 compatibility issues
- πΊπΈUnited States dalemoore
Maybe it works, I don't know, I can't install it because I can't composer require it in Drupal 10 to begin with. Wondering if this is maintained any more? There hasn't been a release since 2020.
- πͺπΈSpain ady1503
I confirm, NOT working in drupal 10.1.0
I will wait.
- πΊπΈUnited States wildcats369
@dalemoore, you can use drupal-lenient plugin to install modules that are not yet D10 compatible and apply patches. Here are the commands.
composer config minimum-stability dev
composer require mglaman/composer-drupal-lenient
composer config --merge --json extra.drupal-lenient.allowed-list '["drupal/vefl"]'@ady1503, the error you mentioned is addressed in https://www.drupal.org/project/vefl/issues/3341550 π TypeError: Illegal offset type in isset or empty Needs review
- πͺπΈSpain ady1503
Hello
@wildcats369 with patch work well.
https://www.drupal.org/project/vefl/issues/3341550 π TypeError: Illegal offset type in isset or empty Needs review
Thanks
- Status changed to Needs review
over 1 year ago 2:42pm 10 August 2023 - Status changed to RTBC
about 1 year ago 7:58am 1 September 2023 - π¦πΉAustria maxilein
Can you please make D10 compatible dev version.
- First commit to issue fork.
- πΊπΈUnited States somebodysysop
I've applied the patch, but composer prohibits still won't let me upgrade to Drupal 10:
composer prohibits drupal/core 10.1.5 drupal/core-recommended 9.5.11 requires drupal/core (9.5.11) drupal/highlight 1.0.0 requires drupal/core (^8.8 || ^9) drupal/vefl 3.0.0 requires drupal/core (^8 || ^9)
Even though this is what is in the vefl.info.yml file:
name: Views Exposed Form Layout description: Provides functionality to output Views exposed filters in layout. package: Views type: module core: 8.x core_version_requirement: ^8 || ^9 || ^10 dependencies: - drupal:layout_discovery - drupal:views # Information added by Drupal.org packaging script on 2020-02-08 version: '8.x-3.0' project: 'vefl' datestamp: 1581161125
What can I do to get past this?
- πΊπΈUnited States wildcats369
@SomebodySysop, please see comment #5 β¨ Drupal 10 support? RTBC . You can use these commands.
composer config minimum-stability dev
composer require mglaman/composer-drupal-lenient
composer config --merge --json extra.drupal-lenient.allowed-list '["drupal/vefl"]' - πΊπΈUnited States somebodysysop
Thank you for the reply. So, what exactly does this do?:
composer config minimum-stability dev
composer require mglaman/composer-drupal-lenient
composer config --merge --json extra.drupal-lenient.allowed-list '["drupal/vefl"]'Because, when I run it, then run composer prohibits drupal/core 10.1.5, I see see drupal/vefl listed.
Perhaps I am not using it correctly?
If someone has done this, how did you get past this limitation?
- π¦πΉAustria maxilein
check to see if the patch was applied.
Then drush cr or clear the cache in the web interface.Then your leftovers should be:
composer prohibits drupal/core 10.1.5
drupal/core-recommended 9.5.11 requires drupal/core (9.5.11)
drupal/highlight 1.0.0 requires drupal/core (^8.8 || ^9) - πΊπΈUnited States somebodysysop
Thanks for the assistance!
in PATCHES.txt
This file was automatically generated by Composer Patches (https://github.com/cweagans/composer-patches)
Patches applied to this directory:Drupal 10 support
Source: https://www.drupal.org/files/issues/2023-03-17/vefl-drupal10-compatibili... βIn vefl.info.yml
name: Views Exposed Form Layout
description: Provides functionality to output Views exposed filters in layout.
package: Views
type: module
core: 8.x
core_version_requirement: ^8 || ^9 || ^10dependencies:
- drupal:layout_discovery
- drupal:views# Information added by Drupal.org packaging script on 2020-02-08
version: '8.x-3.0'
project: 'vefl'
datestamp: 1581161125Did this again:
composer config --merge --json extra.drupal-lenient.allowed-list '["drupal/vefl"]'
drush cr
composer prohibits drupal/core 10.1.5And sure enough, this is still there:
drupal/vefl 3.0.0 requires drupal/core (^8 || ^9)
I looked at composer.json, and I see this:
"drupal-lenient": { "allowed-list": ["drupal/vefl", "drupal/vefl"] } },
So, I'm just not sure what step I am missing.
- π¦πΉAustria maxilein
I never used lenient.
if vefl is not enabled, then just delete the module folder, upgrade, reinstall.
If vefl is enabled and patched: Just delete all D9 files (keep contrib and custom whatever)
Copy D10 manually to the right places. Start up. Should work.
That is what I did, because back then soo many modules had the same problem you are having today...Remember: Always make a copy of your site+db before trying things...
- πΊπΈUnited States wildcats369
@SomebodySysop, For modules that are made D10 compatible using patch(es), composer doesnβt allow upgrading the core to D10. Lenient allows to bypass this for specific modules. More information at https://github.com/mglaman/composer-drupal-lenient. I have used this on a couple of projects and I had no issues.
Try a D10 update dry run (composer update "drupal/core-*" --with-all-dependencies --dry-run) and see if it still complains about vefl.
- πΊπΈUnited States somebodysysop
@maxilein
Thanks for the response. I don't understand what you mean when you say:
If vefl is enabled and patched: Just delete all D9 files (keep contrib and custom whatever)
Copy D10 manually to the right places. Start up. Should work.Do you mean?
Uninstall (and remove) all incompatible D9 modules, then upgrade to D10, then re-install the D9 modules patched to work in D10?
Or, are you talking about manually downloading all the files and folders that make up D10 and copying them to my D9 install? If this is what you mean, what about composer.json file? How do I sync composer without corrupting it?
- πΊπΈUnited States somebodysysop
@superman369
Thank you for the reply. In order to execute the dry run, I need to update my composer.json for D10 upgrade. In reading the Lenient read.me, it seems like it is designed to work with installs rather than upgrades.
So, I will try uninstalling the modules, see if I can upgrade, then try re-installing with Lenient and see what happens.
Did you uninstall, upgrade to D10, then re-install the patched modules? Or, did Lenient allow you to do the D9 - D10 upgrade with patched modules in place?
- πΊπΈUnited States wildcats369
@SomebodySysop, No, I didn't had to uninstall the module(s). Lenient allowed me to do D9 -> D10 upgrade with patched modules in place. I had 5 modules in total that were D10 compatible with patches.
Here are the steps that worked for me. Try if these work for you.
1. If not already done, composer config --merge --json extra.drupal-lenient.allowed-list '["drupal/highlight"]'
2. composer require drupal/core-recommended:^10 drupal/core-composer-scaffold:^10 drupal/core-project-message:^10 drupal/recommended-project:^10 --no-update
If there are any D10 only compatible modules, you can add them in step 2.
3. Composer update --with-all-dependencies OR Composer update --with-all-dependencies --dry-run
- πΊπΈUnited States somebodysysop
@superman369
Thanks a lot. This is very good instruction. Unfortunately, I've run into a Symfony compatibility issue (because of my PHP v. 8.1.14) that is holding things up. Once I get that resolved, I'll post my progress back here. But, it looks like it's going to work.
- π¦πΉAustria maxilein
#21 is the better way!
Nonetheless what I meant in #19
If vefl module is installed/enabled:
Make sure to apply the D10 vefl-patch to the vefl-module. (And all other modules that are not yet released for D10). All your D9 modules need to be patched for D10!Then you can upgrade to D10 by
a) manually deleting all D9 files (all files coming with a standard Drupal release). But keep your contrib modules, libraries, ...
b) Download the D10 zip file. Extract it and put the files manually in place instead of the deleted D9 files. Do a)! do not simply overwrite D9 files with the new D10 files.
All your contrib modules, libraries stay untouched at this point.
This way you skipped the blocking installation of modules.
c) Drupal D10 website will then work. Don't forget the database update.If this is what you mean, what about composer.json file? How do I sync composer without corrupting it?
That's a good question: after c) you will have to either remove the patched modules from composer.json until a D10-compatible module comes out. Use "Updates available" to check for new version and once a D10 version becomes availabe you re-add the module to composer.json Or use the patching cweagans/composer-patches to keep them D10 compatible.
That's how I did it at a time when I needed a lot of modules for D10 that still were not available. And it was not without a hustle...
- πΊπΈUnited States somebodysysop
@superman369
I actually forgot to do this before I entered the composer require command:
composer config --merge --json extra.drupal-lenient.allowed-list '["drupal/highlight"]'
So I ended up having to remove highlight (and vefl) because the patched versions would not upgrade to Drupal 10.
However, after upgrading the site to Drupal 10.1.5, I did go back and do this:
Entered patch info into composer.json:
"drupal/vefl": { "Drupal 10 support": "https://www.drupal.org/files/issues/2023-03-17/vefl-drupal10-compatibility.patch" }, "drupal/highlight": { "Automated Drupal 10 compatibility fixes": "https://www.drupal.org/files/issues/2022-06-15/highlight.1.x-dev.rector.patch" }
Entered these on the command line:
composer config --merge --json extra.drupal-lenient.allowed-list '["drupal/vefl"]' composer config --merge --json extra.drupal-lenient.allowed-list '["drupal/highlight"]'
Then executed:
composer require 'drupal/vefl:^3.0' 'drupal/highlight:1.x-dev@dev' -W
And, darned if they didn't install!
Thank you!
- πΊπΈUnited States en-cc-org
A heads up to anyone using composer on Windows, where as you know quotes can be problematic. After issuing the composer config command as outlined above, check your composer.json extra section. In my case, it looked like this, which passed validation but silently caused the vefl exception to be ignored:
BAD:
"drupal-lenient": {
"allowed-list": "[drupal/vefl]"
}
GOOD:
"drupal-lenient": {
"allowed-list": ["drupal/vefl"]
} - Status changed to Fixed
9 months ago 3:21pm 18 February 2024 Automatically closed - issue fixed for 2 weeks with no activity.