• Resolved imincognito

    (@imincognito)


    I’m noticing that, when plugins are updated, menu items are not assigned to the proper AME menu – there are 2 scenarios:

    1. existing plugin with a single item (e.g. Tidio) – plugin updates, but there’s still only 1 item
    Not sure I can state unequivocally that this always happens, but I just updated Tidio and AME moved it from its original menu (i.e. the one I created) to the root menu. If a plugin has one item and it’s been assigned to menu X, then when it gets updated, I think it should still be in that menu.

    2. existing plugin with multiple items – plugin adds a new item
    AME can’t figure out where to place the new item, so it puts it in the root menu. But I think AME should be able to associate a new item with its parent plugin and assign the new item to the same menu as all the other items associated with that plugin (I never split a plugin’s items across multiple admin menus).

    This can be material when I update all my plugins and they spit out new items, all of which show up in the root menu. And because of the often ambiguous titles for those items, chasing down where they belong can be a real hassle.

    • This topic was modified 3 years, 1 month ago by imincognito.
Viewing 3 replies - 1 through 3 (of 3 total)
  • Plugin Author Janis Elsts

    (@whiteshadow)

    1. existing plugin with a single item (e.g. Tidio) – plugin updates, but there’s still only 1 item

    It’s hard to say for sure what happened there, but I would guess that the update changed the menu URL. Admin Menu Editor identifies menu items by their URLs, so when the URL changes, the plugin will treat it as a new menu item and put it in the default location. If the item is registered as a top-level menu, the default is to put it in the root menu.

    I don’t think there’s an easy fix for this. In theory, Admin Menu Editor could use something else to identify menu items, but none of the options that I can think of would be more reliable than URLs:

    • Titles are less unique and change more often (e.g. when using translations).
    • HTML IDs are typically based on slugs. Slugs are also used in menu URLs, so when the URL changes, the ID will usually also change.
    • Icons are less unique than URLs.
    • Most menu items don’t have custom CSS classes.
    • Callback handlers are probably as unique as URLs, but harder to work with and (slightly) worse for performance.

    I suppose we could combine a few of the above to get a more accurate solution. However, I suspect it would be a small improvement that wouldn’t justify adding more complex code to every admin page.

    2. existing plugin with multiple items – plugin adds a new item
    AME can’t figure out where to place the new item, so it puts it in the root menu. But I think AME should be able to associate a new item with its parent plugin and assign the new item to the same menu as all the other items associated with that plugin (I never split a plugin’s items across multiple admin menus).

    Normally, AME will try to add a new item to its default parent menu. However, if that parent menu has been moved to a submenu, it will make the item a top-level menu instead.

    Technically, it would be possible to make AME search the menu structure for the original parent menu, and add the new item below the parent. It wouldn’t be the best approach for performance, but maybe the impact would be small in practice. I’ll add this idea to my notes as a possible feature/option.

    Thread Starter imincognito

    (@imincognito)

    OK, thx. The one issue for me is that I now update manually (to intercept plugin conflicts) and, if I update more than one plugin with similar item titles (and that happens a lot ), it can be a hassle figuring out each new item’s parent. I guess I can update one plugin at a time.

    Plugin Author Janis Elsts

    (@whiteshadow)

    Is that something that happens regularly? What I wrote above applies to new and modified menu items, but, at least in my personal experience, plugins don’t change their menus all that often. I would expect this to be a relatively rare issue unless you have a huge number of plugins. If you get the same problem nearly every time you update a particular plugin, that might indicate that there’s actually some kind of a conflict between that plugin and AME.

    If you notice this happening a lot with a specific plugin, please let me know which plugin it was and which plugin versions had this problem when installing an update.

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘Updated Plugins’ is closed to new replies.