Custom menu item still exist
Custom menu item gone
Doesn't matter
The problem seems to be in "libraries/cms/installer/adapter/component.php" and there in "_removeAdminMenus". This function removes admin menu items based on the extension id, it doesn't filter on a menutype because in the past all menu items with client_id == 1 are part of the admin menu.
Because the condition were so clean and simple in the past the easy way of delete all and re-create worked. With having more then one admin menu this has changed.
Labels |
Added:
?
|
I see two things that should be done. Please confirm if I am right at this.
\JInstallerAdapterComponent::_removeAdminMenus
to remove only the protected menu items, i.e. - menutype == 'main'
and leave alone other menutypes.\JInstallerAdapterComponent::_updateSiteMenus
to update the admin menus as well.@izharaazmi
I also remarked some other issues (legacy site):
menu
. Only main
. This should be changed in both code and lang strings.protected
items which should not be....remarked some other issues (legacy site):
Other issues.
This is the menu item link for specific menu type for creating these menu items
Menu Item of type components...
What were they for? I don't remember that right.
This is the menu item link for specific menu type for creating these menu items
OK, got it. It's a direct link to display the menu items belonging to a specific menu type or All menu items. I guess the DESC should be more precise.
The Menu item of type Components, if I remember well, was displaying exactly the same items as the default current admin menu Components, and it was customisable to include or not all the corresponding menu items (including newly installed extensions).
Ok, found out.
It is very hard to find. Something has to be done for that.
One has first to choose a sub-title Menu Item an then in the second tab is displayed the Component Menu Container.
This is a very important feature. Maybe we need a new specific choice in the Select box.
@infograf768 May be we should move it to first tab?
@infograf768 May be we should move it to first tab?
Not enough imho. Ideal would be to display it in the pop-up select list by itself. It is the best way I see. As it is now it displays in System Links.
Another possible but not as good solution would be to change the string label and desc when client is admin. In this case, yes, displaying the field in the first tab would be better than now.
One of my issues ( #13642 (comment) ) is solved by #13650
I think this one is actually an important issue as it basically makes the whole feature useless.
To recap: After updating an extension, all custom menuitems are removed. Imagine an agency setting up a custom admin menu for the customer and then after the next round of updates - Badoom - half of the menu is gone. All items for the updated extensions are missing.
Imho, this should be a release blocker as it completely breaks the new feature. What do you think @rdeutz ?
I proposed a solution above and working on it too. Will send few PRs this
Monday hopefully.
Yep, saw that comment (#13642 (comment)) and it sounded good.
I just want to make sure it doesn't get forgotten.
Labels |
Added:
?
|
Added the labels so it sticks out. Robert can adjust it if he thinks it's wrong.
I agree this is important, we need to figure this out before next Tuesday (Release day for beta1). I think the developer of the current code took the easy path (nothing wrong whit it) delete and recreate will always work. But now I think we need to compare the current admin menu with the admin menu that would be created with the update.
For the protected mainmenu, the "Components" part could still be done the old way. It's just the custom menus which should not be touched. There the same mechanics like in frontend should apply. If the component doesn't exist anymore, the link can be disabled and when a view doesn't exist anymore it just gives a 404.
Status | New | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2017-02-02 18:48:56 |
Closed_By | ⇒ | Kubik-Rubik |
Labels |
Removed:
?
|
@izharaazmi Do you have an idea what we can do to fix this problem.