This tracks work for migrating all areas owned by App Architecture team to the New Platform.
_Shimming and moving code from ui/public and legacy plugins into shims._
7.2
**Prep Work** - [X] Delete unused items in `ui/public` [#26505] @lizozom - [X] Move in `ui/public` that are only imported in one place [#26505] @lizozom - [X] Document (re)moved items [#33289] @lukeelmers + @lizozom - [X] Initial data plugin framework [#34350] @lukeelmers - [x] Initial embeddables plugin framework [#31941] @stacey-gammon **ui/public modules** - [X] draggable -> moved to ui/vis - [x] fancy_forms -> [moved to vis editor](https://github.com/elastic/kibana/pull/39977) - [x] [filters](https://github.com/elastic/kibana/pull/34555) -> data @lizozom - [x] modals -> [leave behind](https://github.com/elastic/kibana/pull/39976) - [x] number_list -> moved to agg_types - [x] [query_manager](https://github.com/elastic/kibana/pull/36683) -> deleted @lizozom - [x] parse_query - [x] check_box - [x] debounce - [x] dirty_prompt - [x] factories - [x] icons - [x] partials - [x] sortable_column - [x] table_info - [x] toggle_button - [x] toggle_panel - [x] tooltip **Legacy Plugins** - [X] visualization_editor [#35627] @wylieconlon @flash1293
7.3
**Prep Work** - [x] Initial visualizations plugin framework @lukeelmers [#35625] **ui/public modules** - [X] agg_table -> moved into table_vis - [x] pager -> [discover](https://github.com/elastic/kibana/pull/39975) - [x] pager_control -> [discover](https://github.com/elastic/kibana/pull/39975) - [x] paginated_table -> moved to table_vis - [x] doc_table -> moved to discover - [x] doc_viewer -> moved to discover - [x] utils/parse_es_interval -> data (shim only) [#39091] @timroes - [x] [apply_filters](https://github.com/elastic/kibana/pull/36778) -> data @lizozom - [x] [filter_bar](https://github.com/elastic/kibana/pull/37347) -> data @lizozom - [x] [filter_manager](https://github.com/elastic/kibana/pull/37311) -> data @lizozom - [x] [query_bar](https://github.com/elastic/kibana/pull/37162) @lizozom - [x] [search_bar](https://github.com/elastic/kibana/pull/37162) -> data @lizozom - [x] utils/brush_event -> moved to ui/vis/vis_filters @lukeelmers **Legacy Plugins** - [x] markdown_vis -> vis_type_markdown [#38767] @ppisljar
7.4
**ui/public modules** - [x] inspector -> inspector plugin @streamich - [x] markdown -> [kibana-react](https://github.com/elastic/kibana/pull/42684) @lizozom - [x] timepicker -> [kbn_top_nav](https://github.com/elastic/kibana/pull/40603) @lizozom - [x] kbn_top_nav -> kibana-react [#39341][#39518][#40262][#39981][#41900] @lizozom - [x] utils/parse_es_interval -> data (remove directory) [#42917] [#40553] @alexwizp - [x] courier -> leave behind @lukasolson - [x] embeddable -> embeddables [#40489] @streamich - [x] error_allow_explicit_index -> leave behind w courier @lukasolson - [x] [index_patterns -> data](https://github.com/elastic/kibana/issues/43438) [#39247][#40555] @lukeelmers **Legacy Plugins** - [x] timelion -> vis_type_timelion [#38244][#41667] [#43197] [#44039] @alexwizp @Avinar-24 - [x] metrics -> vis_type_tsvb [#38615][#39169] @alexwizp @Avinar-24 (note: shimming part was done, renaming blocked by #33558) - [x] inspector_views -> inspector [#43191], [#43349] @alexwizp π§ - [x] metric_vis -> vis_type_metric [#41669][#42240] @alexwizp π§ - [x] region_map -> ~vis_type_maps~ region_map [#40966] [#40966] @alexwizp @Avinar-24 π§ - [x] table_vis -> vis_type_table [#41248][#38245][#40732][#41248] @alexwizp π§ - [x] tagcloud -> vis_type_tagcloud [#41249][#42348] @alexwizp π§ - [x] tile_map -> ~vis_type_maps~ tile_map [#41265] [#41265] @alexwizp - [x] vega -> vis_type_vega [#38247][#39915][#40032][#41750][#42582] @alexwizp π§
7.5
**ui/public modules** - [x] timefilter -> data @lizozom π§ (moved from 7.4) - [x] searchsource -> data @lukeelmers @ppisljar (moved from 7.4) - [x] [registry -> deprecate; remove all usages of `ui/registry`](https://github.com/elastic/kibana/issues/36705) (moved from 7.4) - We have about ~7 `uiRegistries` on our plate left, some of them will be killed in 7.5, others in 7.6 - [x] `exit_full_screen` -> `kibana-react` - [x] autocomplete_providers -> data(https://github.com/elastic/kibana/issues/42864) - [x] listen -> copy/leave behind - [x] indexed_array -> remove, used in `uiRegistry`, `IndexedPatterns`, other - [x] [`ui/saved_object` React components](https://github.com/elastic/kibana/issues/42865) **Legacy Plugins** - [x] [interpreter](https://github.com/elastic/kibana/issues/44153) @streamich
7.6
**ui/public modules** - [x] [`vis`, `vislib`, `visualize` -> visualizations](https://github.com/elastic/kibana/issues/44121) [#35625][#44839] (moved from 7.4) - [x] management -> management [#38610] @elastic/kibana-app-arch - [x] share -> NP - [x] [value_suggestions -> data (straight to NP)](https://github.com/elastic/kibana/pull/45762) - [x] [`field_wildcard` -> `data/management` or `kibana_utils`](https://github.com/elastic/kibana/pull/45235) - [x] [`storage` π `src/kibana_utils/storage`](https://github.com/elastic/kibana/issues/47160)
7.7
**ui/public modules** - [x] management -> advanced settings -> settings
7.x
_Rewiring stateful dependencies, de-Angularizing, Jestifying, TypeScriptifying, NP-readyfying._
_Moving a plugin from the legacy world to the New Platform—it's when code has moved out of src/legacy and into src/plugins._
__AppArch Plugins__
bfetchdatadata.indexPatternsdata.filterdata.querydata.timefilterdata.uidata.searchdashboard_embeddable_containerembeddableexpressionsinspectormanagementnavigationkibana_reactkibana_utilsui_actionsvisualizationsadvanced_ui_actionsdata_enhanced (includes kuery autocomplete)If youβre splitting plugins, I recommend splitting oss_telemetry to visualize_telemetry, dashboard_telemetry, etc. as appropriate.
@elastic/kibana-app-arch we were long discussing where to move kbn_top_nav.
kbn_top_nav is a UI component has the following features:
NavBarExtensionsRegistryProvider)I would like to suggest that kbn_top_nav is a react helper for apps and app developers to create and enrich menus. As such, I believe the new platform implementation should reside in the kibana-react plugin.
The @elastic/kibana-design team's thoughts around that top menu is to remove it altogether as a component that plugins must extend. We're seeing more and more that each application is using their own style of "menu bar" β for good reason as most plugins are unique.
Instead, what we should provide is more of an established pattern and/or component in EUI. This way, they should all look and behave the same but don't rely on a heavily dictated service within Kibana. The design team can add this to our roadmap for 7.4 as something that should be thought out.
You're welcome to move all those current services to where appropriate but I probably wouldn't put effort into expanding the capabilities.
Migration plans for our main services:
Most helpful comment
The @elastic/kibana-design team's thoughts around that top menu is to remove it altogether as a component that plugins must extend. We're seeing more and more that each application is using their own style of "menu bar" β for good reason as most plugins are unique.
Instead, what we should provide is more of an established pattern and/or component in EUI. This way, they should all look and behave the same but don't rely on a heavily dictated service within Kibana. The design team can add this to our roadmap for 7.4 as something that should be thought out.
You're welcome to move all those current services to where appropriate but I probably wouldn't put effort into expanding the capabilities.