Drupal 9 is almost here and Open Social should be compatible with Drupal 9.

In Open Social there's still a lot of deprecated code that is used, this should all be replaced.

We could use the deprecation checks and correction tools as suggested here: https://www.drupal.org/docs/9/how-to-prepare-your-drupal-7-or-8-site-for....

Let's use this issue ticket to do an initial check of what is required to be compatible with Drupal 9. Depending on the amount of work child issues can be created.

Issue fork social-3134077

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

bramtenhove created an issue. See original summary.

bramtenhove’s picture

Issue summary: View changes
Kingdutch’s picture

Issue tags: +Drupal 9 compatibility

Lets make sure this issue can be found

ronaldtebrake’s picture

ronaldtebrake’s picture

We have checked all the modules for their D9 compatibility, and below you'll see a list of Compliant modules, modules that require an update, or modules that require a patch / work to get D9 compatibility.

Good news is that most modules have compatible version available, and we will start updating these modules towards their compatible versions.

Needs work Project
Patch AJAX Comments
Patch Data Policy
Patch Field Group
Patch KPI Analytics
Patch Like & Dislike
Patch Link CSS
Patch Message
Patch Redirect 403 to User Login
Patch Private Message
Remove Features
Update Address
Update Admin Toolbar
Update Better Exposed Filters
Update Block Field
Update Bootstrap
Update CAPTCHA
Update Chaos Tools
Update Configuration Update Base
Update Crop API
Update DataBase Email Encryption
Update Devel
Update Disable user 1 edit
Update Dynamic Entity Reference
Update Encrypt
Update Entity
Update Entity Reference Revisions
Update File metadata manager
Update Flag
Update Gin
Update Google Analytics
Update Group
Update Image Effects
Update ImageWidgetCrop
Update Key
Update Lazy-load
Update Login Tracker
Update Metatag
Update Override Node Options
Update Paragraphs
Update Pathauto
Update Redirect
Update Search API
Update Select2
Update Serialization (CSV)
Update Shariff Sharing Buttons
Update Swift Mailer
Update Token
Update Update Helper
Update Views Bulk Operations
Update Views Infinite Scroll
Update Voting API

Also we are starting to make sure our own code is Drupal 9 compatible here:
https://github.com/goalgorilla/open_social/pull/1969

kokrull’s picture

alphabetically I managed to get most modules updated in my trials apart from the group stuff, things started falling over at that point and I decided to wait for you guys, :)

thanks for the heads up and thanks for the work so far..

cheers

ronaldtebrake’s picture

Status: Needs work » Needs review

Our code is now Drupal 9 compatible. Please see - https://github.com/goalgorilla/open_social/pull/2144

In order to get there:

We have added drupal core compatibility to our info.yml files to show all our custom work is compatible by using
core_version_requirement: ^8.8 || ^9

We have ensured to remove all deprecated code which is removed from Drupal 9. The replacement code is compatible with Drupal 8.9 as well so untill all our contributed modules are Drupal 9 ready, we are still installing Drupal 8.9.

We have added phpstan as a github action, to make sure we wont be using any deprecated code anymore either. All new code will be ran at lvl 5 strictness as well, to ensure our code is also hold to a higher standard.

We will update our modules in a separate story and hopefully get to Drupal 9 soon.

  • navneet0693 authored 0aa5e98 on 10.0.x
    Issue #3134077 by ronaldtebrake,jochemvn, bramtenhove - Drupal 9...

navneet0693’s picture

Status: Needs review » Fixed

The changes are now present in 10.0.x branch and will be included in release of 10.0 and above.

vishtg’s picture

hi, i have installed the open social 10 version.
Looks great.
How can i make it install drupal 9 core. Right now it is install the d8 version.

Status: Fixed » Closed (fixed)

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

ytsurk’s picture

From the roadmap:

However, we have ensured we won't be using any incompatible code anymore so when all used modules are up to date we can immediately switch to Drupal 9.

To install D9 upfront you need to deal with the not yet ready modules yourself ...

#3106217: what is the plan of open social for drupal 9?

bas123’s picture

By my own admission, I have not checked my add on modules to my OS distributions, most of which (less a few) are all compatible with ^9.0 in a few weeks.

And @ronaldtebrake has kindly listed all of the OS compatible modules above that also are, along with the project's code!

However, the move to OS 10 has left us with several modules that were removed from OS by reasons claimed that they were burdensome to the project or created performance issues such as Search Auto Fill and SSO Social Auths etc.

To install D9 upfront you need to deal with the not yet ready modules yourself

This is fair and indeed none of us that have added our own modules should expect any more of the OS Team in insuring compatibility with those that they never included in the project.

However, regarding those projects that WERE part of the project and have been depreciated in the version 10, I believe it is still incumbent upon the Open Social Team to proactively assist (which they have been so far) in helping those of us struggling with carryover issues regarding those modules ESPECIALLY, if (like the Social Auth or Search Auto Compete), we would like to continue their use.

