In .info file the module dependencies property should have a download link as optional parameter.
On page admin/build/modules, if the dependent module is missing, then a download link should be displayed.
download link = (d.o.) project page

Comments

pasqualle’s picture

Component: base system » user interface text

ok, the download link in the .info file is not necessary if the module is on drupal.org, which is 99.9% of all cases.
just do is as update_status do, find it on d.o by project name..

ssm2017 Binder’s picture

i think that it can be a good idea to allow to add a link for the dependencies.
this can display a linked module name in the dependencies on the module list page.
if the link is not present, use the drupal.org/project link
if the link is present, display the link
( for example, on today, i need to install a module that needs a dependency, this module is asking me to install the module called "content" and i needed a long time to see that "content" module is in fact "cck".... )

Anonymous’s picture

Sounds like a good idea, but it's actually a little more complicated than it sounds. (At least if you want to do it without potentially killing security.) You can check out the plugin manager modules for more details.

pasqualle’s picture

a download link is a security risk?

Anonymous’s picture

Sorry. I misunderstood. I assumed the purpose of the download link was to cause Drupal to download and install the missing modules. (Which could have security implications.) If the download link is just a link where you can manually download it, then that shouldn't be a problem.

dave reid’s picture

traviscarden’s picture

I strongly agree with this idea, though I think a link to the project page for the missing module, rather than a direct download link (if that is indeed what was intended above) would be a better option, since a module may have multiple versions available, and it would be both less complicated and more courteous to send the user to the project page and let them decide which version they want.

callison’s picture

Status: Active » Needs review
StatusFileSize
new929 bytes

Here's a patch. As mentioned in #2, a link in .info is not necessary. All I did was link to the Drupal project page. Granted, this wouldn't work if there is no project on drupal.org for this module, but in just about every case, this would work perfectly.

Status: Needs review » Needs work

The last submitted patch failed testing.

callison’s picture

StatusFileSize
new929 bytes

Take #2 - I keep having trouble with unix line-endings. I think it's something to do with my CVS patch settings.

callison’s picture

Status: Needs work » Needs review
StatusFileSize
new929 bytes

The above patch may have applied fine, but I'm going to do it again (after changing my CVS settings).

Status: Needs review » Needs work

The last submitted patch failed testing.

callison’s picture

Status: Needs work » Needs review
StatusFileSize
new999 bytes

Well, after 3 patches, I think I finally got it. Used Eclipse's CVS functions.

pasqualle’s picture

I found one real problem with this.
example: for media_brightcove module dependencies[] = emvideo, but emvideo is a submodule in emfield module
so http://drupal.org/project/emvideo is a page not found..

we need better logic to find the missing modules.. Probably a service which can tell the project page of any Drupal module/submodule/theme/subtheme. Drupal project discovery tool.

dave reid’s picture

Yeah this is a tough one to solve with lots of unhappy fringe cases.

callison’s picture

