Skip to content
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

[Dashboard] Simplify module services #167437

Closed
Tracked by #154677
ThomThomson opened this issue Sep 27, 2023 · 1 comment · Fixed by #193644
Closed
Tracked by #154677

[Dashboard] Simplify module services #167437

ThomThomson opened this issue Sep 27, 2023 · 1 comment · Fixed by #193644
Assignees
Labels
Feature:Dashboard Dashboard related features impact:high Addressing this issue will have a high level of impact on the quality/strength of our product. loe:medium Medium Level of Effort Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas technical debt Improvement of the software architecture and operational architecture

Comments

@ThomThomson
Copy link
Contributor

Problem
The Dashboard plugin currently uses an overcomplicated services layer which requires us to re-state all dependencies, their types and their implementations for stubbed usage, for storybooks (which are mostly unused), and for Kibana. This services layer also causes problems in our adoption of certain Shared UX components, as instead of simply passing in the dependency directly, we need to re-state the dependency fully.

Solution
Instead of the Presentation Util module services, we should standardize on the approach used in the Embeddables plugin. See src/plugins/embeddable/public/kibana_services.ts for more information.

@ThomThomson ThomThomson added Feature:Dashboard Dashboard related features Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas loe:large Large Level of Effort technical debt Improvement of the software architecture and operational architecture impact:high Addressing this issue will have a high level of impact on the quality/strength of our product. labels Sep 27, 2023
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-presentation (Team:Presentation)

@Heenawter Heenawter self-assigned this Sep 19, 2024
@Heenawter Heenawter added loe:medium Medium Level of Effort and removed loe:large Large Level of Effort labels Sep 19, 2024
Heenawter added a commit that referenced this issue Sep 26, 2024
Closes #167437

## Summary

This PR refactors the Dashboard services to no longer use the
`PluginServiceProvider` from the `PresentationUtil` plugin.

### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

### For maintainers

- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Heenawter added a commit to Heenawter/kibana that referenced this issue Sep 26, 2024
Closes elastic#167437

## Summary

This PR refactors the Dashboard services to no longer use the
`PluginServiceProvider` from the `PresentationUtil` plugin.

### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

### For maintainers

- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
(cherry picked from commit ce08d4e)

# Conflicts:
#	src/plugins/dashboard/public/services/saved_objects_tagging/saved_objects_tagging.stub.ts
#	src/plugins/dashboard/public/services/saved_objects_tagging/saved_objects_tagging_service.ts
#	src/plugins/dashboard/public/services/saved_objects_tagging/types.ts
Heenawter referenced this issue Sep 26, 2024
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Dashboard] Cleanup services
(#193644)](#193644)

<!--- Backport version: 8.9.8 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Hannah
Mudge","email":"Heenawter@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-09-26T18:10:33Z","message":"[Dashboard]
Cleanup services (#193644)\n\nCloses
https://github.com/elastic/kibana/issues/167437\r\n\r\n##
Summary\r\n\r\nThis PR refactors the Dashboard services to no longer use
the\r\n`PluginServiceProvider` from the `PresentationUtil`
plugin.\r\n\r\n### Checklist\r\n\r\n- [x] [Unit or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n\r\n### For
maintainers\r\n\r\n- [ ] This was checked for breaking API changes and
was
[labeled\r\nappropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"ce08d4e37343d425580a74f6e8a95ff443971a95","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Feature:Dashboard","Team:Presentation","loe:medium","technical
debt","release_note:skip","impact:high","v9.0.0","backport:prev-minor","ci:project-deploy-observability","Team:obs-ux-infra_services","apm:review"],"number":193644,"url":"https://github.com/elastic/kibana/pull/193644","mergeCommit":{"message":"[Dashboard]
Cleanup services (#193644)\n\nCloses
https://github.com/elastic/kibana/issues/167437\r\n\r\n##
Summary\r\n\r\nThis PR refactors the Dashboard services to no longer use
the\r\n`PluginServiceProvider` from the `PresentationUtil`
plugin.\r\n\r\n### Checklist\r\n\r\n- [x] [Unit or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n\r\n### For
maintainers\r\n\r\n- [ ] This was checked for breaking API changes and
was
[labeled\r\nappropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"ce08d4e37343d425580a74f6e8a95ff443971a95"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/193644","number":193644,"mergeCommit":{"message":"[Dashboard]
Cleanup services (#193644)\n\nCloses
https://github.com/elastic/kibana/issues/167437\r\n\r\n##
Summary\r\n\r\nThis PR refactors the Dashboard services to no longer use
the\r\n`PluginServiceProvider` from the `PresentationUtil`
plugin.\r\n\r\n### Checklist\r\n\r\n- [x] [Unit or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n\r\n### For
maintainers\r\n\r\n- [ ] This was checked for breaking API changes and
was
[labeled\r\nappropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"ce08d4e37343d425580a74f6e8a95ff443971a95"}}]}]
BACKPORT-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Dashboard Dashboard related features impact:high Addressing this issue will have a high level of impact on the quality/strength of our product. loe:medium Medium Level of Effort Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas technical debt Improvement of the software architecture and operational architecture
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants