[Meta] Provide consistent Project API to be used by modules and update system

Created on 4 November 2012, about 12 years ago
Updated 16 January 2025, 5 days ago

Problem/Motivation

While the concept of Project (downloadable group of modules) is used in a number of places in Drupal, it is sometimes confused with 'module' and there's currently no API for modules to use 'projects'.
Modules using 'projects' atm in Drupal core are Update and Locale, the Locale module having some not very clean dependencies on Update module. Other module that could use project list is System module for filtering the module list (See issue linked below).

Proposed resolution

Create a minimal API and maybe some wrapper classes to be reused by modules using 'Projects'.

Remaining tasks

1) Create a common API to provide project list and information and to be used by Update and Locale. #1832946: Runtime translation download fallback works different from installer translation download fallback
2) Unify project lists and caching systems for Update and Locale, clean up dependencies between these two.
3) Create some Project class that can be used to wrap the huge amount of information project arrays contain.
4) Redefine how project information is retrieved from modules (I.e. is there always a main module named like the project?)
5) Explore other possible uses of project lists like filtering modules by project in the administration pages.

Related issues

This is a list of issues that could benefit from these improvements:
#1191488: META: Integrate l10n_update functionality in core
#1774024: Create helper function to find release info for a project (follow-up issue to locale collect project information)
#1547008: Replace Update's cache system with the (expirable) key value store
Enable Alternate Project URLs Postponed: needs info
#857090: D8 Modules' page: Add links to module help, project page + merge operations links to one cell.
#602528: Filter module page on project name
#1355292: Come up with better alternatives for groupings on the modules page
#986616: Update Manager fails when the primary module/theme for a project lives in a subdirectory
#1777106: Make check for out of date project update information more robust for sites that are not running cron regularly (follow-up)

Feature request
Status

Postponed: needs info

Version

11.0 🔥

Component

base system

Created by

🇪🇸Spain Jose Reyero

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

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • 🇺🇸United States smustgrave

    Thank you for creating this issue to improve Drupal.

    We are working to decide if this task is still relevant to a currently supported version of Drupal. There hasn't been any discussion here for 8+ years which suggests that this has either been implemented or is no longer relevant. Your thoughts on this will allow a decision to be made.

    Since we need more information to move forward with this issue, the status is now Postponed (maintainer needs more info). If we don't receive additional information to help with the issue, it may be closed after three months.

    Thanks!

  • 🇺🇸United States dww

    Hate to say it, but I think this might still be valid. From what I understand, local still has some dependencies on update module. There are also issues to OOP-ify Update module, which this is related to as well. Eg a class to represent project info, not the monster arrays we pass around now.

  • 🇬🇧United Kingdom catch

    Yeah this comes up with 🌱 [meta] composer require / install module discrepancy issues Active too.

Production build 0.71.5 2024