Go to file
Scotty Bollinger 197510a737
[Enterprise Search][Workplace Search] Migrate Groups to Kibana (#78679)
* Initial copying of Groups component tree

This commit moves the base component tree from ent-search with the following changes to satisfy pre-commit hooks

- All file names changed to camel_case
- Copyright comment added to the top of each file
- Semicolons and formatting to match Kibana
- Default exports removed from components
- Placeholder keyboard listener functions added to non-interactive elements with click handlers

* Update paths, remove kea typecasting

This commit does the following:

- Updates the paths of the imports
- Removed the need to typecast logic i.e. "as IGroupsLogic" after the Kea hooks
- Fixed a few TypeScript errors with events and return values on functions

- Finally, this commit does away with the ConfirmModal component (was never copied over), as it only wraps 2 EUI components and we decided it was not needed

* Add constants and image

* Update types

- Adds new types
- Moves types needed by server and app to common

* Refactor ContentSection and ViewContentHeader

With the groups components, we needed to add a header action that was right-aligned to ContentSection.

After building what was needed, I realized that the header in the ContentSection was basically a ViewContentHeader with a different sized heading. I refactored ViewContentHeader to have variable sizes and for ContentSection to use that instead.

Also added styles from ent-search

* Add group routes

This is both the server routes and the frontend paths. After conversation with Jonas, we decided to not use the `/org` prefix. Will clean up the other routes as we build out the rest the migration

* Update logic files

This commit converts the logic files for use in Kibana. This includes:

- Using the new Kea 2.2 syntax that uses MakeLogicType to provide types
- Uses the Kibana HttpLogic instead of the rails routes/http
- Adds return types to Actions interfaces
- Adds `path` key to help with debuggin in dev tools
- Removes FashMessages in lieu of separate logic. Because of this, we have to manually clear the flash mesages with listeners where reducers used to do it when the messages were local to the logic file
- Preplaces promises with async/await & try/catch

- Also, in GroupsLogic’s getSearchResults method, we used Kea’s breakpoint functionality and replaced the useDebouce Hook that was used in the component (future commit)
- Uses global lodash per Kibana’s new directive

* Update routers an indexes

This PR configures the routers to work with Kibana

- Updates paths to imports
- Adds top-level styles

For GroupRouter
- Removes AppView
- Use global flash messages
- Remove sidebar and breadcrumbs

* Update GroupOverview

Adds some changes to facilitate the new design for Kibana

- Copy changes
- Layout changes to have buttons inline and not conditionally shown

* Various updates to components

Adds some changes to facilitate the new design for Kibana.

- Remove unnecessary TableHeader
- Adds pencil in lieu of manage button per design

* Update main groups component

A previous commit did this for the components, as the intention was to do this for components in one PR and the others an a separate PR. Unfortunately the build does not pass with all the missing imports.

This commit does the following:
- Updates the paths of the imports
- Removed the need to typecast logic i.e. "as IGroupsLogic" after the Kea hooks
- Fixed a few TypeScript errors with events and return values on functions
- Use global flash messages
- Remove debounces filderValue, as it’s now debounces in logic file
- Remove legacy isCurated props
- Remove legact AppView

* Add sub navigation to main nav

Also removes redundant search link in sidebar

* Update logic file to reset flashmessages correctly

Because we have separated concerns with global flash message state, we now have to manually trigger resets of flash messages with listeners in Kea where we used to be able to use a reducer to listen to changes and reset flash messages.

* Use navigateToUrl for navigation over history.push

Thanks to work by @constance, we can now use the KibanaLogic’s navigateToUrl value to change routes directly from logic files

* Fix failing test

A previous commit removed the redundant Search link from the sidebar nav because of the one in the header. This commit fixes a filing test and now assets on the number of items as the link addresses will be changing as we migrate more components over

* Convert React Router links to our wrappers

* Replace anchors with EuiButtonEmpty

The original pre-commit hooks failed because the anchors didn’t have key handlers. Pleaceholders were added with TODOs and these have been replaced with EuiButtonEmpty, which satisifies the UI needs and passes linting

* Fix a bug where header actions disappearing

There was a bug where changing routes would cause the header action, in the case of Workplace Search the “Go to search application” link, to disappear on route changes.

Turns out that we didn’t need it in the useEffect and that moving it out keeps the unmount from removing the link from the header.

* i18n top-level component and logic files

* i18n for components

* Fix failing test

This was from 3254c6277e

* Fix broken i18n

Had duplicate ids and misnamed value

* Fix a bug where manage group not in Flash message

There is a button that appears in the Flash Message when a new group is added so that the user can navigate to manage the group and, because the order of setting the new group was before the instantiation of the global flashmessages, the button was not appearing. This commit moves the action after the flash message is set.

* Refactor typings

* Refactor ContentSection spacing

The css was not being used and the bottom padding of 44px (xxl + xs spacer) was being generated with spacers. This has been changed to use only CSS

* Remove canCreateInvitations

* Remove hasMessages check rendering FlashMessages

* snake_case telemetry and path

Will convert other paths in a separate PR

* Fix failing tests

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-10-05 13:33:58 -05:00
.ci [QA][Code Coverage] Upload the coverage static site before ingestion (#78695) 2020-09-29 08:29:22 -06:00
.github Ignore intermediate unauthenticated session during repeated authentication attempt. (#79300) 2020-10-05 20:07:23 +02:00
common/graphql [Uptime] Implement EuiSuperDatePicker (#28217) 2019-01-18 13:44:58 -05:00
config Remove unused elasticsearch.preserverHost setting (#78608) 2020-09-30 10:39:08 +02:00
data [folder structure] plugins/.data -> data 2016-07-05 14:06:16 -05:00
docs [Vega] Maps still experimental (#79114) 2020-10-05 12:29:51 +03:00
examples Add TS projects for src/plugins & x-pack/plugins (#78440) 2020-09-30 15:02:41 +02:00
licenses Migrate x-pack-kibana source to kibana 2018-04-24 13:48:10 -07:00
packages Cleanup yarn.lock from duplicates (#66617) 2020-10-03 11:53:03 +02:00
plugins [dev/cli] ensure plugins/ and all watch source dirs exist (#78973) 2020-09-30 10:20:44 -07:00
rfcs [RFC][Search] Background sessions RFC (#73281) 2020-10-05 19:18:30 +03:00
scripts [kbn/optimizer] implement more efficient auto transpilation for node (#79052) 2020-10-02 18:36:25 -07:00
src [Visualize] Horizontal Bar Graph Visualizations have Vertical Bar Graph Type (#78536) 2020-10-05 19:46:02 +03:00
tasks chore(NA): assures a single version for the same dependency across the entire project (#78825) 2020-10-02 00:46:00 +01:00
test Adjust extend_es_archiver to handle additional cases (#79308) 2020-10-02 20:14:42 +02:00
typings [ts] enable "resolveJsonModule" and disable existing failures (#78855) 2020-09-30 15:44:43 -07:00
utilities apply prettier styles 2020-05-22 09:08:58 +02:00
vars chore(NA): assures a single version for the same dependency across the entire project (#78825) 2020-10-02 00:46:00 +01:00
x-pack [Enterprise Search][Workplace Search] Migrate Groups to Kibana (#78679) 2020-10-05 13:33:58 -05:00
.backportrc.json chore(NA): setup backport tool for 7.9 and the new 7.x (#71861) 2020-07-15 09:32:13 -07:00
.browserslistrc Aligns BrowserList config with Support Matrix (#71876) 2020-07-16 10:56:07 -07:00
.editorconfig [editorconfig] disable insert_final_newline for package.json 2019-04-18 09:44:17 -07:00
.eslintignore chore(NA): add elastic prefix to eslint-config-kibana (#76059) 2020-08-31 20:13:06 +01:00
.eslintrc.js Storybook 6 and config changes (#75357) 2020-09-29 19:34:05 -05:00
.fossa.yml Adds FOSSA CLI configuration file (#70137) 2020-07-02 08:37:37 -07:00
.gitattributes [canvas] Color fixes + Storybook 5 (#34075) 2019-04-02 11:21:51 -05:00
.gitignore Introduce TS incremental builds & move src/test_utils to TS project (#76082) 2020-09-03 14:20:04 +02:00
.i18nrc.json Migrate status & stats APIs to KP + remove legacy status lib (#76054) 2020-09-17 14:05:59 +02:00
.node-version Update Node.js to version 10.22.1 (#77619) 2020-09-16 18:51:50 +02:00
.nvmrc Update Node.js to version 10.22.1 (#77619) 2020-09-16 18:51:50 +02:00
.prettierrc Increase prettier line width to 100 (#20535) 2018-07-09 22:50:37 +02:00
.sass-lint.yml Empty index patterns page re-design (#68819) 2020-08-12 15:58:16 -05:00
.telemetryrc.json [Usage Collection] [schema] ui_metric (#78827) 2020-10-01 08:22:51 +01:00
.yarnrc [kbn-pm] Use yarn workspaces for dependencies (#24095) 2018-11-12 12:38:11 -06:00
api-documenter.json Normalize EOL symbol in platform docs (#56021) 2020-01-27 18:42:45 +01:00
CONTRIBUTING.md Improvements to our developer guide (#67764) 2020-07-13 10:47:01 -04:00
FAQ.md propose language changes (#10709) 2017-03-05 12:10:32 -05:00
github_checks_reporter.json implementing github checks - second attempt (#35757) 2019-05-01 16:02:33 -05:00
Gruntfile.js apply prettier styles 2020-05-22 09:08:58 +02:00
Jenkinsfile [CI] Add pipeline task queue framework and merge workers into one (#71268) 2020-08-04 13:13:51 -04:00
kibana.d.ts Remove legacy plugins support (#77599) 2020-09-23 09:52:51 +02:00
LICENSE.txt Migrate x-pack-kibana source to kibana 2018-04-24 13:48:10 -07:00
NOTICE.txt [kbn/optimizer] implement more efficient auto transpilation for node (#79052) 2020-10-02 18:36:25 -07:00
package.json add core-js production dependency (#79395) 2020-10-04 21:33:12 -07:00
preinstall_check.js
README.md Remove legacy optimizer (#73154) 2020-08-13 09:08:44 -07:00
renovate.json5 [renovate] looks like team slug might just be kibana-app 2020-09-24 10:10:17 -07:00
STYLEGUIDE.md Remove legacy optimizer (#73154) 2020-08-13 09:08:44 -07:00
tsconfig.base.json [ts] enable "resolveJsonModule" and disable existing failures (#78855) 2020-09-30 15:44:43 -07:00
tsconfig.browser.json Introduce TS incremental builds & move src/test_utils to TS project (#76082) 2020-09-03 14:20:04 +02:00
tsconfig.json Add TS projects for src/plugins & x-pack/plugins (#78440) 2020-09-30 15:02:41 +02:00
tsconfig.refs.json Add TS projects for src/plugins & x-pack/plugins (#78440) 2020-09-30 15:02:41 +02:00
tsconfig.types.json ui_actions service initial docs (#78902) 2020-09-30 16:44:29 +02:00
TYPESCRIPT.md Fixed grammar (#74725) 2020-08-11 06:40:22 -04:00
yarn.lock Cleanup yarn.lock from duplicates (#66617) 2020-10-03 11:53:03 +02:00

Kibana

Kibana is your window into the Elastic Stack. Specifically, it's a browser-based analytics and search dashboard for Elasticsearch.

Getting Started

If you just want to try Kibana out, check out the Elastic Stack Getting Started Page to give it a whirl.

If you're interested in diving a bit deeper and getting a taste of Kibana's capabilities, head over to the Kibana Getting Started Page.

Using a Kibana Release

If you want to use a Kibana release in production, give it a test run, or just play around:

Building and Running Kibana, and/or Contributing Code

You might want to build Kibana locally to contribute some code, test out the latest features, or try out an open PR:

Documentation

Visit Elastic.co for the full Kibana documentation.

For information about building the documentation, see the README in elastic/docs.

Version Compatibility with Elasticsearch

Ideally, you should be running Elasticsearch and Kibana with matching version numbers. If your Elasticsearch has an older version number or a newer major number than Kibana, then Kibana will fail to run. If Elasticsearch has a newer minor or patch number than Kibana, then the Kibana Server will log a warning.

Note: The version numbers below are only examples, meant to illustrate the relationships between different types of version numbers.

Situation Example Kibana version Example ES version Outcome
Versions are the same. 5.1.2 5.1.2 💚 OK
ES patch number is newer. 5.1.2 5.1.5 ⚠️ Logged warning
ES minor number is newer. 5.1.2 5.5.0 ⚠️ Logged warning
ES major number is newer. 5.1.2 6.0.0 🚫 Fatal error
ES patch number is older. 5.1.2 5.1.0 ⚠️ Logged warning
ES minor number is older. 5.1.2 5.0.0 🚫 Fatal error
ES major number is older. 5.1.2 4.0.0 🚫 Fatal error

Questions? Problems? Suggestions?

  • If you've found a bug or want to request a feature, please create a GitHub Issue. Please check to make sure someone else hasn't already created an issue for the same topic.
  • Need help using Kibana? Ask away on our Kibana Discuss Forum and a fellow community member or Elastic engineer will be glad to help you out.