Uploaded image for project: 'phpBB3'
  1. phpBB3
  2. PHPBB3-12009

Incorrectly installed extensions should be ignored

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Blocker
    • Resolution: Fixed
    • 3.1.0-a1
    • 3.1.0-a3
    • Extensions
    • None

    Description

      The Extension Manager should ignore extensions that are uploaded in a manner that does not conform to the expected folder tree structure.

      Now that Extension development has gone public, there is a big problem waiting for us because of the way we install extensions, now that people will start downloading extensions in development and trying to install them.

      We have a very specific set of rules for how the folder tree must be set up when installing an extension, i.e.: phpBB/ext/vendor/foobar/

      If an extension is put in the /ext/ folder in a way that does not conform to the requirements, (i.e.: phpBB/ext/vendor/foobar/my-github-foo-bar-branch-master/) it is still seen by the Extension Manager and presented to the user, and the user can even Enable it!

      Of course, enabling it leads to a fatal error, because the user did not upload the contents to the right folder structure.

      I propose that the Extension Manager should not look deeper than /ext/vendor/foobar/ for the composer.json file, and it should verify that vendor/foobar directory name structure is a match with the "name" parameter in composer.json. If these verifications are not met, the Extension is not shown in the ACP extension page, preventing users from trying to enable it and forcing them to realize that they may have installed/uploaded it wrong.

      Attachments

        Issue Links

          Activity

            People

              nickvergessen Joas Schilling
              VSE Matt Friedman [X] (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: