I raised these issues in issue 'Option to clean up missing module' but was asked to start a new issue if I still had problems.
1. Although version 1.1 now produces a list of missing modules it only consists of a series of links. There is nothing to show the name of the module. (see screenshot.)
This error was reported by the author to have been fixed and to see the latest dev version, however as of the time of writing this the project screen only shows one version - version 1.1 with today's date. Where is the 'latest dev version'?
2. Clicking on the 'remove' link results in an 'internal server error'. The url it is trying to access is, for example:
http://%mysite%/admin/reports/status/remove_module/%modulename%
This path does not exist, especially when clean-urls is turned off which is typically the case having just updated and been confronted with a load of 'missing modules' warnings.
The link should be to 'http://%mysite%/?q=admin/reports/status/remove_module/%modulename%'
Peters196
Comment | File | Size | Author |
---|---|---|---|
#9 | missing_module.png | 8.98 KB | jalpesh |
#7 | missing_module_name_and-2771311-7.patch | 770 bytes | helmo |
#6 | Status Report 2.jpg | 268.75 KB | Peters196 |
#5 | invalid_link_2771311_1.patch | 2.2 KB | jalpesh |
#2 | invalid-link_2771311.patch | 976 bytes | jalpesh |
Comments
Comment #2
jalpesh CreditAttribution: jalpesh as a volunteer and at Cybage Software Pvt Ltd. commentedI have try to fix it by adding base_url and base_path.
Can you please verify it by disable/enable module after applying patch.
Comment #3
Peters196 CreditAttribution: Peters196 commentedDisable and Remove appear to be working fine now, even with Clean-URLs disabled, after applying your patch. Thank you.
Have you got a patch to fix the problem with it not showing the name of the module next to the link/disable/remove links?
Comment #4
Peters196 CreditAttribution: Peters196 commentedJust a thougt! For each missing module listed I get a Drupal User Warning telling the module is missing (which is probably to be expected), but in addition to that, for each missing module I get another warning:
Warning: htmlspecialchars() expects parameter 1 to be string, array given in check_plain() (line 1828 of /home/beechhill/public_html/includes/bootstrap.inc).
Is this a possible indication that you are attempting to print a special character(s) in the position where the module name should appear?
Comment #5
jalpesh CreditAttribution: jalpesh as a volunteer and at Cybage Software Pvt Ltd. commentedLets add check_plain for module name. It would be great if you can share the screen shot of issue so it will help us to investigate.
Disable/enable module after applying patch.
Comment #6
Peters196 CreditAttribution: Peters196 commentedYour patch didn't fix the problem, however, i looked through your code in missing_module.install and think I have found the problem. I think, in your loop for listing the missing modules the line starting @module_path should read $mm_name rather than $mm_path:
I didn't completely follow the program but making that change show the name of the missing module as can be seen from screenshot 2.
I hope this helps.
Comment #7
helmo CreditAttribution: helmo at Initfour websolutions for Aegir Cooperative commentedAdding check_plain should not be needed, the t function does that for @variable placeholders.
About the base path and url ... I think the url() function solves that .... see patch
Comment #8
Peters196 CreditAttribution: Peters196 commentedThe Special characters warning disappeared when I changed $mm_path to $mm_name.
Comment #9
jalpesh CreditAttribution: jalpesh as a volunteer and at Cybage Software Pvt Ltd. commented@helmo,
Yup your patch work and you are right about check_plain not needed as it was already confirm by @Peters196.
@Peters196,
As I am not able to reproduce the special character warning so not in position to confirm that by changing $mm_path to $mm_name, it does solve the issue or not.
But,
@helmo and @Peters196,
I can see that the drupal.org link of link to module on drupal.org(http://drupal.org/project/notifications_tags) is wrong for notifications_tags. A reason behind is that notifications_tags module is a sub module of notification so the link should be https://www.drupal.org/project/notifications not http://drupal.org/project/notifications_tags. I have attach screen shot for more details.
Let me know your thought. Thanks.
Comment #10
Peters196 CreditAttribution: Peters196 commentedFrom what I have seen from other Drupal modules the convension seems to be that a sub-module name is of the form: mainmodulename - underscore - submodulename
I had a number of these in my original list of 16 missing modules.
I think it would be unreasonable to expect to Drupal.org to have a separate page for each sub-module so maybe the best solution as far as generating the link is concerned would be to truncate $mm_name removing everything from the first underscore and beyond such that 'notifications_tags' becomes 'notifications' and the link takes you to the page relating to the parent module which I expect would be page of interest to most users.
note that in my original list I had other 'notifications' sub-modules and the parent 'notifications' module which I later deleted (see my first screenshot).
Comment #11
jalpesh CreditAttribution: jalpesh as a volunteer and at Cybage Software Pvt Ltd. commented@Peters196,
I agree with you, it is unreasonable to expect to Drupal.org to have a separate page for each sub-module but the logic that you have mention to truncate everything after underscore(_) won't work. There are lots of module which will come with underscore(_) itself.
Example:
field_collection(https://www.drupal.org/project/field_collection)
menu_attributes(https://www.drupal.org/project/menu_attributes)
jump_menu (https://www.drupal.org/project/jump_menu)
email_verify (https://www.drupal.org/project/email_verify)
jquery_update (https://www.drupal.org/project/jquery_update)
etc...
I think we need to find some other solution. Thanks.
Comment #13
helmo CreditAttribution: helmo at Initfour websolutions for Aegir Cooperative commentedI've committed the patch from #7 so we can focus on the sub-module issue.
In #1796860: Search for "lost" modules which are not installed but downloaded. there is a check for it being a sub module:
$module->info['project'] != $module->name
We'd have to fetch more project info though...
Comment #14
jalpesh CreditAttribution: jalpesh as a volunteer and at Cybage Software Pvt Ltd. commentedAs we discover a new issue while fixing this issue, I have create a new issue to track it batter way Wrong drupal.org missing module link
I will mark this issue as fix, as the changes was already committed in 7.x-1.x.