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

drafting where to work #768

Open
wants to merge 11 commits into
base: main
Choose a base branch
from
103 changes: 99 additions & 4 deletions docs/contribute/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,114 @@ Whether you're a technical writer or you've only edited Elastic docs once or twi

## Contribute to the docs [#contribute]

The version of the docs you want to contribute to determines the tool and syntax you must use to update the docs.
The version of the docs you want to contribute to determines the tool and syntax you must use to update the docs. The easiest way to find the source file for the page you want to update is to navigate to the page on the web and click **Edit this page**. This will take you to the source file in the correct repo. For more detailed instructions, see [Contribute on the web](on-the-web.md).

### Contribute to Elastic Stack version 8.x docs and earlier
### Contribute to version `8.x` docs and earlier
Copy link
Contributor

Choose a reason for hiding this comment

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

unfortunately, this is not just stack 8.x and 9.x. we need to consider ECE 3.x vs. 4.x, ECK 2.x vs. 3.x ...

I believe there is a resource floating around somewhere that has the version cutoffs in it (Brandon would be able to help with that). We should link to that, and possibly provide a quick reference for common products here.

stack is also an important word here that we need to preserve


To contribute to earlier versions of the Elastic Stack, you must work with our [legacy documentation build system](https://github.com/elastic/docs). This system uses AsciiDoc as it's authoring format.
To contribute to earlier versions of the Elastic Stack, you must work with our [legacy documentation build system](https://github.com/elastic/docs). This system uses the [AsciiDoc](https://asciidoc.org) markup language.

* For **simple bugfixes and enhancements** --> [Contribute on the web](on-the-web.md)
* For **complex or multi-page updates** --> See the [legacy documentation build guide](https://github.com/elastic/docs?tab=readme-ov-file#building-documentation)
Comment on lines 19 to 20
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
* For **simple bugfixes and enhancements** --> [Contribute on the web](on-the-web.md)
* For **complex or multi-page updates** --> See the [legacy documentation build guide](https://github.com/elastic/docs?tab=readme-ov-file#building-documentation)
* For **simple bug fixes and enhancements**, refer to [Contribute on the web](on-the-web.md)
* For **complex or multi-page updates**, refer to our [legacy Building documentation guide](https://github.com/elastic/docs?tab=readme-ov-file#building-documentation)


### Contribute to Elastic Stack version 9.0 docs and later
If you need to update documentation for both 8.x and 9.x, you will have to work in two systems. See [What if I need to update both 8.x and 9.x docs?](https://docs-v3-preview.elastic.dev/elastic/docs-builder/tree/main/contribute/on-the-web#what-if-i-need-to-update-both-8.x-and-9.x-docs) for the processes on updating docs across different versions.
Copy link
Contributor

Choose a reason for hiding this comment

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

consider putting this above the headings


### Contribute to version `9.0` docs and later

To contribute to `9.0+` content, you need to work with our new documentation system. This system uses custom [Markdown syntax](../syntax/index.md).
This content lives in one of three places:
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
This content lives in one of three places:
The source files for this content are hosted in one of three places:


1. **Reference/settings content** lives in the new Markdown files in the code repo as it did pre 9.0. This enables folks to make updates that touch code and low-level docs in the same PR.
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
1. **Reference/settings content** lives in the new Markdown files in the code repo as it did pre 9.0. This enables folks to make updates that touch code and low-level docs in the same PR.
1. **Reference/settings content** is generally stored in markdown files in the relevant product repo. For example, the Elasticsearch configuration reference is stored in the [elastic/elasticsearch](https://github.com/elastic/elasticsearch/tree/main/docs) repo. This enables contributors to make updates that touch code and low-level docs in the same PR.

Copy link
Contributor

Choose a reason for hiding this comment

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

consider a table instead

2. **Narrative/conceptual and overview content** lives in [elastic/docs-content](https://github.com/elastic/docs-content). For example, the [ES|QL overview](https://docs-v3-preview.elastic.dev/elastic/docs-content/tree/main/explore-analyze/query-filter/languages/esql) lives in the **Explore & Analyze** section of the narrative docs. But the reference documentation lives in the Elasticsearch reference section of the docs: [ES|QL reference](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/tree/main/reference/query-languages/esql)
3. **API reference docs** live in the different OpenAPI spec repositories. This is where you need to update API docs published in the new API docs system.
Comment on lines +29 to +31
Copy link
Contributor

Choose a reason for hiding this comment

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

UNFORTUNATELY, it's more complex than that

this is the general rule, but the entire set of docs for certain products and tools, especially ingest and client docs, ended up in the most relevant code repo. this was because we had to make some tradeoffs in breaking apart our original content silos.

we need to be VERY CLEAR about the exceptions and why they exist, and always push back to the "edit this page" model

Copy link
Contributor

Choose a reason for hiding this comment

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

I have never heard of an "openapi spec repository" - we have problems here on two fronts

  1. we don't tell them where these pages live in our docs system (i.e. bump)
  2. AFAIK, SOME specs like elasticsearch are in dedicated repos but others still are generated out of their code repos (I think cloud is one of these).

we need to have a complete list, or at minimum, list it as an exception

Comment on lines +29 to +31
Copy link
Contributor

Choose a reason for hiding this comment

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

this list feels repetitive to the next section


When you are ready to edit the content:

* For **simple bugfixes and enhancements** --> [contribute on the web](on-the-web.md)
* For **complex or multi-page updates** --> [Contribute locally](locally.md)
Comment on lines +33 to 36
Copy link
Contributor

Choose a reason for hiding this comment

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

this is not how API docs are edited


## Where to find docs source files

Understand where your content of interest now sits in the new docs information architecture and the repos where source pages live.
Copy link
Contributor

Choose a reason for hiding this comment

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

I am concerned about having this list be so precise and simultaneously incomplete. we're covering 1/20 of the content

Copy link
Contributor

Choose a reason for hiding this comment

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

I think we should focus on explaining the shape of the changes rather than explaining what in particular has moved where (closer to what you have below)

remember that redirects and mapping will help with this


### Kibana

#### What has moved to elastic/docs-content?

Public-facing narrative and conceptual docs have moved. Most can now be found under the following directories in the new docs:

* **explore-analyze**: Discover, Dashboards, Visualizations, Reporting, Alerting, dev tools...
* **deploy-manage**: Stack management (Spaces, user management, remote clusters...)
* **troubleshooting**: troubleshooting pages

#### What is staying in the Kibana repo?

* Reference content, anything that is or could be auto-generated: Settings, syntax references, functions lists...
* Release notes
* Developer guide

### Elasticsearch

#### What has moved to elastic/docs-content?

Public-facing narrative and conceptual docs have moved. Most can now be found under the following directories in the new docs:

* **explore-analyze**: query languages, scripting, machine learning (NLP)
* **deploy-manage**: deploying elastic, production guidance, security, and Management
* **manage-data**: data store, migration, data lifecycle
* **solutions**: core search, playground, hybrid search
* **troubleshooting**: troubleshooting pages

#### What is staying in the Elasticsearch repo?

* Reference content (anything that is or could be auto-generated): Settings, syntax references, functions lists…
* Contribution guides and extending elasticsearch (clients, etc)
* Release notes

### Cloud

#### What has moved to elastic/docs-content?

Public-facing narrative and conceptual docs have moved. Most can now be found under the following directories in the new docs:

* **deploy-manage**: deploying cloud
* **cloud-account**: managing your cloud organization
* **troubleshooting**: troubleshooting pages

#### **What is staying in the Cloud repo?**
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
#### **What is staying in the Cloud repo?**
#### What is staying in the Cloud repo?


* Reference content (= anything that is or could be auto-generated): Settings, syntax references, functions lists…
* Release notes

### Machine learning

#### What has moved to elastic/docs-content?

Public-facing narrative and conceptual docs have moved. Most can now be found under the following directories in the new docs:

* **deploy-manage**: deploying cloud, managing your cloud organization
* **troubleshooting**: troubleshooting pages

#### What is staying in the Elasticsearch repo?

* Reference content, anything that is or could be auto-generated): Settings, syntax references, functions lists…
* Release notes

## How docs sections are organized

The following section shows a mapping of the different areas in the docs IA to the product areas and topics.

| **Area** | **Description** | **Sources (Area / Topic)** |
Copy link
Contributor

Choose a reason for hiding this comment

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

is "sources" intended to map old content to new content?

Copy link
Contributor

Choose a reason for hiding this comment

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

consider seeing what you can pull out of here

| ----- | ----- | ----- |
| **Get started** | Content in this section focuses on learning about Elasticsearch and the stack, learning about how it can be deployed, and basic environment setup for initial exploration. | Overview of Elastic and various topics |
| **Solutions and use cases** | Content in this section focuses on the core solutions themselves and their user cases. | **Search:** core search solution content, playground, hybrid search <br>**Observability:** core observability content <br>**Security:** core security content |
| **Manage data** | Content in this section focuses on learning about Elastic data store primitives, evaluating and implementing ingestion and data enrichment technologies, managing the lifecycle of your data and migrating data between clusters. | **Elasticsearch:** data store, migration, data lifecycle <br>**Ingest:** ingesting data into Elasticsearch <br>**Kibana**: Discover, Dashboards, Visualizations, Reporting, Alerting, dev tools. |
| **Explore and analyze** | Content in this section focuses on querying, visualizing, and exploring data. Additionally it focusing on leveraging machine learning for data analysis and defining and responding to alerts | **Elasticsearch:** query languages, scripting, machine learning (NLP) <br>**Machine Learning:** Anomaly detection, data frame analytics, NLP <br>**Kibana**: Discover, Dashboards, Visualizations, Reporting, Alerting, dev tools. <br>**ResponseOps:** Alerts and Cases |
| **Deploy and manage** | Content in this section focuses on evaluating deployment options and setting your environment up. This section also contains content around managing, securing, and monitoring your cluster. | **Elasticsearch:** deploying elastic, production guidance, security, and Management <br>**Cloud:** deploying and managing Elastic Cloud, Elastic Cloud Enterprise, Serverless, and ECK. |
Copy link
Contributor

Choose a reason for hiding this comment

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

this "cloud" grouping is imprecise - these were originally built from 3 repos already

| **Manage your Cloud account** | Content in this section focuses specifically on managing Cloud accounts. | **Cloud:** Managing your cloud account |
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
| **Manage your Cloud account** | Content in this section focuses specifically on managing Cloud accounts. | **Cloud:** Managing your cloud account |
| **Manage your Cloud account** | Content in this section focuses specifically on managing Elastic Cloud accounts and certain user-level preferences. | **Cloud:** Managing your cloud account |

| **Troubleshoot** | Content in this section is troubleshooting content for the different products as well as how to contact support. | All troubleshooting content |
| **Extend and contribute** | Content in this section focuses on contributing to Elastic products and building plugins, clients, and beats modules. | **Contributions guides for:** Kibana Logstash Beats <br>**Developer guides for:** Integrations Elasticsearch Plugins |
| **Reference** | Content in this section focuses on manuals for optional products as well as reference materials like query language references, configuration references, etc. | Reference content, Release notes, Developer guide |
Copy link
Contributor

Choose a reason for hiding this comment

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

missing: fleet, agent, logstash, clients, all totally housed in reference


## Report a bug

* It's a **documentation** problem --> [Open a docs issue](https://github.com/elastic/docs-content/issues/new?template=internal-request.yaml) *or* [Fix it myself](locally.md)
Expand All @@ -37,3 +131,4 @@ To contribute to earlier versions of the Elastic Stack, you must work with our [
## Work on docs-builder

That sounds great! See [development](../development/index.md) to learn how to contribute to our documentation build system.

Loading