mirror of
https://github.com/elastic/kibana.git
synced 2025-06-28 11:05:39 -04:00
## Summary Closes https://github.com/elastic/kibana-team/issues/715 This adds the `scroll` search API method as an option for CSV. To achieve this, administrators can update `kibana.yml` with: ``` xpack.reporting.csv.scroll.strategy: scroll ``` The valid options for this setting are `scroll` and `pit`. The default is `pit`. ### Design The strategy option is only customizable in `kibana.yml` settings. It can not be set on a per-report basis without changing the YML file and restarting Kibana. 1. User sends a request to the Server to generate a CSV report. 2. Server creates a payload and adds a “strategy” setting from the system configuration to the payload. 3. The Server stores the payload in the Queue. 4. The Queuing System triggers an action with the payload. 5. The system reads the “strategy” setting from the payload. 6. The system begins to export data using a method based on the strategy. ``` User⎯Request → Server ↓ Task payload (with strategy added) ↓ Kibana Task Manager⎯Action → CSV Generator ``` ### Other changes 1. Reorganize source files in the kbn-generate-csv package. ### Checklist Delete any items that are not applicable to this PR. - [x] Update "Inspect search in Dev Tools" for scroll option - [x] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [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 - [ ] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed - [x] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker) --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
14 lines
690 B
TypeScript
14 lines
690 B
TypeScript
/*
|
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
* Side Public License, v 1.
|
|
*/
|
|
|
|
export const CSV_BOM_CHARS = '\ufeff';
|
|
export const CONTENT_TYPE_CSV = 'text/csv';
|
|
export const UI_SETTINGS_CSV_SEPARATOR = 'csv:separator';
|
|
export const UI_SETTINGS_CSV_QUOTE_VALUES = 'csv:quoteValues';
|
|
export const UI_SETTINGS_SEARCH_INCLUDE_FROZEN = 'search:includeFrozen';
|
|
export const UI_SETTINGS_DATEFORMAT_TZ = 'dateFormat:tz';
|