Skip to content

getNonInstallableProducts no longer hides submodules automatically #4241

@wesleybl

Description

@wesleybl

BUG/PROBLEM REPORT

What I did:

I implemented a HiddenProfiles class using the INonInstallable interface to hide upgrade step packages from the Add-ons control panel:

@implementer(INonInstallable)
class HiddenProfiles:
    def getNonInstallableProducts(self):
        """Hide the upgrades package from site-creation and quickinstaller."""
        return [
            "my.package.upgrades"
        ]

Previously, this would automatically hide all submodules within my.package.upgrades (such as my.package.upgrades.v1, my.package.upgrades.v2, etc.) from the Add-ons installation screen.

What I expect to happen:

When specifying a parent package like my.package.upgrades in the list returned by getNonInstallableProducts(), all submodules within that package should be automatically hidden from the Add-ons control panel, maintaining backwards compatibility with previous Plone versions.

What actually happened:

The submodules are no longer hidden automatically. Each submodule must now be explicitly listed individually:

@implementer(INonInstallable)
class HiddenProfiles:
    def getNonInstallableProducts(self):
        """Hide the upgrades package from site-creation and quickinstaller."""
        return [
            "my.package.upgrades.v1",
            "my.package.upgrades.v2",
            "my.package.upgrades.v3",
            # Must explicitly list every submodule
        ]

This creates maintenance overhead and is error-prone, as developers must remember to add each new upgrade step submodule to this list.

What version of Plone/ Addons I am using:

  • Plone version: 6.1.3
  • Python version: 3.13

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions