-
Notifications
You must be signed in to change notification settings - Fork 8.2k
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
Empty index patterns page re-design #68819
Empty index patterns page re-design #68819
Conversation
@mattkime I think this PR is now ready to be passed on to you. There were a few NP problems I ran into with regards to snapshots that were beyond my skills. But here is a list for what is left
|
@elasticmachine merge upstream |
merge conflict between base and head |
@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.
Added a few minor comments. My only larger question is around this environment
API -- it seems to me that the ultimate use of this is to make the cards showing various ingestion options pluggable.
If that's the case, rather than having the somewhat abstract concept of an "environment" which needs to be aware of all of the different plugins which will be consuming the API, should we not instead make the API a registry of cards which are included in the UI?
Then the ML plugin would handle the permissions checks & register the "upload" card directly, and the only thing index patterns management needs to do is render cards from the registry alongside the others.
To me it seems this would be an easier API to grok and make more sense long term (assuming we plan to keep this API around and it isn't just a temporary solution)
...ex_pattern_wizard/components/step_index_pattern/components/status_message/status_message.tsx
Show resolved
Hide resolved
...mponents/index_pattern_table/empty_index_pattern_prompt/assets/index_pattern_illustration.js
Outdated
Show resolved
Hide resolved
...omponents/index_pattern_table/empty_index_pattern_prompt/empty_index_pattern_prompt.test.tsx
Outdated
Show resolved
Hide resolved
...s/index_pattern_management/public/components/index_pattern_table/empty_state/empty_state.tsx
Outdated
Show resolved
Hide resolved
...s/index_pattern_management/public/components/index_pattern_table/empty_state/empty_state.tsx
Show resolved
Hide resolved
The card is shown when the ML plugin is not present. The api is based off the api used by the home page, although with additional functionality. I don't know what additional cards would be placed here, therefore a more complete api seems like over engineering. Its also possible that the api for discovering features will change - similar code in the home app has warning that state such. I think this is a situation where good enough is good enough. |
Ah, I misunderstood. Then I guess my follow-up question would be: Can this be simplified by checking the core capabilities service in the index patterns management plugin directly? Then you don't need the ml -> index pattern mgmt dependency. In the ML plugin the check looks like this:
Is this not something we can instead check in index patterns directly, or is there something else going on that would prevent us from doing this? |
We're really performing two checks - can we use the feature? Should we be prompted to switch from OSS to basic? But we can't check the license directly because that code is in xpack. So we definitely need something registering on the index pattern management that communicates the license level. The existence of the ml plugin is being used to verify we're at least at basic. Honestly, I think the amount of communication this has required indicates that something isn't very good but I'm not sure what to change. But I guess the complexity is due to oss vs xpack so thats not going away. |
💚 Build SucceededBuild metrics@kbn/optimizer bundle module count
async chunks size
page load bundle size
To update your PR or re-run it, just comment with: |
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 existence of the ml plugin is being used to verify we're at least at basic.
Yeah I guess what I was wondering is if performing the ML capability check for canFindFileStructure
would solve for both cases, as the capability would never be present in an OSS only distribution since the ML plugin would not exist to register it. But since basic licenses could previously "expire" I guess this wouldn't work in all cases, as feature controls are not yet license-aware.
I think identifying a pattern for dealing with these scenarios will be important as I expect them to become more prevalent, however IMO it's not worth delaying this PR over it. I've added it as a topic for an upcoming shared services sync.
Code updates LGTM!
@@ -16,7 +16,8 @@ | |||
"share", | |||
"embeddable", | |||
"uiActions", | |||
"kibanaLegacy" | |||
"kibanaLegacy", | |||
"indexPatternManagement" |
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.
nit: This probably doesn't have to be a required plugin, but since there's already a hard requirement on the data
plugin which houses the index patterns service, it probably doesn't make a difference whether it's required or optional.
Empty index patterns page re-design
Empty index patterns page re-design Co-authored-by: Caroline Horn <[email protected]>
* master: (28 commits) [Task manager] Prevents edge case where already running tasks are reschedule every polling interval (elastic#74606) [Security Solution] Fix the status of timelines' bulk actions (elastic#74560) Data plugin: Suggested enhance pattern (elastic#74505) Use jest.useFakeTimers instead of hard coded timeout for tooltip tests. (elastic#74642) [Security Solution][lists] Adds tests for exception lists and items part 2 (elastic#74815) [Security Solution][Resolver] fix presentation role on edgeline (elastic#74869) [Security Solution][Detections] Refactor ML calls for newest ML permissions (elastic#74582) [bin/kibana-plugin] support KP plugins instead (elastic#74604) Reduce number of indexed fields in index pattern saved object (elastic#74817) [reporting] Pass along generic parameters in high-order route handler (elastic#74892) Migrated last pieces of legacy fixture code (elastic#74470) Empty index patterns page re-design (elastic#68819) [babel] coalese some versions to prevent breaking yarn install (elastic#74864) [Dashboard First] Decouple Attribute Service and By Value Embeddables (elastic#74302) Revert "[reporting] Pass along generic parameters in high-order route handler" (elastic#74891) [reporting] Pass along generic parameters in high-order route handler (elastic#74879) [src/dev/build] implement a getBuildNumber() mock (elastic#74881) [Enterprise Search] Add solution-level side navigation (elastic#74705) [DOCS] Canvas docs 7.9 refresh (elastic#74000) [Security Solution][Resolver]Enzyme test related events closing (elastic#74811) ...
…le-buffer-with-update-of-same-id * upstream/master: (37 commits) [Task manager] Prevents edge case where already running tasks are reschedule every polling interval (elastic#74606) [Security Solution] Fix the status of timelines' bulk actions (elastic#74560) Data plugin: Suggested enhance pattern (elastic#74505) Use jest.useFakeTimers instead of hard coded timeout for tooltip tests. (elastic#74642) [Security Solution][lists] Adds tests for exception lists and items part 2 (elastic#74815) [Security Solution][Resolver] fix presentation role on edgeline (elastic#74869) [Security Solution][Detections] Refactor ML calls for newest ML permissions (elastic#74582) [bin/kibana-plugin] support KP plugins instead (elastic#74604) Reduce number of indexed fields in index pattern saved object (elastic#74817) [reporting] Pass along generic parameters in high-order route handler (elastic#74892) Migrated last pieces of legacy fixture code (elastic#74470) Empty index patterns page re-design (elastic#68819) [babel] coalese some versions to prevent breaking yarn install (elastic#74864) [Dashboard First] Decouple Attribute Service and By Value Embeddables (elastic#74302) Revert "[reporting] Pass along generic parameters in high-order route handler" (elastic#74891) [reporting] Pass along generic parameters in high-order route handler (elastic#74879) [src/dev/build] implement a getBuildNumber() mock (elastic#74881) [Enterprise Search] Add solution-level side navigation (elastic#74705) [DOCS] Canvas docs 7.9 refresh (elastic#74000) [Security Solution][Resolver]Enzyme test related events closing (elastic#74811) ...
* upstream/master: (45 commits) [Metrics UI] Fix inventory footer misalignment (elastic#74707) Remove legacy optimizer (elastic#73154) Update design-specific GH code-owners (elastic#74877) skip test Reporting paginates content elastic#74922 [Metrics UI] Add Jest tests for alert previews (elastic#74890) Fixed tooltip (elastic#74074) [Ingest Pipelines] Processor forms for processors A-D (elastic#72849) [Observability] change ingest manager link (elastic#74928) [Task manager] Prevents edge case where already running tasks are reschedule every polling interval (elastic#74606) [Security Solution] Fix the status of timelines' bulk actions (elastic#74560) Data plugin: Suggested enhance pattern (elastic#74505) Use jest.useFakeTimers instead of hard coded timeout for tooltip tests. (elastic#74642) [Security Solution][lists] Adds tests for exception lists and items part 2 (elastic#74815) [Security Solution][Resolver] fix presentation role on edgeline (elastic#74869) [Security Solution][Detections] Refactor ML calls for newest ML permissions (elastic#74582) [bin/kibana-plugin] support KP plugins instead (elastic#74604) Reduce number of indexed fields in index pattern saved object (elastic#74817) [reporting] Pass along generic parameters in high-order route handler (elastic#74892) Migrated last pieces of legacy fixture code (elastic#74470) Empty index patterns page re-design (elastic#68819) ...
Re-do of #64258
Fixes #57401
As detailed in the issue referenced above this PR addresses the empty screens of
Management / Index Patterns
.Screenshots below indicate "Before" on the left, and "After" on the right
No data
The screen above also shows the case where the license may not include a specific feature.
No index patterns
Those are the main new screens. Below are some slight updates to current screens.
Creation Wizard
Listing page
Checklist