Drupal 10 support?

Created on 23 February 2023, almost 2 years ago
Updated 3 March 2024, 10 months ago

Are there any plans to support Drupal 10+? Right now the max is set to Drupal 9.

I've never used this module, but was looking for something to be able to place different individual exposed filters into different Layout Builder sections. For example, create a two-column layout and place one filter called "Topic" with taxonomy checkboxes in column one, and another filter called "Season" to place a second taxonomy's checkboxes into column two. I *think* this module does something like this?

✨ Feature request
Status

Fixed

Version

3.0

Component

Code

Created by

πŸ‡ΊπŸ‡ΈUnited States dalemoore

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

Merge Requests

Comments & Activities

  • 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
  • πŸ‡ͺπŸ‡ΈSpain pcambra Asturies
  • Status changed to RTBC over 1 year ago
  • πŸ‡΅πŸ‡±Poland driverok

    the patch #2 is working well for me

  • πŸ‡³πŸ‡¬Nigeria chike Nigeria

    Patch #2 is working.

    Thanks.

  • πŸ‡¦πŸ‡Ή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 || ^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

    Did this again:

    composer config --merge --json extra.drupal-lenient.allowed-list '["drupal/vefl"]'
    drush cr
    composer prohibits drupal/core 10.1.5

    And 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"]
    }

  • Merge request !2Issues #3117797, 3344122, 3081164 β†’ (Merged) created by driverok
  • Status changed to Fixed 10 months ago
  • πŸ‡΅πŸ‡±Poland driverok

    Thanks a.kovrigin for the patch, merged

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

Production build 0.71.5 2024