Kibana: [new-platform] Add support for chromeless applications

Created on 25 Jul 2019  路  12Comments  路  Source: elastic/kibana

We need to add support for rendering "chromeless" frontend applications such as Login & Logout pages, session expiration, status page, dashboard mode, etc.

Things chromeless apps need to be able to do:

  • Option to hide Chrome UI when this app is mounted
  • No icon in the left navbar
  • Be able to live at URLs without the /app prefix

    • Currently the backend route that renders the NP is the /app/{appId} route in the app_render_mixin. We will need to be able to support other routes, so we may need to include a backend API that plugins can use to render the NP bundle for a specific app. The legacy platform has a similar API: h.renderApp.

For reference, In the legacy platform we called these "hidden applications."

Related to #18843

New Platform Core blocker

All 12 comments

Pinging @elastic/kibana-platform

Renamed this concept "Chromeless Applications".

I don't think the issue is fully completed. There are several leftovers:

Should be resolved as a part of the current issue, I suppose?
https://github.com/elastic/kibana/issues/54470
https://github.com/elastic/kibana/issues/54472

Wanted to follow-up on the notes left by @restrry to give a status update:

cleanup integration tests for rendering service #52161 (comment)

This is a nice-to-have, as the integration tests for this exist with the rendering service feature, but we want to move the test to a nicer location.

no integration tests for rendering service & csp config #51527 (comment)

This is an outdated comment, no longer applicable.

no integration tests for rendering service NP/LP apps, user settings includeUserSettings: true/false

This is true that this was covered by unit tests, but does not have an integration test. Josh and I discussed over Slack during development that we wouldn't do test variations based on all the options, but I don't think we intended for that to be here as well, so we can add another test here.

no integration tests for a user landing on a chromeless app page, navigating to a chromeless app from NP/LP apps

rendering service API & chromeless apps are not documented in the migration guide

https://github.com/elastic/kibana/pull/54744

Should be resolved as a part of the current issue, I suppose?

54470: Fixing with https://github.com/elastic/kibana/pull/54768

#54472: This is related to the client rendering service, not the server rendering service, so was an existing bug. Fixed with https://github.com/elastic/kibana/pull/54550 by Pierre

This is a nice-to-have, as the integration tests for this exist with the rendering service feature, but we want to move the test to a nicer location.

I think we should go ahead and move this. Now that we have functional plugin tests and real NP plugins, I'd like to remove this testbed plugin completely. I don't think it's much work at all to move it over. The test itself should be a copy/paste.

no integration tests for a user landing on a chromeless app page, navigating to a chromeless app from NP/LP apps

Are we going to address this?

Are we going to address this?

These tests were already existing, but we are removing a little tech debt by moving this to plugin_functional in #54768.

These tests were already existing, but we are removing a little tech debt by moving this to plugin_functional in #54768.

I don't think that test already existing https://github.com/elastic/kibana/pull/54768#issuecomment-574345953
Also not tested yet:

  • navigating to a chromeless app from NP app
  • navigating to a chromeless app from NP app

@eliperelman can you respond to Mikhail's latest comment?

The work for completing chromeless applications is complete, and the remaining testing improvements are being captured in #55405.

Was this page helpful?
0 / 5 - 0 ratings