The project detail page should take a project ID, not a machine name

Created on 20 June 2024, 8 days ago
Updated 26 June 2024, 1 day ago

To generate the /admin/modules/browse/{module_name} route, we use the project's machineName attribute. However, this is not a clear differentiator and multiple sources may expose projects with the same {module_name}.

In my case working on the Gitlab source, the REST API accepts either the project ID (an integer) or the fully qualified namespace. A simple integer is definitely not unique across the sources. The qualified namespace contains a "/" which is not accepted (see #2741939).

For now my workaround is to replace the "/" by another character ("|") in the machineName attribute. However, this machineName attribute is not only used to generate the url to the project details page but is also used in the Installation instruction (drush pm:enable qualified|namespace is now displayed).

I think we should have different attributes as they don't all serve the same purpose.

๐Ÿ› Bug report
Status

Fixed

Version

2.0

Component

Code

Created by

๐Ÿ‡ซ๐Ÿ‡ทFrance vbouchet

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

Merge Requests

Comments & Activities

  • Issue created by @vbouchet
  • ๐Ÿ‡บ๐Ÿ‡ธUnited States phenaproxima Massachusetts

    โœจ Create a centralized, non-volatile repository of all projects known to all sources Needs review is assigning every project a UUID, so maybe we should block this issue on that one and make it so that we use the UUID to identify the project? :)

  • Assigned to phenaproxima
  • ๐Ÿ‡บ๐Ÿ‡ธUnited States phenaproxima Massachusetts

    Okay, I don't get it...looking at BrowserController, the $module_name param is never used in any meaningful way. The controller's output is always the same, regardless of what $module_name is.

    I'm not sure this is actually used anywhere. Yet the Svelte code does reference it, for some reason.

    I'll look into this.

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States phenaproxima Massachusetts

    Okay, I looked into it and this is yet another wall of assumptions Project Browser makes, where everything is a module and the machine name is the globally unique identifier. We need to change that assumption, but it's going to take some work...

  • Merge request !525Identify projects by UUID to the backend โ†’ (Merged) created by phenaproxima
  • Pipeline finished with Failed
    7 days ago
    Total: 231s
    #204900
  • Pipeline finished with Canceled
    7 days ago
    Total: 248s
    #204911
  • Pipeline finished with Success
    7 days ago
    Total: 848s
    #204918
  • Pipeline finished with Failed
    7 days ago
    Total: 397s
    #204935
  • Pipeline finished with Success
    7 days ago
    Total: 3141s
    #204904
  • Issue was unassigned.
  • Status changed to Needs review 7 days ago
  • ๐Ÿ‡บ๐Ÿ‡ธUnited States phenaproxima Massachusetts
  • Pipeline finished with Success
    7 days ago
    Total: 544s
    #204964
  • ๐Ÿ‡บ๐Ÿ‡ธUnited States tim.plunkett Philadelphia

    tim.plunkett โ†’ made their first commit to this issueโ€™s fork.

  • Pipeline finished with Success
    7 days ago
    Total: 397s
    #204971
  • Pipeline finished with Canceled
    1 day ago
    Total: 349s
    #208697
  • Pipeline finished with Failed
    1 day ago
    Total: 397s
    #208705
  • Pipeline finished with Failed
    1 day ago
    Total: 438s
    #208713
  • ๐Ÿ‡บ๐Ÿ‡ธUnited States chrisfromredfin Portland, Maine
  • Pipeline finished with Failed
    1 day ago
    Total: 388s
    #208737
  • Pipeline finished with Failed
    1 day ago
    Total: 399s
    #208740
  • Pipeline finished with Failed
    1 day ago
    Total: 434s
    #208763
  • Pipeline finished with Success
    1 day ago
    Total: 403s
    #208773
  • ๐Ÿ‡บ๐Ÿ‡ธUnited States phenaproxima Massachusetts
  • Pipeline finished with Failed
    1 day ago
    Total: 519s
    #208808
  • Pipeline finished with Success
    1 day ago
    Total: 503s
    #208820
  • Pipeline finished with Skipped
    1 day ago
    #208830
  • Status changed to Fixed 1 day ago
  • ๐Ÿ‡บ๐Ÿ‡ธUnited States chrisfromredfin Portland, Maine

    let it rip

Production build 0.69.0 2024