New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Creating a Labs service for Presentation Solutions #95435
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The a11y fixes look great - thanks!
@elasticmachine merge upstream |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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
master
with 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_util
made sense. It's also a good way to demonstrate our needs while those discussions take place.Features
ProjectConfig
allows 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 theLabsFlyout
depending 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 auiSetting
flag.browser
: sets the flag inlocalStorage
of the browser instance. This means this flag persists after the browser is closed, (but only to the specific Kibana instance).session
: sets the flag insessionStorage
of 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
EUIFlyout
that can be placed in any solution that has thepresentation_util
context 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.