Well, does anyone know to go about getting a service (as mentioned in #14) or something like this going? I thought we could integrate something from the drupal updates feed or something, but that only includes parent modules, too. As far as I can tell, this would just need to be a pretty simple index of all the .info files registered in the CVS with a URL for the project's page.

pasqualle’s picture

callison’s picture

That's great. So, where will this information be available to use in our case? Will this be installed on drupal.org I guess?

sivaji_ganesh_jojodae’s picture

subscribing, this is something i wish to see in drupal.

greg.harvey’s picture

Version: 7.x-dev » 8.x-dev
Status: Needs review » Postponed

Let's move this out of the D7 issue queue. It seems it is not resolvable with the current system of dependencies in .info files (see #14) so we can't do anything with this until the way .info files are created is re-visited. I guess this would be a separate issue, and I don't know if it even exists yet...?

xano’s picture

Subscribing.

jibran’s picture

Status: Postponed » Active
klonos’s picture

Title: Download link for missing module » Allow for an optional 'download link' entry in the .info/.yml files so that missing module dependencies can be rendered as links.
Issue summary: View changes
rootwork’s picture

Status: Active » Needs review
StatusFileSize
new2.25 KB

So here's the most recent patch from #2182493: Missing required modules in the modules admin page should be links to the respective projects on d.o. Note this patch fails tests, but I figured it'd be useful to have a patch against 8.x.

Status: Needs review » Needs work

The last submitted patch, 24: drupal-core-missing-required-module-link-2182493-3.patch, failed testing.

pasqualle’s picture

In the dependencies list
- core module [block] should not display a link
- module already downloaded should not display a link
- missing contrib module [webform] should automatically display a link to d.o project page
- missing contrib submodule [admin_menu_toolbar] needs the download link configured in info file
- missing module which is hosted outside drupal.org [custom_message] needs the download link configured in info file

If there is no download link configured and the module is not a core module, then the module should be considered as a contrib module hosted on d.o.

the yml file configuration could be something like:

dependencies:
 - block
 - webform
 - admin_menu_toolbar
 - custom_message
updates:
 admin_menu_toolbar: https://drupal.org/project/admin_menu
 custom_message: http://windmill.sk/project/module/custom_message

or

"project pages":
 admin_menu_toolbar: admin_menu
 custom_message: http://windmill.sk/project/module/custom_message

I think updates is not a good name, as it is not really an update url, and projects hosted on d.o do not need the full url.

klonos’s picture

- core module [block] should not display a link

The patch in #24 alters only entries in the list that have the admin-missing class. AFAIK disabled core modules will never have this class (they ship with core - they will never be missing. Perhaps disabled, but never missing). So I think this pretty much handles that case.

Same with already downloaded but disabled contrib modules. So this is taken care of too:

- module already downloaded should not display a link

If there is no download link configured and the module is not a core module, then the module should be considered as a contrib module hosted on d.o.

This sounds like a sensible default to me. Of course there'll be cases such as missing contrib not hosted on d.o (custom modules for example), but I believe we can safely say we handle the majority here and this sounds like an 80/20 case. For these edge cases we should offer the download link entry in .info/.yml files as proposed in this issue.

Version: 8.0.x-dev » 8.1.x-dev

Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.

Bug reports should be targeted against the 8.1.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.1.x-dev » 8.2.x-dev

Drupal 8.1.9 was released on September 7 and is the final bugfix release for the Drupal 8.1.x series. Drupal 8.1.x will not receive any further development aside from security fixes. Drupal 8.2.0-rc1 is now available and sites should prepare to upgrade to 8.2.0.

Bug reports should be targeted against the 8.2.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

MaskyS’s picture

Version: 8.2.x-dev » 8.3.x-dev
Priority: Normal » Major
Status: Needs work » Active
Issue tags: +feature request, +Usability

Anyone still interested on working on this? I think that this should definitely be implemented, but with a standard which specifies to include only links to drupal.org project pages.

rootwork’s picture

@Kifah Meeran I think it'd be a great feature. I can see the argument for allowing links to third-party libraries, but I guess since the dependencies listed on the module page will always be modules, it would make sense to restrict the links to d.o projects.

In any case, I hope work on this will continue. I can help contribute and review.

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.0-alpha1 will be released the week of January 30, 2017, which means new developments and disruptive changes should now be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.0-alpha1 will be released the week of July 31, 2017, which means new developments and disruptive changes should now be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.0-alpha1 will be released the week of January 17, 2018, which means new developments and disruptive changes should now be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.6.x-dev » 8.7.x-dev

Drupal 8.6.0-alpha1 will be released the week of July 16, 2018, which means new developments and disruptive changes should now be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.7.x-dev » 8.8.x-dev

Drupal 8.7.0-alpha1 will be released the week of March 11, 2019, which means new developments and disruptive changes should now be targeted against the 8.8.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.0-alpha1 will be released the week of October 14th, 2019, which means new developments and disruptive changes should now be targeted against the 8.9.x-dev branch. (Any changes to 8.9.x will also be committed to 9.0.x in preparation for Drupal 9’s release, but some changes like significant feature additions will be deferred to 9.1.x.). For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.9.x-dev » 9.1.x-dev

Drupal 8.9.0-beta1 was released on March 20, 2020. 8.9.x is the final, long-term support (LTS) minor release of Drupal 8, which means new developments and disruptive changes should now be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 9.1.x-dev » 9.2.x-dev

Drupal 9.1.0-alpha1 will be released the week of October 19, 2020, which means new developments and disruptive changes should now be targeted for the 9.2.x-dev branch. For more information see the Drupal 9 minor version schedule and the Allowed changes during the Drupal 9 release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Drupal 9.2.0-alpha1 will be released the week of May 3, 2021, which means new developments and disruptive changes should now be targeted for the 9.3.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.0-rc1 was released on November 26, 2021, which means new developments and disruptive changes should now be targeted for the 9.4.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.0-alpha1 was released on May 6, 2022, which means new developments and disruptive changes should now be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.5.x-dev » 10.1.x-dev

Drupal 9.5.0-beta2 and Drupal 10.0.0-beta2 were released on September 29, 2022, which means new developments and disruptive changes should now be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 10.1.x-dev » 11.x-dev

Drupal core is moving towards using a “main” branch. As an interim step, a new 11.x branch has been opened, as Drupal.org infrastructure cannot currently fully support a branch named main. New developments and disruptive changes should now be targeted for the 11.x branch, which currently accepts only minor-version allowed changes. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

smustgrave’s picture

Status: Active » Postponed (maintainer needs more info)
Issue tags: - +stale-issue-cleanup

Thank you for sharing your idea for improving Drupal.

We are working to decide if this proposal meets the Criteria for evaluating proposed changes. There hasn't been any discussion here for over 8 years which suggests that this has either been implemented or there is no community support. 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!

Version: 11.x-dev » main

Drupal core is now using the main branch as the primary development branch. New developments and disruptive changes should now be targeted to the main branch.

Read more in the announcement.