-
Notifications
You must be signed in to change notification settings - Fork 69
Strategy for "Applies to" badges #1180
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
Comments
I've been collecting some thoughts around the usage of Defaults and fallbacks are neededThe existing system already handles granularity very well (see #inline-applies-to), but it requires explicitly stating and nesting lots of versions in the frontmatter, with no known default behavior. An alternative could be leveraging version definitions in a centralized place and then use this to define both the default rendering behaviors and a simpler approach to frontmatter and inlining. Essential informationAt any point, users should be able to gather the following information from any document:
Versions.yml fileThere could be a version.yml file, as I explained in our last call, that would hold the general metadata about versions that could be used for default behaviors. It would also include allowed statuses and deployment types, which would be useful for validation and reference.
We could then use a simplified YAML frontmatter to tag what applies to the document. For example:
In-line labeling only for sectionsSection and in-line tagging would use the same fields and draw from the same centralized versions file. Section labels could be rendered in the table of contents of the doc. An example for sections would be:
Applies to badges would only apply to sections, not to paragraphs, sentences, or words. For those, we would use good old text. The first version inside a doc winsAs an additional fallback mechanism, we could mandate that, if a document lacks a stateful version at page level, the lowest version used in a section will be used as the minimum version for the entire doc. Frontmatter validationWe need mechanisms to validate the frontmatter at build. For example, using somethings like https://github.com/JulianCataldo/remark-lint-frontmatter-schema. |
Relates to this discussion as well: elastic/docs-builder#402 |
stack is not relevant to all pages. e.g. pages where functionality is specific to the orchestrator (example) "stack 9" implies to me that a feature is available to all contexts where elastic stack can be run. however, in some cases, functionality available in vanilla ES is overridden by the orchestrator, so labeling it "stack 9" would send the wrong message. see cluster-level security and specific topics like tls encryption for a good example of how this gets complicated |
Capturing some additional thoughts after yesterday's meeting:
|
Before we move forward with how we display versions, we need to address:
Here is what I propose:
|
we need to be very careful about the pages in the elasticsearch book to handle for this. likely, the largest impact is to troubleshooting and deploy + manage, but the blast radius might be larger than that. |
That's right, pages in our new IA are affected by at least 2 dimensions that are surfacing through the existing applies_to tags:
Pages from other docs nodes (/troubleshooting, /release-notes, /reference) would generally use one or both of these dimensions, on a case by case basis, since they contain more heterogenous docs. |
Description
We're aligning on a strategy for how documentation communicates minor version and deployment type applicability using the Applies to badges.
The goal is to ensure that users can understand exactly what version and deployment type the content applies to, even though the documentation always shows the latest released content.
To support this, the documentation renders applies_to badges at the page and section levels. These badges indicate lifecycle status (e.g. ga, beta, preview, discontinued) and applicable version(s) for the stack (and orchestrators?), and deployment types (including serverless).
Requirements
Every documentation page must specify Elastic Stack and Serverless.
Badges must apply to the paragraph level (not sentence/word level).
Granular examples for word- and sentence-level differences should be developed and communicated to teams.
Linting is required in Elastic Docs v3 to ensure authors follow page-level badge rules.
Open questions
What should the page-level applies_to badge say when the page contains content for multiple Elastic Stack versions? For example, A page is broadly accurate for Elastic Stack 9.0, but a section or paragraph applies only to 9.2.0. Do we display the page-level badge as ga 9.0 or ga 9.2? Or do we omit the version?
How can users quickly identify which minor version-specific content appears on a page?
Should we include page-level metadata summaries (e.g. "This page includes content for 9.0–9.2")?
Next steps
Align on rules and behavior for mixed-version content on a single page
Define linting rules and required applies_to metadata for new content
Create examples for:
Define structure for post-processing and metadata tagging in search/indexing
Update Documenting versions and deployment types for authoring documentation, then communicate
The text was updated successfully, but these errors were encountered: