On-demand loading of dynamic paths and local tasks #1
sun - April 1, 2009 - 16:59
| Project: | Administration menu |
| Version: | 7.x-3.x-dev |
| Component: | Code |
| Category: | task |
| Priority: | critical |
| Assigned: | Unassigned |
| Status: | needs review |
Description
Offshoot from #293768: Allow to enable/disable menu additions:
On-demand loading of sub-links and module objects/data.
- Allow modules to expose a list (sub-menu) of data items below a certain menu item.
- Load this data dynamically on-demand upon hovering.
- Cache these sub-menus in the same way like the entire menu. Make sure that user roles/permissions are taken into account.
- Allow modules to invalidate their sub-menu caches, when an item is created/renamed/altered/deleted.
- Allow modules to expose more than one sub-menu.

#1
We need to re-purpose this issue and start with the basic implementation. Functionality is similar to contextual links in D7 core, but we want more. ;)
smk-ka already did some awesome work on this, so we just need to get that reviewed and in shape. Will post a patch soon.
#2
You need to run update.php after applying this patch.
1) The structure of $expand_map looks awkward, and may very well be the cause for duplicated menu links for Field UI for content types.
2) Looks like we could skip MENU_DEFAULT_LOCAL_TASK with this, but OTOH, I originally envisioned that we want to stack dynamic links below the respective "List" task, so other tasks on the same level are not buried within a potentially large list of dynamic links.
3) Plenty of @todos.