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

Rewrite Contributing and readme #4416

Merged
merged 21 commits into from
Jul 19, 2023
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
141 changes: 110 additions & 31 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,60 +1,139 @@
- [Creating an issue](#creating-an-issue)
- [Finding contributions to work on](#finding-contributions-to-work-on)
- [Contributing content](#contributing-content)
- [Documentation workflow](#documentation-workflow)
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved
- [Before you start](#before-you-start)
- [Making minor changes](#making-minor-changes)
- [Making major changes](#making-major-changes)
- [Setting up your local copy of the repository](#setting-up-your-local-copy-of-the-repository)
- [Making, viewing, and submitting changes](#making-viewing-and-submitting-changes)
- [Review process](#review-process)
- [Getting help](#getting-help)

# Contributing Guidelines
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved

Thank you for your interest in improving the OpenSource documentation! We value and appreciate all feedback and contributions from our community, including requests for additional documentation, corrections to existing content, and to report technical issues with the documentation site.
Thank you for your interest in improving the OpenSource documentation! We value and appreciate all feedback and contributions from our community, including requests for additional documentation, corrections to existing content, and reports of technical issues with the documentation site.
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved

You can [create an issue](#creating-an-issue) asking us to change the documentation or [contribute content](#contributing-content) yourself.

The OpenSearch documentation team is dedicated to providing complete and best-in-class documentation. Thank you for your patience as we build our documentation team and content library. We appreciate your support and patience.
## Creating an issue

## How to request changes
Use the documentation issue template to describe the change you'd like to make.
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved

Before entering a change request, please read this document carefully. We want to make sure we have all the information necessary to effectively respond to your contribution.
1. Go to https://github.com/opensearch-project/documentation-website/issues and select **New issue**.
1. Enter the requested information, including as much detail as possible, especially which version or versions the request affects.
1. Select **Submit new issue**.

There are two ways to contribute: 1) create an issue where you describe the change and 2) create a pull request that contains the content to directly insert into the documentation.
The `untriaged` label is assigned automatically. During the triage process, the documentation team will add the appropriate labels, assign the issue to a technical writer, and prioritize the request. We may follow up with you for additional information.
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved

**Create an Issue**
## Finding contributions to work on
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved

Use the Github issue tracker to describe the change you'd like to make.
If you’d like to contribute but don't know where to start, try browsing existing [issues](https://github.com/opensearch-project/documentation-website/issues). Our projects use custom GitHub issue labels for status, version, type of request, and so on, but we recommend looking at any issues labeled `good first issue` first.

1. Go to https://github.com/opensearch-project/documentation-website/issues and select *New issue*.
2. Enter the requested information and include as much detail as possible, especially which version or versions the request affects.
3. Select *Submit new issue*.
## Contributing content

There are two ways to contribute content depending on the magnitude of the change:
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved

The ‘untriaged’ label is assigned automatically. During the triage process, the documentation team will add the appropriate labels, assign the issue to a technical writer, and prioritize the request. We may follow up with you for additional information.
- [Minor changes](#making-minor-changes): For small changes like fixing a typo or adding a parameter, you can edit files in GitHub directly. This approach does not require cloning the repository and does not let you test the documentation.
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved
- [Major changes](#making-major-changes): For changes you want to test first, like reorganizing pages or adding a table or section, you can edit files locally and push the changes to GitHub. This approach requires setting up a local version of the repository and lets you test documentation.
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved

### Documentation workflow
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved

**Create a pull request**
The workflow for contributing documentation is no different than the one for contributing code:
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved

If you’d like to make a change directly to the content, create a pull request. If it’s a quick fix, we should be able to release the update quickly. Bigger requests might take a bit of time for us to review.
- Make your changes
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved
- Build locally to check your work (only possible if you are making changes locally)
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
- Build locally to check your work (only possible if you are making changes locally)
- Build a local instance of the content to check your work (only possible if you are editing the files locally)

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Reworded.

- Submit a [pull request](https://github.com/opensearch-project/documentation-website/pulls) (PR)
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved
- Maintainers review and merge your PR
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved

Note that a pull request requires DCO sign off before we can merge it. You can use the -s command line option to append this automatically to your commit message, for example $ git commit -s -m 'This is my commit message'. For more information, see https://github.com/apps/dco.
If the change requires significant work, open an issue where we can first discuss your request.
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved

Before submitting, make sure to:
### Before you start

* Work against the latest source on the main branch.
* Check existing open and recently merged pull requests to ensure that someone else hasn't addressed the problem already.
* If the change requires significant work, open an issue where we can first discuss your request.
Before contributing content, make sure to read the following resources:
- [README](README.md)
- [OpenSearch Project Style Guidelines](STYLE_GUIDE.md)
- [API Style Guide](API_STYLE_GUIDE.md)
- [Formatting Guide](FORMATTING_GUIDE.md)

To create a pull request:
NOTE: Please make sure that any documentation you submit is your work or work you have the rights to submit. We respect the intellectual property rights of others, and as part of contributing, we'll ask you to sign your contribution with a [Developer Certificate of Origin (DCO)](https://github.com/opensearch-project/.github/blob/main/CONTRIBUTING.md#developer-certificate-of-origin) that states you have the rights to submit this work and you understand we'll use your contribution.
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved

1. Fork the repository.
2. Modify the source. Make sure to focus on the specific change you are contributing. For example, if you also reformat the code, it will be hard for us to focus on your change.
3. Test the code. Make sure that any local tests pass.
4. Commit to your fork using clear commit messages.
5. Create the [pull request](https://github.com/opensearch-project/documentation-website/pulls) and save it, making sure to answer the default questions in the pull request template.
### Making minor changes

If you need additional support, GitHub provides documentation on [forking a repository](https://help.github.com/articles/fork-a-repo/) and [creating a pull request](https://help.github.com/articles/creating-a-pull-request/).
If you want to add a few paragraphs to a file, try this approach:
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved

1. [Fork this repository](https://docs.github.com/en/get-started/quickstart/fork-a-repo).

## Finding contributions to work on
1. In your fork on GitHub, navigate to the file that you want to change.

1. In the upper-right corner, select the dropdown with the pencil icon and select **Edit in place**. Edit the file.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why do they have to use the "Edit in place" option? They can also just select the pencil icon, which defaults to editing through GitHub automatically?


1. In the upper-right corner, select **Commit changes...***. Enter the commit message and optional description and select **Create a new branch for this commit and start a pull request**.

### Making major changes

If you're making major changes to the documentation and need to see the rendered HTML before submitting a pull request, you need to work in a local copy of the repository.
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved

#### Setting up your local copy of the repository

Follow these steps to set up your local copy of the repository:

1. [Fork this repository](https://docs.github.com/en/get-started/quickstart/fork-a-repo) and clone your fork.

1. Navigate to the repository root.
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved

1. Install [Ruby](https://www.ruby-lang.org/en/) if you don't already have it. We recommend [RVM](https://rvm.io/), but use whatever method you prefer:
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved

```
curl -sSL https://get.rvm.io | bash -s stable
rvm install 2.6
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved
ruby -v
```

1. Install [Jekyll](https://jekyllrb.com/) if you don't already have it:

```
gem install bundler jekyll
```

1. Install dependencies:
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved

```
bundle install
```

#### Making, viewing, and submitting changes

Here's how to build the website, make the changes, and view them locally:
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved

1. Build the website:

```
sh build.sh
```

The build script should automatically open your web browser, but if it doesn't, open [http://localhost:4000/docs/](http://localhost:4000/docs/).

1. Create a new branch against the latest source on the main branch.

1. Edit the Markdown files that you want to change.

1. When you save a file, marvel as Jekyll automatically rebuilds the site and refreshes your web browser. This process can take anywhere from 10 to 30 seconds.
Copy link
Collaborator

Choose a reason for hiding this comment

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

The build takes longer on most machines now.

Suggested change
1. When you save a file, marvel as Jekyll automatically rebuilds the site and refreshes your web browser. This process can take anywhere from 10 to 30 seconds.
1. When you save a file, Jekyll automatically rebuilds the site and refreshes your web browser. This process can take anywhere from 60 - 90 seconds.


1. When you're happy with how everything looks, commit, [sign off](https://github.com/src-d/guide/blob/9171d013c648236c39faabcad8598be3c0cf8f56/developer-community/fix-DCO.md#how-to-prevent-missing-sign-offs-in-the-future), push your changes to your fork, and submit a pull request.
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved

Note that a pull request requires DCO sign-off before we can merge it. You can use the -s command line option to append this automatically to your commit message, for example `git commit -s -m 'This is my commit message'`. For more information, see https://github.com/apps/dco.
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved

If you’d like to contribute but don't know where to start, try browsing existing issues. Our projects use custom GitHub issue labels for status, version, type of request, etc., but we recommend looking at any issues labeled “good first issue” first.
## Review process

We greatly appreciate everyone who takes the time to make a contribution. We will review all contributions as quickly as possible. If it’s a quick fix, we should be able to release the update quickly. Bigger requests might take a bit of time for us to review.
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved

## Security issue notifications
During the PR process, expect that there will be some back-and-forth. Please try to respond to comments in a timely fashion, and if you don't want to continue with the PR, let us know.
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved

If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public github issue.
We use the [Vale](https://github.com/errata-ai/vale) linter to ensure that our documentation adheres to the [OpenSearch Project Style Guidelines](STYLE_GUIDE.md). Addressing Vale comments on the PR expedites the review process. You can also install Vale locally so you can address the comments before creating a PR. For more information, see [Style linting](README.md#style-linting).

If we accept the PR, we will merge your change and usually take care of backporting it to appropriate branches ourselves.
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved
Copy link
Collaborator

Choose a reason for hiding this comment

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

Do we need to include "usually" here? If we usually do it, shouldn't we always do it? Then we could just say "If we accept the PR, we will merge it and backport it to the appropriate branches."


## Licensing
## Getting help

See the [LICENSE](LICENSE) file for our project's licensing.
For help with any step in the contributing process, please reach out to one of the [points of contact](README.md#points-of-contact).
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved
124 changes: 23 additions & 101 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,33 +4,9 @@

The documentation repository contains the documentation for OpenSearch, the search, analytics, and visualization suite with advanced security, alerting, SQL support, automated index management, deep performance analysis, and more. You can find the rendered documentation at [opensearch.org/docs](https://opensearch.org/docs).


## How you can help

Community contributions remain essential in keeping this documentation comprehensive, useful, well-organized, and up-to-date. If you are interested in contributing, please see the [Contribution](https://github.com/opensearch-project/documentation-website/blob/main/CONTRIBUTING.md) file.


## Points of contact

If you encounter problems or have questions when contributing to the documentation, these people can help:

- [cwillum](https://github.com/cwillum)
- [hdhalter](https://github.com/hdhalter)
- [kolchfa-aws](https://github.com/kolchfa-aws)
- [Naarcha-AWS](https://github.com/Naarcha-AWS)
- [vagimeli](https://github.com/vagimeli)


## How the website works

This repository contains [Markdown](https://guides.github.com/features/mastering-markdown/) files organized into Jekyll "collections" (e.g., `_search-plugins`, `_opensearch`, etc.). Each Markdown file correlates with one page on the website.

Using plain text on GitHub has many advantages:

- Everything is free, open source, and works on every operating system. Use your favorite text editor, Ruby, Jekyll, and Git.
- Markdown is easy to learn and looks good in side-by-side diffs.
- The workflow is no different than contributing code. Make your changes, build locally to check your work, and submit a pull request. Reviewers check the PR before merging.
- Alternatives like wikis and WordPress are full web applications that require databases and ongoing maintenance. They also have inferior versioning and content review processes compared to Git. Static websites, such as the ones Jekyll produces, are faster, more secure, and more stable.
This repository contains [Markdown](https://guides.github.com/features/mastering-markdown/) files organized into Jekyll _collections_ (for example, `_api-reference` or `_dashboards`). Each Markdown file corresponds to one page on the website.
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 need this section here? Would it be more appropriate in the contribution file?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

The readme is the what and the contributing is the how in my opinion. So readme is about this repo and contributing is about how to contribute. So I think it's better to have it here.


In addition to the content for a given page, each Markdown file contains some Jekyll [front matter](https://jekyllrb.com/docs/front-matter/). Front matter looks like this:

Expand All @@ -44,89 +20,23 @@ has_children: false
---
```

If you want to reorganize content or add new pages, keep an eye on `has_children`, `parent`, and `nav_order`, which define the hierarchy and order of pages in the lefthand navigation. For more information, see the documentation for [our upstream Jekyll theme](https://pmarsceill.github.io/just-the-docs/docs/navigation-structure/).


## Contribute content

There are a few ways to contribute content, depending on the magnitude of the change.

- [Minor changes](#minor-changes)
- [Major changes](#major-changes)
- [Create an issue](https://github.com/opensearch-project/documentation-website/issues)


### Minor changes

If you want to add a few paragraphs across multiple files and are comfortable with Git, try this approach:

1. Fork this repository.

1. Download [GitHub Desktop](https://desktop.github.com), install it, and clone your fork.

1. Navigate to the repository root.

1. Create a new branch.

1. Edit the Markdown files in `/docs`.

1. Commit, [sign off](https://github.com/src-d/guide/blob/9171d013c648236c39faabcad8598be3c0cf8f56/developer-community/fix-DCO.md#how-to-prevent-missing-sign-offs-in-the-future), push your changes to your fork, and submit a pull request.
If you want to reorganize content or add new pages, keep an eye on `has_children`, `parent`, and `nav_order`, which define the hierarchy and order of pages in the left navigation. For more information, see the documentation for [our upstream Jekyll theme](https://pmarsceill.github.io/just-the-docs/docs/navigation-structure/).


### Major changes

If you're making major changes to the documentation and need to see the rendered HTML before submitting a pull request, here's how to make the changes and view them locally:

1. Fork this repository.

1. Download [GitHub Desktop](https://desktop.github.com), install it, and clone your fork.

1. Navigate to the repository root.

1. Install [Ruby](https://www.ruby-lang.org/en/) if you don't already have it. We recommend [RVM](https://rvm.io/), but use whatever method you prefer:

```
curl -sSL https://get.rvm.io | bash -s stable
rvm install 2.6
ruby -v
```

1. Install [Jekyll](https://jekyllrb.com/) if you don't already have it:

```
gem install bundler jekyll
```

1. Install dependencies:

```
bundle install
```

1. Build:

```
sh build.sh
```

1. If the build script doesn't automatically open your web browser (it should), open [http://localhost:4000/docs/](http://localhost:4000/docs/).

1. Create a new branch.

1. Edit the Markdown files in each collection (e.g. `_security/`).

If you're a web developer, you can customize `_layouts/default.html` and `_sass/custom/custom.scss`.
## How you can help

1. When you save a file, marvel as Jekyll automatically rebuilds the site and refreshes your web browser. This process can take anywhere from 10-30 seconds.
Community contributions remain essential in keeping this documentation comprehensive, useful, well-organized, and up-to-date.

1. When you're happy with how everything looks, commit, [sign off](https://github.com/src-d/guide/blob/9171d013c648236c39faabcad8598be3c0cf8f56/developer-community/fix-DCO.md#how-to-prevent-missing-sign-offs-in-the-future), push your changes to your fork, and submit a pull request.
If you are interested in submitting an issue or contributing content, see [CONTRIBUTING](CONTRIBUTING.md).


## Writing tips

The OpenSearch team released [style guidelines](https://github.com/opensearch-project/documentation-website/blob/main/STYLE_GUIDE.md) for our documentation and marketing content. These guidelines cover the style standards and terms to be observed when creating OpenSearch content. We ask that you please adhere to these guidelines whenever contributing content.
The OpenSearch team released [style guidelines](STYLE_GUIDE.md) for our documentation and marketing content. These guidelines cover the style standards and terms to be observed when creating OpenSearch content. We ask that you please adhere to these guidelines whenever contributing content.

We also provide guidelines on terminology. For a list of OpenSearch terms, see [Terms](https://github.com/opensearch-project/documentation-website/blob/main/TERMS.md).
We also provide guidelines on terminology. For a list of OpenSearch terms, see [Terms](TERMS.md).

If you are contributing API content, see the [API Style Guide](API_STYLE_GUIDE.md) for API documentation guidelines.


## Formatting documentation
Expand All @@ -143,19 +53,31 @@ We use the [Vale](https://github.com/errata-ai/vale) linter to ensure that our d

Optionally, you can install the [Vale VSCode](https://github.com/chrischinchilla/vale-vscode) extension that integrates Vale with Visual Studio Code. By default, only _errors_ and _warnings_ are underlined. To change the minimum alert level to include _suggestions_, go to **Vale VSCode** > **Extension Settings** and select **suggestion** in the **Vale > Vale CLI: Min Alert Level** dropdown list.


## Points of contact

If you encounter problems or have questions when contributing to the documentation, these people can help:

- [cwillum](https://github.com/cwillum)
- [hdhalter](https://github.com/hdhalter)
- [kolchfa-aws](https://github.com/kolchfa-aws)
- [Naarcha-AWS](https://github.com/Naarcha-AWS)
- [vagimeli](https://github.com/vagimeli)


## Code of conduct

This project has adopted an [Open Source Code of Conduct](https://opensearch.org/codeofconduct.html).


## Security

See [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.
If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security using our [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public GitHub issue.
kolchfa-aws marked this conversation as resolved.
Show resolved Hide resolved


## License

This project is licensed under the Apache-2.0 License.
This project is licensed under the [Apache 2.0 License](LICENSE).


## Copyright
Expand Down