Skip to content

CPS in Kibana: scope selector and availability matrix#5423

Merged
florent-leborgne merged 26 commits intocps-tech-previewfrom
cps/850-852-853-cps-in-kibana
Mar 23, 2026
Merged

CPS in Kibana: scope selector and availability matrix#5423
florent-leborgne merged 26 commits intocps-tech-previewfrom
cps/850-852-853-cps-in-kibana

Conversation

@florent-leborgne
Copy link
Copy Markdown
Member

@florent-leborgne florent-leborgne commented Mar 10, 2026

Summary

Adds a dedicated "Managing CPS scope in your project apps" overview page (cross-project-search-manage-scope.md) under explore-analyze/cross-project-search/:

  • Scope hierarchy: introduces the three levels of CPS scope control (space default, session scope, query-level override) upfront.
  • Scope selector: describes the CPS scope selector in the header, its options (This project, All projects), and session persistence behavior.
  • Query-level overrides: documents how to override the scope using SET project_routing or qualified index expressions in ES|QL FROM commands, with a concrete ES|QL example.
  • Availability matrix: table showing which apps support the CPS scope selector and query-level overrides, covering 10 apps (Discover, Dashboards, Lens, Maps, Vega, Rules, Dev Tools, ML Data Visualizer, Streams, Agent Builder).
  • Related pages: links to CPS overview, project routing, search behavior, admin configuration, ES|QL in Kibana, and the ES|QL CPS reference (cross-link to elasticsearch repo).

Closes elastic/docs-content-internal#850
Closes elastic/docs-content-internal#852
Closes elastic/docs-content-internal#853

Known issues (preview)

  • ES|QL editor underlines qualified index names as "unknown index": When using qualified expressions like project_alias:kibana_sample_data_ecommerce in an ES|QL FROM command, the editor flags the index as unknown (red underline), but the query executes successfully and returns correct results. This appears to be a client-side validation gap in the ES|QL editor that doesn't yet account for CPS qualified expressions. Likely to be fixed before GA.
  • _origin: qualified expression not working: Using FROM _origin:index_name to target only the origin project does not work in the current preview, despite being documented in the ES|QL CPS reference. This may be a not-yet-implemented feature.

Test plan

  • Verify the page builds correctly
  • Verify scope selector behavior (session persistence, space default as fallback) against Kibana source
  • Verify Rules row (read-only scope) against Kibana source
  • Verify qualified expressions work in ES|QL FROM (tested with real linked project)
  • Verify SET project_routing works in ES|QL (tested with real linked project)
  • Cross-links validated (all resolve to existing pages/anchors on feature branches)
  • Content type check: passes overview guidelines (type field, required elements, best practices)

Generative AI disclosure

  1. Did you use a generative AI (GenAI) tool to assist in creating this contribution?
  • Yes
  • No
  1. If you answered "Yes" to the previous question, please specify the tool(s) and model(s) used (e.g., Google Gemini, OpenAI ChatGPT-4, etc.).

Tool(s) and model(s) used: Claude (Cursor)

Add a new "CPS in Kibana" section to the cross-project search overview
page covering the global project picker, space default scope, and an
availability matrix for all Kibana apps. Also add a CPS limitation
callout to the Transforms page and a CPS support note to the Vega page.

Closes #850, closes #852, closes #853

Made-with: Cursor
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 10, 2026

✅ Vale Linting Results

No issues found on modified lines!


The Vale linter checks documentation changes against the Elastic Docs style guide.

To use Vale locally or report issues, refer to Elastic style guide for Vale.

- Rewrite passive constructions to active voice across all three files
- Link Vega project routing mention to the CPS project routing page

Made-with: Cursor
Use the term "CPS scope selector" consistently, matching the UI popover
title "Cross-project search (CPS) scope". Introduce the full name on
first mention, then use the abbreviation throughout.

Made-with: Cursor
@florent-leborgne florent-leborgne changed the title CPS in Kibana: global project picker, availability matrix, Transform & Vega CPS in Kibana: scope selector and availability matrix Mar 13, 2026
…s section

- New page: cross-project-search-manage-scope.md
- Covers scope selector, query-level overrides (project routing, qualified
  expressions), and availability matrix with override details per app
- Removed section from overview page, added link in intro list
- Added to toc.yml (hidden, like other CPS pages)

Made-with: Cursor
…verride, simplify unsupported apps

Made-with: Cursor
…rarchy, simplify table, add example and related pages

- Add type: overview to frontmatter
- Change title to "Managing CPS scope..."
- Rewrite intro with three-level scope hierarchy (space default, session, query)
- Add concrete ES|QL SET project_routing example
- Consolidate repetitive table cells with general ES|QL note
- Rename Lens to "Lens visualizations", use "ES|QL visualizations" in overrides
- Move Custom CPS badge info to footnote on Lens row
- Add Related pages section with cross-link to ES|QL CPS reference
- Fix external URL to proper elasticsearch:// cross-link
- Remove latinism "via" from table cells

Made-with: Cursor
@florent-leborgne florent-leborgne marked this pull request as ready for review March 14, 2026 00:04
@florent-leborgne florent-leborgne requested a review from a team as a code owner March 14, 2026 00:04
@florent-leborgne florent-leborgne requested a review from a team as a code owner March 14, 2026 00:04
…ference

- Explain what read-only (uses space default) and unavailable (local
  project only) mean for the scope selector, per mbondyra's review
- Remove _origin:logs-* instruction since the feature is not working
  in the current preview, per charlotte-hoblik's review

Made-with: Cursor
@florent-leborgne
Copy link
Copy Markdown
Member Author

Merging this one to the feature branch for now - we have time to make further adjustments if some things are still pending on the product side or require further clarifications;

@florent-leborgne florent-leborgne merged commit f71932c into cps-tech-preview Mar 23, 2026
2 checks passed
@florent-leborgne florent-leborgne deleted the cps/850-852-853-cps-in-kibana branch March 23, 2026 17:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants