Cannot download and install new modules using Project Browser (developer experience)

Created on 13 January 2025, 3 months ago

Problem/Motivation

As a developer working on Project Browser, I want to install modules from Drupal.org that aren't in my existing codebase, so I can test that experience for users.

When attempting this, the module does not install with the following Composer error:
"Could not scan for classes inside "ExperienceBuilderDemo.php" which does not appear to be a file nor a folder"

It is not, in fact, a file nor a folder. ExperienceBuilderDemo.php is a symlink at the very top of the project root to project_template/ExperienceBuilderDemo.php.

Steps to reproduce

To work on Drupal CMS as a developer, you would `git clone` the repo (I used 1.x) and then run `ddev launch`

Go to Project Browser (Admin > Extend > Browse) and find a module that is not in your local codebase. Click the Install button to download and install that module locally.

Proposed resolution

???

Remaining tasks

User interface changes

API changes

Data model changes

πŸ› Bug report
Status

Active

Component

User Interface

Created by

πŸ‡ΊπŸ‡ΈUnited States chrisfromredfin Portland, Maine

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

Merge Requests

Comments & Activities

  • Issue created by @chrisfromredfin
  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts
  • πŸ‡¬πŸ‡§United Kingdom catch

    Why not remove this and add it back with the xb demo itself given it's not in 1.1 yet?

  • πŸ‡¬πŸ‡§United Kingdom catch
  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

    It's only in the 1.x branch, which is the development branch that uses XB. The release branch is 1.0.x and contains no XB-related anything. That's why this isn't a stable-blocking critical. :)

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

    OK why not remove XB and the demo from 1.1 until all the XB demo blockers are fixed upstream? This is going to generally affect development of other features and testing (as this issue shows).

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

    https://drupal.slack.com/archives/C072BF486FN/p1736866217181399 another problem preventing install with the xb demo.

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

    Since this is preventing development on the 1.x branch, bumping to critical.

  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

    The 1.x branch is frozen until 24 hours after the launch event but this is pretty easily fixed.

  • Merge request !467Remove symlink and overrdie autoload β†’ (Open) created by phenaproxima
  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts
  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts
  • πŸ‡¬πŸ‡§United Kingdom catch

    I haven't tried to experiment yet, but can you confirm whether this code is ever going to be upgradeable/removable when via automatic updates/normal composer commands without any manual intervention? I really think that trying to include this in the default download is asking for trouble (as evidenced by the at least two catastrophic bugs that have been narrowly avoided) and different approaches should be looked at.

  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

    can you confirm whether this code is ever going to be upgradeable/removable when via automatic updates/normal composer commands without any manual intervention

    When you say "this code", are you referring to the ExperienceBuilderDemo.php script?

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

    When you say "this code", are you referring to the ExperienceBuilderDemo.php script?

    The current situation in HEAD is that it would not be upgrade-able at all

    Yes exactly this, and this is what I'm worried about - so as soon as it's in a release, there's no way to fix bugs in it for existing sites or to remove it once XB is stable.

    The current situation in HEAD is that it would not be upgrade-able at all, but you could remove it by just deleting it outright.

    How will Drupal CMS site owners, potentially tens of thousands of them, some who never touch the cli, know how to do this?

    . I'm open to other approaches, for sure

    I don't think there needs to be a viable different approach to rethink this - it should be removed, and then something that is not unmaintainable could be added if someone comes up with an idea. Or all the effort that's going into this could instead go towards getting XB to beta stability or into a web-hosted demo where it can't affect real sites.

  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

    I think this is mergeable as-is, because it fixes the immediate bug reported by @chrisfromredfin, and doesn't help or harm the status quo.

    Ideally, we would not need this script in the Drupal CMS project template -- fully agreed there. If we can move it somewhere less intrusive, I'm all for that. But that wouldn't need to be done in this issue; it would be a separate (likely minor release blocking) issue.

  • First commit to issue fork.
  • πŸ‡ΊπŸ‡ΈUnited States thejimbirch Cape Cod, Massachusetts

    Follow up issue created. Lets get this one in first then. Rebased and marking as RTBC.

  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

    Dang - the fix I created here won't actually work, which is why the pipeline failed.

  • πŸ‡¦πŸ‡ΊAustralia pameeela
Production build 0.71.5 2024