Advising on the reasons for dropping those modules if it involves Drupal 9 incompatibility (alone or in addition to) should be disclosed as well as any other reasons why they were dropped!

I believe that is only fair, and I hope agreed!

Sebastian Hagens made their first commit to this issue’s fork.

Sebastian Hagens’s picture

Hi,

I've just downloaded a clean Drupal 9 site with composer
composer create-project drupal/recommended-project dir
and installed it with Drush.

composer require drupal/social

gives me the following message

Using version ^10.0 for drupal/social
./composer.json has been updated
Running composer update drupal/social
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - drupal/social[10.0.0, ..., 10.0.3] require drupal/core ~8.0 -> found drupal/core[8.0.0, ..., 8.9.13] but the package is fixed to 9.1.5 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
    - Root composer.json requires drupal/social ^10.0 -> satisfiable by drupal/social[10.0.0, 10.0.1, 10.0.2, 10.0.3].

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

Installation failed, reverting ./composer.json and ./composer.lock to their original content.

This is the composer.json file

{
    "name": "drupal/recommended-project",
    "description": "Project template for Drupal 9 projects with a relocated document root",
    "type": "project",
    "license": "GPL-2.0-or-later",
    "homepage": "https://www.drupal.org/project/drupal",
    "support": {
        "docs": "https://www.drupal.org/docs/user_guide/en/index.html",
        "chat": "https://www.drupal.org/node/314178"
    },
    "repositories": [
        {
            "type": "composer",
            "url": "https://packages.drupal.org/8"
        }
    ],
    "require": {
        "composer/installers": "^1.9",
        "drupal/core-composer-scaffold": "^9.1",
        "drupal/core-project-message": "^9.1",
        "drupal/core-recommended": "^9.1",
        "drush/drush": "^10.4"
    },
    "conflict": {
        "drupal/drupal": "*"
    },
    "minimum-stability": "stable",
    "prefer-stable": true,
    "config": {
        "sort-packages": true
    },
    "extra": {
        "drupal-scaffold": {
            "locations": {
                "web-root": "web/"
            }
        },
        "installer-paths": {
            "web/core": [
                "type:drupal-core"
            ],
            "web/libraries/{$name}": [
                "type:drupal-library"
            ],
            "web/modules/contrib/{$name}": [
                "type:drupal-module"
            ],
            "web/profiles/contrib/{$name}": [
                "type:drupal-profile"
            ],
            "web/themes/contrib/{$name}": [
                "type:drupal-theme"
            ],
            "drush/Commands/contrib/{$name}": [
                "type:drupal-drush"
            ],
            "web/modules/custom/{$name}": [
                "type:drupal-custom-module"
            ],
            "web/profiles/custom/{$name}": [
                "type:drupal-custom-profile"
            ],
            "web/themes/custom/{$name}": [
                "type:drupal-custom-theme"
            ]
        },
        "drupal-core-project-message": {
            "include-keys": [
                "homepage",
                "support"
            ],
            "post-create-project-cmd-message": [
                "<bg=blue;fg=white>                                                         </>",
                "<bg=blue;fg=white>  Congratulations, you’ve installed the Drupal codebase  </>",
                "<bg=blue;fg=white>  from the drupal/recommended-project template!          </>",
                "<bg=blue;fg=white>                                                         </>",
                "",
                "<bg=yellow;fg=black>Next steps</>:",
                "  * Install the site: https://www.drupal.org/docs/8/install",
                "  * Read the user guide: https://www.drupal.org/docs/user_guide/en/index.html",
                "  * Get support: https://www.drupal.org/support",
                "  * Get involved with the Drupal community:",
                "      https://www.drupal.org/getting-involved",
                "  * Remove the plugin that prints this message:",
                "      composer remove drupal/core-project-message"
            ]
        }
    }
}

Never mind, I've just read the comments. Please delete this comment.

ronaldtebrake’s picture

Added follow up task where we will work on updating/patching our contrib modules.

vishtg’s picture

hello guys,

nice work
are we on drupal 9 yet please?
Thanks

bas123’s picture

@vishtg,

It would be most valuable for you to read each of the comments in this issue for context!

Then read the Related issues provided in #17 (directly above your request):
https://www.drupal.org/project/social/issues/3207776

kokrull’s picture

question. doesn't Drupal 9.x require PHP 7.4 ("currently" 'they' plan for 8) but open social requires PHP 7.3? fairly sure someone mentioned OS requiring 7.3 not long back. i know my main dev site fell over when i tried it. The admin area seemed to work as i recall but i ran a restore point shortly after that so could be wrong

admintoolbar has been error-free in my test sites throughout so i have a fuzzy memory of the admin area working. will check if you like, i still have the save point

cheers

vishtg’s picture

hello @bas123.
Thank you for pointing me to the right thread.
Sorry i didnt notice the link although i had been following all news on this matter.

cheers