Creating a Labs service for Presentation Solutions - #95435
Conversation
|
Pinging @elastic/kibana-presentation (Team:Presentation) |
621e612 to
cfc284f
Compare
…vironment_switch.tsx Co-authored-by: Michail Yasonik <michail@yasonik.com>
…periment_list_item.tsx Co-authored-by: Michail Yasonik <michail@yasonik.com>
|
@myasonik Added and tested your change feedback... please take a look and let me know if there's anything else that would make this feature more accessible... and thanks for your review!! :elasticheart: |
|
@elasticmachine merge upstream |
|
Jenkins test this |
myasonik
left a comment
There was a problem hiding this comment.
The a11y fixes look great - thanks!
|
@elasticmachine merge upstream |
poffdeluxe
left a comment
There was a problem hiding this comment.
Very excited about this! Let's talk in today's sync about what's left before this gets merged
69d77c6 to
8a1a057
Compare
💚 Build SucceededMetrics [docs]Module Count
Async chunks
Page load bundle
History
To update your PR or re-run it, just comment with: |
Summary
This is a first attempt at an Labs Service and enablement UI for Canvas and Dashboard.
We have a number of projects coming up that would benefit from being a part of
masterwith a feature flag for testing and evaluation with stakeholders. While there are a number of discussions and even long-term plans for such a system globally provided within Kibana, our need is more immediate, so creating an easily replaceable/alterable service withinpresentation_utilmade sense. It's also a good way to demonstrate our needs while those discussions take place.Features
ProjectConfigallows for a number of options:isActive: whether the experiment is "flipped" in master by default;environments: determines where flags can be set, (see "Environments", below);solutions: determines to which solutions a project applies. This is useful for constraining the list of Projects in theLabsFlyoutdepending on where it is shown, (see "UI Components", below).Environments
Projects can be enabled or disabled in a number of environments:
isActive: in theProjectConfig, we can make an experiment "on by default" in code. It would be expected that this "flip" would be the first step towards removal of the project and its related brancheskibana: this corresponds directly to auiSettingflag.browser: sets the flag inlocalStorageof the browser instance. This means this flag persists after the browser is closed, (but only to the specific Kibana instance).session: sets the flag insessionStorageof the browser instance. This means the flag is reset whenever the tab or window is closed.UI Components
I created a "starting place" for lab project management in a
EUIFlyoutthat can be placed in any solution that has thepresentation_utilcontext enabled. There is also a starter "Beaker Button" that demonstrates how to use the flyout. There are complete Storybook implementations for testing and iteration purposes.