airflow icon indicating copy to clipboard operation
airflow copied to clipboard

AIP-68 | Merge iframe_views and appbuilder_menu_items

Open bbovenzi opened this issue 7 months ago • 0 comments

Description

iframe_views and appbuilder_menu_items are very similar. We should merge them together to make an external_views plugin option instead.

Use case/motivation

Usability-wise, the only difference between an iframe and a menu-item is where the webpage is rendered inside the UI or in a different tab.

  • [ ] Deprecate appbuilder_menu_item especially since FAB isn't even in the UI anymore
  • [ ] Change iframe_views to external_views
  • [ ] Update external_views with the following:
    name: string;
    src: string; // -> change to `href` for compatibility
    icon?: string | null;
    dark_mode_icon?: string | null // add this for a better UI
    url_route?: string | null; // if route is specified, then it will be an iframe, otherwise it will be a link
    category?: string | null // only for nav to add to a menu. "user", "admin", "browse", "docs" will put it in the existing menu
    destination?: "nav" | "dag" | "dag_run" | "task" | "task_instance" | null;
    [key: string]: unknown | string;
    

One more UX issue we should document that, for the sake of a clean UI, if there are 3 or more top-level nav plugins, then we will move them to a single "Plugins" menu and any existing menus will become submenus.

Related issues

No response

Are you willing to submit a PR?

  • [x] Yes I am willing to submit a PR!

Code of Conduct

bbovenzi avatar Jun 17 '25 18:06 bbovenzi