?
avatar nikosdion
nikosdion
18 Jan 2017

FOFUtilsInstallscript lines 688 to 716 are incompatible with the admin menu manager introduced with #13036 These lines assume that there is exactly one admin menu item pointing to a component and deletes it so that Joomla can create it afresh. This worked around a recurring bug in Joomla! extensions installer which would completely remove the menu item of an extension on update if, for any reason, the component's extension ID changed. Since you can now have multiple custom menu items pointing to a component this code would remove said items on extension installation. Therefore that code has to be removed from Joomla! 3.7.

Disclaimer: FOF 2.x is End of Life and no longer supported by Akeeba Ltd. I am filing this issue as a courtesy. You can choose to fix this or ignore it. Just don't point people my way when their software / sites inevitably break in unexpected ways because of this known issue in End of Life software. Thanks.

avatar nikosdion nikosdion - open - 18 Jan 2017
avatar joomla-cms-bot joomla-cms-bot - change - 18 Jan 2017
Labels Added: ?
avatar joomla-cms-bot joomla-cms-bot - labeled - 18 Jan 2017
avatar rdeutz
rdeutz - comment - 18 Jan 2017

Can give me a hint how I can make this happened, just a guess:

  • I need a fof2 extension
  • I need two admin menus pointing to the fof extension
  • I need to update the fof2 extension
avatar nikosdion
nikosdion - comment - 18 Jan 2017

Correct. Let me clarify.

A. It would have to be a FOF 2 extension using the FOF 2 bundled with Joomla (not the F0F fork I was using for old versions of my software)

B. How would you end up with two menu items pointing to the extension (without a view specified!)? Well, one is created on installation. You can then create another one through the menu manager.

Granted, it's a bit of a stretch BUT I can see "interesting" things happening when nobody expects it.

I hope that Joomla! 4 will be released soon, without FOF 2, finally letting that old code base die peacefully :)

avatar rdeutz
rdeutz - comment - 18 Jan 2017

After looking at it a bit deeper I am not longer sure that this can result in a problem. The custom admin menu has a different menutype, the code I removed is removing rows only from menutype == main. So it seems to me that it might remove the row but then it gets recreated and all is good.

I am much more concerned about the part

of an extension on update if, for any reason, the component's extension ID changed.

because the admin menu uses the component_id (== extension_id) if this id changes for whatever reason the menu is broken. Do you know under which circumstances this will happen?

avatar rdeutz
rdeutz - comment - 18 Jan 2017

That's fun. I dug a bit deeper and a problem I have found is that the component installation adapter deletes all admin menu items before it creates a new menu. So after a extension install all custom menus are gone. Has nothing to do with the issue here besides the fact that this was that sttarting point to find another issue.

avatar rdeutz rdeutz - change - 18 Jan 2017
Status New Closed
Closed_Date 0000-00-00 00:00:00 2017-01-18 17:20:58
Closed_By rdeutz
avatar rdeutz rdeutz - close - 18 Jan 2017
avatar rdeutz
rdeutz - comment - 18 Jan 2017

closing because we have a PR #13639

Add a Comment

Login with GitHub to post a comment