Color module isn't recognized as a deprecated module despite lifecycle deprecated info

Created on 3 February 2023, almost 2 years ago
Updated 16 June 2023, over 1 year ago

Problem/Motivation

Modules can be deprecated by having a lifecycle: deprecated property in their info files, and this is conveyed in a few places:

  • A "deprecated" link is displayed on the Extend page, whether the module is installed or not.
  • They are also mentioned in a deprecated section on the Status Report page, if they are installed.
  • The Upgrade Status contrib module mentions deprecated modules, if they are installed.

For modules like RDF, QuickEdit, and Aggregator, it's working fine.

The Color module has the same deprecated status, but the deprecation isn't mentioned in these places.

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

πŸ’¬ Support request
Status

Closed: outdated

Version

9.5

Component
ExtensionΒ  β†’

Last updated about 8 hours ago

No maintainer
Created by

πŸ‡¬πŸ‡§United Kingdom andrewmacpherson

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

Comments & Activities

  • Issue created by @andrewmacpherson
  • πŸ‡»πŸ‡³Vietnam tra.duong

    I have take a look at the status of color module:

    • A "deprecated" link is displayed on the Extend page => YES
    • They are also mentioned in a deprecated section on the Status Report page => YES
    • The Upgrade Status contrib module mentions deprecated modules => YES

    System:
    - Drupal 9.5.4-dev
    - PHP: 8.1.14
    - Mysql: 5.7.29

    Note: It also appeared on uninstall module page(/admin/modules/uninstall).

  • πŸ‡¬πŸ‡§United Kingdom andrewmacpherson

    I've discovered a few interesting things after digging around...

    My website's composer.lock and composer-manifest.yml both have an entry to require drupal/color, and git blame tells me that this appeared when I upgraded to D9.5.x a few days ago. It isn't a requirement of my root composer.json.

    Aside: I also have the drupal/environment_indicator contrib module as a requirement of my root composer.json. Currently I have version 4.0.5 which lists drupal:color as a dependency in the module info file, but the contrib project does not have a composer.json of it's own.

    After I disable the Environment Indicator and Color modules, then remove them using composer, the core color module IS then described as deprecated on the Extend page. Now I see a deprecated link, where I didn't before.

    The funnny thing is, I could also see that the the CKEditor contrib module is installed, and it does show a deprecated link, even though the contrib Color module does not.

    Looking at the CKEditor and Color module files...

    I have two versions of these present on my filesystem: the ones from Drupal core, and the contrib versions. Neither are explicitly mentioned as root requirements in my composer.json, but I see them in my composer.lock and composer-manifest.yml.

    The Color and CKEditor versions inside web/core/modules have the lifecycle:deprecated line.

    The CKEditor version in web/modules/contrib has the lifecycle:deprecated line

    The Color module version in web/modules/contrib does not have the lifecycle:deprecated line.

    Well now I'm confused. I follow the news, so I already knew that the Color module was deprecated in D9.5, and has been removed from D10. So I was puzzled that the Status Report page didn't complain about it.

    After digging around, I think the deprecation status is working fine in Drupal core, for the core versions of deprecated modules.

    However, the contrib versions of Color and CKEditor modules are behaving differently to each other.

    My hunch is that the CKEditor module got the lifecycle:deprecated message added BEFORE the contrib project was created, but the Color module got this line added AFTER the contrib project was created.

    Upshot: this was mightily confusing, but I'm not sure anything is actually broken, at least in core. So I'm reclassifying this as a support request.

    Something in the orchestration of this core-to-contrib migration has gotten mixed up, resulting in confusing messages. Either the contrib Color module or the contrib CKEditor module is saying the "wrong" thing, but I'm not sure what they're supposed to be saying. I haven't looked at the other new contrib projects for deprecated modules.

    I'm going to bed. I'll let somebody else decide which project to move this issue to :-)

  • πŸ‡¦πŸ‡ΊAustralia larowlan πŸ‡¦πŸ‡ΊπŸ.au GMT+10

    My guess is the colour module in contrib has removed the deprecated lifecycle status from it's info file

    In which case I think this is works as designed, because composer has resolved the issue for you by flavouring the contrib version when colour was required by environment indicator

  • Status changed to Closed: outdated over 1 year ago
Production build 0.71.5 2024