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

Add guardrails to doc and query JSON inputs #231

Merged
merged 5 commits into from
Jul 23, 2024

Conversation

ohltyler
Copy link
Member

@ohltyler ohltyler commented Jul 23, 2024

Description

Naturally, the JSON schema of both the sample documents and the query have downstream impact on the ingest and search pipelines, respectively. To help prevent accidental changes, and to make the user make a more explicit choice when editing such fields, this moves those inputs into modals. Users have a readonly view of the values, but must click on an explicit 'Edit' to change the values.

More specifics:

  • adds modals to SourceData (ingest) and ConfigureSearchRequest (search) components, and moves the form configuration inside such modals. Readonly codeblocks are added to the base form page for users to see the current values
  • updates the search request to be formally integrated into the form and UI config. It is now consistent with other JSON form values, like index mappings and index settings. Note we store them as raw strings, and parse or stringify them when converting to / from the Formik form on the UI
  • adds a useful default match_all query
  • nit: adds constants for help links / URLs that were hardcoded within the component
  • nit: finishes removing the unnecessary fields stored in the IConfigField interface as these have moved within the components themselves and are no longer persisted in ui_metadata.

Demo video, showing the readonly views, and the flows for editing the doc and query fields (button texts and modal titles subject to change)

screen-capture.10.webm

Issues Resolved

Makes progress on #23

Check List

  • Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@ohltyler
Copy link
Member Author

Seems some issue in core OSD causing the test failure. My older version of OSD is working. It is just a single test case:

 PASS  public/pages/workflows/workflows.test.tsx (37.268 s)
  Workflows
    ✓ renders the page (336 ms)

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        38.255 s
Ran all test suites.
✨  Done in 40.10s.

@ohltyler
Copy link
Member Author

Seems some issue in core OSD causing the test failure. My older version of OSD is working. It is just a single test case:

 PASS  public/pages/workflows/workflows.test.tsx (37.268 s)
  Workflows
    ✓ renders the page (336 ms)

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        38.255 s
Ran all test suites.
✨  Done in 40.10s.

and same issue on #232 to confirm it's unrelated.

@ohltyler ohltyler merged commit 1b8486e into opensearch-project:main Jul 23, 2024
4 of 6 checks passed
@ohltyler ohltyler deleted the json-fields branch July 23, 2024 19:30
opensearch-trigger-bot bot pushed a commit that referenced this pull request Jul 23, 2024
Signed-off-by: Tyler Ohlsen <[email protected]>
(cherry picked from commit 1b8486e)
ohltyler added a commit that referenced this pull request Jul 23, 2024
Signed-off-by: Tyler Ohlsen <[email protected]>
(cherry picked from commit 1b8486e)

Co-authored-by: Tyler Ohlsen <[email protected]>
@ohltyler ohltyler mentioned this pull request Jul 24, 2024
1 task
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.

2 participants