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

[Management] Saved objects to React/EUI! #17426

Merged
merged 64 commits into from
May 17, 2018

Conversation

chrisronline
Copy link
Contributor

@chrisronline chrisronline commented Mar 27, 2018

Relates to #15721

Yes, this PR is huge and it's doing quite a bit of things.

The first and most important thing this PR does is maintain parity with the existing saved objects table in terms of pagination, filtering, import, exporting and deleting saved objects.

Parity

Here are some examples of the tested parity:

Existing

screen shot 2018-03-27 at 1 44 04 pm

screen shot 2018-03-27 at 1 44 11 pm

screen shot 2018-03-27 at 1 44 18 pm

screen shot 2018-03-27 at 1 44 29 pm

PR

screen shot 2018-03-27 at 2 12 49 pm

screen shot 2018-03-27 at 2 13 11 pm

screen shot 2018-03-27 at 2 13 20 pm

screen shot 2018-03-27 at 2 13 39 pm

The second thing this PR is doing is adding a few improvements!

Improvements

  1. We now import and export index patterns!

screen shot 2018-03-27 at 2 39 15 pm

  1. More user-friendly import flow

No Conflicts

import_success

Conflicts

import_conflicts_full

  1. Relationship view

relationships

  1. Support for future addition of tags

tag_support

Testing

This will be fun!

We want to ensure parity with existing searching functionality including known deficiencies but we want want to ensure the import/export flow works properly.

One of the main complications around this was we historically did not export index patterns so if an import occurred with objects that were tied to an index pattern that did not exist in the current kibana instance, we'd have to show a modal to allow the user to resolve those issues. That should not happen in the future if the user exports the index patterns too, but we still need to support this for the foreseeable future.

This logic should not have changed; just moved around and slightly refactored.

The more straightforward way to trigger a conflict is to export everything (exclude the index pattern), delete the existing index patterns within Kibana, recreate those same index patterns (but ensure different ids), then try and import that exported json file.

Some previous issues to verify too: #15981 #14592

TODO

  • Tests!
    • Ensure functional tests are still passing
    • Add lib/ tests
    • Add componentry tests
    • Relationships server tests
    • Additional functional tests
  • Verify timelion sheets work as expected

cc @skearns64 @nreese

@chrisronline
Copy link
Contributor Author

jenkins, test this

@elasticmachine
Copy link
Contributor

💚 Build Succeeded

@chrisronline
Copy link
Contributor Author

Jenkins, test this

@elasticmachine
Copy link
Contributor

💚 Build Succeeded

@chrisronline
Copy link
Contributor Author

jenkins, test this

@elasticmachine
Copy link
Contributor

💚 Build Succeeded

Copy link
Contributor

@bmcconaghy bmcconaghy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code looks reasonable and I could not make it break. LGTM

@chrisronline chrisronline merged commit 80bb4b1 into elastic:master May 17, 2018
@chrisronline chrisronline deleted the eui/saved_objects branch May 17, 2018 17:46
chrisronline added a commit to chrisronline/kibana that referenced this pull request May 17, 2018
* Not working proto code

* More proto code

* Work in progress

* Just go back to non interactive searching, much easier

* This should be on the server

* Revert "[@kbn/ui-framework] move ui-framework to a package (elastic#17085)"

This reverts commit ef3339b.

* Revert "Revert "[@kbn/ui-framework] move ui-framework to a package (elastic#17085)""

This reverts commit ce9ce14.

* Use BasicTable properly

* Table improvements

* Small tweaks to the table

* Improvements

* Flyout mostly working

* Remove in memory table

* Getting close

* Tweaks

* Revamping server code, still need to support editing

* Progress

* Fix export

* Updates and passing functional tests

* Better links in relationships flyout

* Add skip import option

* Fixes around importing and removing unnecessary code

* Remove tags for now

* Tests for lib/

* Some fixes

* Ensure we clear index pattern cache

* Parity with master

* Revert any changes in package.json

* Reset any changes in this file

* Move the new argumen to the end to prevent test failures

* Fix functional tests

* Add relationship tests

* Fix tests

* API integration tests for relationships

* Ensure we're properly waiting for things to happen

* Fix test issue

* Wait for the table to finish loading instead of the whole page

* Tests for objects_table

* Componentry tests

* Ensure this is grabbing the right field

* Update snapshot

* Fixes with importing index patterns

* PR feedback

* PR feedback

* PR feedback

* Update snapshot

* PR feedback

* Update snapshot

* Respect the savedObjects:perPage config

* Updates from PR feedback

* More updates from PR feedback

* Make this more efficient

* Add debugging for functional test failures

* Wait longer

* Wrap each button accessor with a retry.try

* Try wrapping this in a retry.try

* Debug

* Lets make sure it is visible

* Maybe the short timeout is affecting this - use the default timeout which should be higher and allow more time for the animation to finish

* Rewrite this per suggestions from stacey
chrisronline added a commit that referenced this pull request May 17, 2018
* [Management] Saved objects to React/EUI! (#17426)

* Not working proto code

* More proto code

* Work in progress

* Just go back to non interactive searching, much easier

* This should be on the server

* Revert "[@kbn/ui-framework] move ui-framework to a package (#17085)"

This reverts commit ef3339b.

* Revert "Revert "[@kbn/ui-framework] move ui-framework to a package (#17085)""

This reverts commit ce9ce14.

* Use BasicTable properly

* Table improvements

* Small tweaks to the table

* Improvements

* Flyout mostly working

* Remove in memory table

* Getting close

* Tweaks

* Revamping server code, still need to support editing

* Progress

* Fix export

* Updates and passing functional tests

* Better links in relationships flyout

* Add skip import option

* Fixes around importing and removing unnecessary code

* Remove tags for now

* Tests for lib/

* Some fixes

* Ensure we clear index pattern cache

* Parity with master

* Revert any changes in package.json

* Reset any changes in this file

* Move the new argumen to the end to prevent test failures

* Fix functional tests

* Add relationship tests

* Fix tests

* API integration tests for relationships

* Ensure we're properly waiting for things to happen

* Fix test issue

* Wait for the table to finish loading instead of the whole page

* Tests for objects_table

* Componentry tests

* Ensure this is grabbing the right field

* Update snapshot

* Fixes with importing index patterns

* PR feedback

* PR feedback

* PR feedback

* Update snapshot

* PR feedback

* Update snapshot

* Respect the savedObjects:perPage config

* Updates from PR feedback

* More updates from PR feedback

* Make this more efficient

* Add debugging for functional test failures

* Wait longer

* Wrap each button accessor with a retry.try

* Try wrapping this in a retry.try

* Debug

* Lets make sure it is visible

* Maybe the short timeout is affecting this - use the default timeout which should be higher and allow more time for the animation to finish

* Rewrite this per suggestions from stacey

* Update snapshots
@chrisronline
Copy link
Contributor Author

Backport:

6.x: 8455bcd

epixa added a commit to epixa/kibana that referenced this pull request May 19, 2018
epixa added a commit to epixa/kibana that referenced this pull request May 19, 2018
This was referenced Aug 7, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.