-
Notifications
You must be signed in to change notification settings - Fork 190
Add Overview content type #4394
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
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,115 @@ | ||
| --- | ||
| description: "A concise summary highlighting what the feature or concept is and why it matters, fit for search results and tooltips." | ||
| applies_to: | ||
| stack: | ||
| serverless: | ||
| type: overview | ||
| product: | ||
| --- | ||
|
|
||
| <!-- Copy and paste this template to get started writing your overview page, deleting the instructions and comments from your final page. | ||
|
|
||
| For complete guidance, refer to [the overview guide](https://www.elastic.co/docs/contribute-docs/content-types/overviews). | ||
|
|
||
| --> | ||
|
|
||
| # [Feature or concept name] | ||
| <!-- REQUIRED | ||
|
|
||
| A concise, descriptive name for the feature or concept. | ||
|
|
||
| Example: Inference processing | ||
| --> | ||
|
|
||
| <!-- REQUIRED | ||
|
|
||
| Introduction | ||
|
|
||
| Explain what this feature or concept is and why it matters to users. Your introduction should: | ||
|
|
||
| - Answer "What is it?" at a high level | ||
| - Establish the scope — what this overview covers | ||
| - Optionally clarify what's out of scope if that helps set expectations | ||
| - Help readers quickly determine if they're in the right place | ||
|
|
||
| Use the inverted pyramid: lead with the most important information, then add detail. --> | ||
|
|
||
| ## Use cases | ||
| <!-- RECOMMENDED | ||
|
|
||
| Describe concrete scenarios or examples showing how the feature or concept applies in practice. Help users understand when and why they would use this. | ||
|
|
||
| Example structure: | ||
| ### [Use case name] | ||
| [Brief description of the use case and its value] | ||
| --> | ||
|
|
||
| ## How it works | ||
| <!-- RECOMMENDED | ||
|
|
||
| Explain the underlying mechanism, workflow, or architecture. Consider including a diagram to illustrate the concept. | ||
|
|
||
| Example: | ||
| The diagram below shows how [feature] processes [data/requests]: | ||
|
|
||
| [Mermaid diagram or image] | ||
|
|
||
| - [Key point about the workflow] | ||
| - [Another key point] | ||
| --> | ||
|
|
||
| ## Key concepts | ||
| <!-- OPTIONAL | ||
|
|
||
| Define important terms or explain core concepts that are central to understanding this feature. Use this section when terminology might be unfamiliar to users. | ||
|
|
||
| - **[Term 1]:** [Definition] | ||
| - **[Term 2]:** [Definition] | ||
| --> | ||
|
|
||
| ## Background | ||
| <!-- OPTIONAL | ||
|
|
||
| Provide context that helps readers understand the concept more deeply. This might include: | ||
|
|
||
| - Historical context (where the idea originated, why it works the way it does) | ||
| - Industry context (relevant standards, common patterns) | ||
| - Design decisions (why certain choices were made, what alternatives exist) | ||
|
|
||
| Only include this section when context adds meaningful value to understanding. --> | ||
|
|
||
| ## [Comparison or decision section] | ||
| <!-- OPTIONAL | ||
|
|
||
| When helping users choose between options, use this section to compare features, trade-offs, or use cases. Consider using a table for clarity. | ||
|
|
||
| | Option | Best for | Trade-offs | | ||
| |--------|----------|------------| | ||
| | [Option A] | [Use case] | [Trade-off] | | ||
| | [Option B] | [Use case] | [Trade-off] | | ||
| --> | ||
|
|
||
| ## Next steps | ||
| <!-- RECOMMENDED | ||
|
|
||
| Suggestions for what users can do after reading this overview --> | ||
|
|
||
| - [Link to getting started guide or tutorial] | ||
| - [Link to a how-to guide for a common task] | ||
|
|
||
| ## Related pages | ||
| <!-- RECOMMENDED | ||
|
|
||
| Links to related documentation such as how-to guides, reference material, or other overviews --> | ||
|
|
||
| - [Link to how-to guide] | ||
| - [Link to reference material] | ||
| - [Link to related overview] | ||
|
|
||
| <!-- | ||
| Learn more about: | ||
| - Required elements: https://www.elastic.co/docs/contribute-docs/content-types/overviews#required-elements | ||
| - Recommended elements: https://www.elastic.co/docs/contribute-docs/content-types/overviews#recommended-elements | ||
| - Optional elements: https://www.elastic.co/docs/contribute-docs/content-types/overviews#optional-elements | ||
| --> | ||
|
|
||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. wondering how we handle for overviews that are a group of concepts under one umbrella - for example, this security overview, which explains security by level. we might give people some doorways into breaking up concepts into multiple H2s if needed for "compound" concepts. in these contexts, next steps don't make a lot of sense, because your next step depends on a selection that you make further up on the page based on what you've learned. we might want to hint that overviews might be very broad or very shallow, focused more on wayfinding or more on explanation. for example, on the opposite side of the spectrum, we basically just have an intro section and then some links: https://www.elastic.co/docs/deploy-manage/production-guidance a limitations section might also be useful
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
++ to the sentiment that these pages can vary dramatically. I wonder if it makes sense to have distinct content types for these? The current PR is more targeted towards the explanation end of the spectrum. Would it be useful to have way-finding overview pages (or even call them something like "landing pages") as a standalone type? Or maybe that can be handled in one page here too...
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think the Overview as presented stands well on its own — I would argue that it's a good type to have. If we feel the need to deviate, we would discuss — it might be that we've been cramming several overviews into one in the past.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. that's definitely true, I don't have a super strong opinion on this one, but it does feel like one of the more nebulous types, because it has a lot of recommended/optional elements so it's more open to variation —but maybe that's just par for this course?
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
I think that we generally skew a little shallow in terms of explanation on our wayfinding pages, so I like presenting them as overviews. However, at least hinting that the sections can be shorter (maybe with examples of the two ends of the spectrum) feels valuable so people don't feel like they're doing something "wrong" if their pages are at the 10th or 110th percentile of completeness. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,94 @@ | ||
| --- | ||
| description: "Guidelines for writing useful and comprehensive overview pages in the Elastic documentation." | ||
| applies_to: | ||
| stack: | ||
| serverless: | ||
| --- | ||
|
|
||
| # Overviews | ||
|
|
||
| This page provides guidelines for writing effective overview pages in the Elastic docs. | ||
|
|
||
| ## What is an overview | ||
|
|
||
| An overview provides conceptual information that helps users understand a feature, product, or concept. It answers two fundamental questions: | ||
|
|
||
| - **What is it?** | ||
| - **How does it work?** | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. And! How does it bring value? |
||
|
|
||
| Readers of overview pages are typically in a learning state rather than a goal-oriented or problem-solving state. They are often first-time users who want to get up and running quickly. Having effective overview content builds trust and confidence in our products. | ||
|
|
||
| Overviews serve several purposes: | ||
|
|
||
| - Explain what something is and why it matters. | ||
| - Help users navigate to the right content for their needs. | ||
| - Clarify how components, features, or concepts relate to each other. | ||
| - Help users choose between options or understand trade-offs. | ||
|
|
||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Also: Inform users how Elastic features and capabilities bring value to their organizations and make their lives easier/improve their workflows. |
||
| ## Best practices | ||
|
|
||
| When you create overview pages, follow these best practices: | ||
|
|
||
| - **Focus on a single concept:** Each overview should be dedicated to one concept, feature, or topic. If you find yourself explaining a second concept in depth, create a separate overview and link to it. | ||
| - **Lead with user value:** Start by explaining why the feature or concept matters to the user, not just what it does. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Here it is. We need to get better at this very important piece. |
||
| - **Use the inverted pyramid:** Begin with the most important information at a high level, then progressively add detail. This lets readers grasp the essentials quickly and dive deeper as needed. | ||
| - **Keep it conceptual:** Focus on explaining ideas, not on step-by-step instructions. Avoid instructional or reference content. Link to how-to guides and reference pages instead. | ||
| - **Answer the key questions:** Ensure your overview addresses the fundamental questions: What is it? Why does it matter? How does it work? When would I use it? | ||
| - **Use concrete examples:** Abstract concepts become clearer when illustrated with real-world scenarios or use cases. | ||
| - **Provide visual aids:** Diagrams, flowcharts, and architecture illustrations help users grasp complex relationships. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. And help break up walls of content |
||
| - **Avoid duplication:** Don't repeat detailed information that belongs in reference or how-to pages. Link to those pages instead. | ||
|
|
||
| ## Structure of an overview | ||
|
|
||
| To help users quickly understand a feature or concept, overviews use a consistent structure. A predictable format improves comprehension and makes the content easier to navigate. | ||
|
|
||
| ### Required elements | ||
|
|
||
| The following elements are required in overview pages: | ||
|
|
||
| - A consistent **filename:** Use descriptive noun-based patterns. Common patterns include: | ||
| - `[feature-name].md` (for example, `text-embedding.md`) | ||
| - `[concept].md` (for example, `data-streams.md`) | ||
| - `index.md` for section landing pages | ||
| - Appropriate **[frontmatter](https://elastic.github.io/docs-builder/syntax/frontmatter/):** | ||
| - `applies_to:` [Tags](https://elastic.github.io/docs-builder/syntax/applies) for versioning/availability info per the [cumulative docs guidelines](/contribute-docs/how-to/cumulative-docs/index.md) | ||
| - `description`: A brief summary of the page fit for search results and tooltips | ||
| - `product`: The relevant Elastic product(s) covered in the overview | ||
| % TODO once we have structured types - The `type` field set to `overview` | ||
| - A clear **title:** A concise, descriptive name for the feature or concept | ||
| - For example, "Text embedding" or "Data streams" | ||
| - An **introduction:** Explain what the feature or concept is and why it matters to users. This should: | ||
| - Answer "What is it?" at a high level. | ||
| - Establish the scope: what the overview covers and, optionally, what it doesn't. | ||
| - Help readers quickly determine if they're in the right place. | ||
| - **Core content sections:** The body of the overview explaining how it works, key concepts, components, or use cases. Structure these sections based on what users need to understand. | ||
|
|
||
| ### Recommended sections | ||
|
|
||
| Include the following sections in most overview pages: | ||
|
|
||
| - **Use cases or examples:** Concrete scenarios showing how the feature or concept applies in practice. | ||
| - **How it works:** A section explaining the underlying mechanism, workflow, or architecture. Consider including a diagram. | ||
| - **Next steps:** Suggestions for what users can do next, such as getting started guides or tutorials. | ||
| - **Related pages:** Links to related documentation such as how-to guides, reference material, or other overviews. | ||
|
|
||
| ### Optional elements | ||
|
|
||
| Consider including the following when they add value: | ||
|
|
||
| - **Background or context:** Historical context, industry context, or an explanation of why something was designed a certain way. This is especially useful for complex concepts with non-obvious design decisions. | ||
| - **[Diagrams](https://elastic.github.io/docs-builder/syntax/diagrams/):** Architecture diagrams, flowcharts, or other visual aids to illustrate concepts and relationships. | ||
| - **Comparison tables:** When helping users choose between options, use tables to compare features, trade-offs, or use cases. | ||
| - **[Tabs](https://elastic.github.io/docs-builder/syntax/tabs/):** When explaining variations (such as different deployment types or product tiers), use tabs to show the differences. | ||
| - **Key terminology:** Define important terms if they're central to understanding the concept. | ||
|
|
||
| ## Template | ||
|
|
||
| To get started writing your overview page, use the [template](https://github.com/elastic/docs-content/blob/main/contribute-docs/content-types/_snippets/templates/overview-template.md). | ||
|
|
||
| % ## Examples | ||
|
|
||
| % Here are some examples of well-structured overview pages in the Elastic documentation: | ||
|
|
||
| % TODO: Add links to 2-3 exemplary overview pages in the docs | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How prescriptive do we want to be?
I was taught that intros should contain 50 words or fewer in one to two sentences. Best practice is to keep the first sentence to about 25 words to provide just enough information so that users know whether to read on, and so that advanced users can get what they need from the intro and not need to read more.
Also, never repeat the title. For example, an overview with the "Dashboards" title:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or maybe we need separate guidance on writing good intros