Skip to content

Conversation

cotti
Copy link
Contributor

@cotti cotti commented Sep 10, 2025

Handles #1637

This PR performs a few refactorings into how we deal with product, versioning and legacy URL mapping definitions.

Configuration

  • Substitutions have been added for products to access their labels.
  • Initialization for products.yml and legacy-url-mappings.yml occurs during early service bootstrapping.

Products Listing

  • We now have a products.yml file to gather essential product metadata. Currently, we have a friendly label for each, and reference the versioning system adopted by the project in question.

Versioning

  • Updated to leverage the connection between Product/Version/LegacyURL.

Legacy Url Mapping

  • legacy-url-mappings.yml has been reviewed to include a reference to a product. Most entries have a direct correlation. For a few cases, a best-match approach was taken.

Docs

  • Docs-builder's documentation was updated to reflect these changes.

Copy link
Contributor

@theletterf theletterf left a comment

Choose a reason for hiding this comment

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

@elastic/docs-engineering I think this PR would also solve #1497

What happens with existing product subs define in docset.yml files, by the way? Should we prefer products.yml driven substitutions from now on?

Copy link
Member

@Mpdreamz Mpdreamz left a comment

Choose a reason for hiding this comment

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

A few small nits and q's.

Would be good to include more tests on resolving product names and their attached versioning schemes.

Co-authored-by: Fabrizio Ferri-Benedetti <[email protected]>
Fabrizio with the save.

Co-authored-by: Fabrizio Ferri-Benedetti <[email protected]>
@reakaleek
Copy link
Member

Smoke tests are failing. We should run a full assembler build to validate.

Copy link
Contributor

@florent-leborgne florent-leborgne left a comment

Choose a reason for hiding this comment

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

I think we're adding possible confusion points in the products.yml file with duplicates or nearly duplicate entries. LMK what you think.

@shainaraskas
Copy link
Contributor

What happens with existing product subs define in docset.yml files, by the way? Should we prefer products.yml driven substitutions from now on?

I share this confusion - can we maybe reference these in docset.yml so we can keep using the same variables?

Copy link
Contributor

@shainaraskas shainaraskas left a comment

Choose a reason for hiding this comment

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

threw some comments on where I could. I suggested a couple of terminology fixes and version # fixes

I'd like to better understand how this actually impacts the functionality of the dropdown - maybe a quick demo could be helpful, or even just explaining using an image of the dropdown what info is populated from where. want to understand what is actually changing with the experience based on these changes

display: 'Elastic Cloud Serverless'
versioning: 'serverless'
cloud-terraform:
display: 'Elastic Cloud Terraform'
Copy link
Contributor

Choose a reason for hiding this comment

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

we don't have any docs about this product really but I don't think it's stack versioned

https://github.com/elastic/terraform-provider-elasticstack

image
Suggested change
display: 'Elastic Cloud Terraform'
display: 'Elastic Cloud Terraform provider'

display: 'Elastic Cloud Hosted'
versioning: 'ech'
cloud-kubernetes:
display: 'Elastic Cloud Kubernetes'
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
display: 'Elastic Cloud Kubernetes'
display: 'Elastic Cloud on Kubernetes'

display: 'Beats'
versioning: 'stack'
cloud-control-ecctl:
display: 'Elastic Cloud Control ECCTL'
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
display: 'Elastic Cloud Control ECCTL'
display: 'Elastic Cloud Control'

display: 'Elasticsearch Curator'
versioning: 'curator'
ecs:
display: 'Elastic Common Schema (ECS)'
Copy link
Contributor

Choose a reason for hiding this comment

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

do we want brackets on these? @colleenmcginnis

display: 'Elastic Common Schema (ECS) support for zerolog'
versioning: 'ecs_logging_go_zerolog'
ecs-logging-java:
display: 'ECS_based logging for Java applications'
Copy link
Contributor

Choose a reason for hiding this comment

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

this one looks wrong?

also, not seeing this full name used in the libraries docs, e.g. https://www.elastic.co/docs/reference/ecs/logging/java

@colleenmcginnis

Suggested change
display: 'ECS_based logging for Java applications'
display: 'ECS-based logging for Java applications'

legacy_versions: *stack
en/elasticsearch/client/curator/:
product: curator
legacy_versions: [ '8.0.21', '7.0', '6.0', '5.8', '5.7', '5.6', '5.5', '5.4', '5.3', '5.2', '5.1', '5.0', '4.3', '4.2', '4.1', '4.0', '3.5', '3.4', '3.3' ]
Copy link
Contributor

Choose a reason for hiding this comment

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

8.0.21 is current for curator

product: elastic-agent
legacy_versions: *stack
en/ingest-overview/:
product: elasticsearch
Copy link
Contributor

Choose a reason for hiding this comment

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

not elasticsearch

product: elasticsearch
legacy_versions: []
en/ingest/:
product: elasticsearch
Copy link
Contributor

Choose a reason for hiding this comment

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

not elasticsearch

product: logstash
legacy_versions: *stack
en/machine-learning/:
product: elasticsearch
Copy link
Contributor

Choose a reason for hiding this comment

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

we have a unique product for this although I would argue that it is elasticsearch

product: cloud-serverless
legacy_versions: []
en/starting-with-the-elasticsearch-platform-and-its-solutions/:
product: elasticsearch
Copy link
Contributor

Choose a reason for hiding this comment

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

not elasticsearch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants