Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installer: "Requirements problem" for missing projects assumes only modules #3924

Open
klonos opened this issue Jul 10, 2019 · 5 comments
Open

Comments

@klonos
Copy link
Member

klonos commented Jul 10, 2019

Steps To Reproduce

  1. On a fresh copy of Backdrop, create a /profiles directory, and add a profile in it.
  2. Add some random dependencies[] = abc123xyz lines in the .info file of that profile.
  3. Run the installer...

Actual behavior
Screen Shot 2019-07-11 at 2 44 06 am

Expected behavior

  • It should say something more generic, like "Missing dependencies" or "Required projects" instead of "Required modules".

  • "Required modules not found." should be "Required projects not found." instead.

  • This text:

    The following modules are required but were not found. Move them into the appropriate modules subdirectory, such as /modules.

    ...should be more like this instead:

    The following projects are required, but were not found. Download and place them into the appropriate subdirectories, such as /modules, /themes, or /layouts.

...while at it, we should not capitalize the machine names of the projects in that list


PR by @klonos: backdrop/backdrop#2789

@klonos
Copy link
Member Author

klonos commented Jul 10, 2019

Download and place them into the appropriate subdirectories...

^^ we should not be assuming that missing projects are available for download (think custom ones for example). Ideas for better wording? ...I don't like "move them" either, because it implies that they are available, but not in the right directory.

@klonos
Copy link
Member Author

klonos commented Jul 10, 2019

PR up for review: backdrop/backdrop#2789

Screen Shot 2019-07-11 at 3 35 35 am

@klonos
Copy link
Member Author

klonos commented Jul 10, 2019

Other things that should be noted (separate issues):

  • We still need to fix [UX] Installation requirements page looks broken #2873, because that page looks ugly.

  • Need to test what the installer does with themes and layouts when they are added as dependencies in profiles.

  • If internet connection is available (not installing on one's local for instance), should we automatically (after confirmation) download missing dependencies, and place them in the proper directory?

  • Need to test if "nested" dependencies work properly (modules installed in the correct order for example).

  • backdrop_system_listing() should be improved. Instead of this:

  // Get a list of projects that exist in Backdrop's assorted subdirectories.
  $present_projects = array();
  foreach (backdrop_system_listing('/^' . BACKDROP_PHP_FUNCTION_PATTERN . '\.module$/', 'modules', 'name', 0) as $present_module) {
    $present_projects[] = $present_module->name;
  }
  foreach (backdrop_system_listing('/^' . BACKDROP_PHP_FUNCTION_PATTERN . '\.info$/', 'themes', 'name', 0) as $present_theme) {
    $present_projects[] = $present_theme->name;
  }
  foreach (backdrop_system_listing('/^' . BACKDROP_PHP_FUNCTION_PATTERN . '\.info$/', 'layouts', 'name', 0) as $present_layout) {
    $present_projects[] = $present_layout->name;
  }

...we should be able to do something like this:

  // Get a list of projects that exist in Backdrop's assorted subdirectories.
  $present_projects = array();
  foreach (backdrop_system_listing('/^' . BACKDROP_PHP_FUNCTION_PATTERN . '\.module$/', array('modules', 'themes', 'layouts'), 'name', 0) as $present_project) {
    $present_projects[] = $present_project->name;
  }

@stpaultim
Copy link
Member

See: #3926

@klonos klonos added this to Low priority in Bugs Oct 10, 2019
@jenlampton jenlampton moved this from Big bug bucket to Smaller bug bucket in Bugs Oct 17, 2019
@ghost ghost added the blocked label May 29, 2020
@ghost
Copy link

ghost commented May 29, 2020

I think Backdrop "assumes only modules" because that's the only type of dependency we currently support. If/once #3926 gets in, then this issue can move forward. Making as 'blocked' until then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Bugs
  
Smaller bug bucket
Development

No branches or pull requests

2 participants