Skip to content
Merged
Changes from all 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
125 changes: 74 additions & 51 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,98 @@
# Contributing guide

Welcome to Percona ClusterSync for MongoDB documentation!
Welcome to Percona ClusterSync for MongoDB (PCSM) documentation!

Check notice on line 3 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L3

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 3, "column": 44}}}, "severity": "INFO"}

Check notice on line 3 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L3

[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 3, "column": 45}}}, "severity": "INFO"}

Check failure on line 3 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L3

[Google.Exclamation] Don't use exclamation points in text.
Raw output
{"message": "[Google.Exclamation] Don't use exclamation points in text.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 3, "column": 51}}}, "severity": "ERROR"}

We're glad that you would like to become a Percona community member and participate in keeping open source open.
We're glad that you would like to become a Percona community member and help keep open source open.

Check warning on line 5 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L5

[Google.We] Try to avoid using first-person plural like 'We'.
Raw output
{"message": "[Google.We] Try to avoid using first-person plural like 'We'.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 5, "column": 1}}}, "severity": "WARNING"}

Percona ClusterSync for MongoDB is a tool for replicating data from a source MongoDB cluster to a target MongoDB cluster. It supports cloning data, replicating changes, and managing collections and indexes.

This repository contains the source file for PCSM documentation and this document explains how you can contribute to it.
This repository contains the source file for PCSM documentation, and this document explains how you can contribute to it.

Check notice on line 9 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L9

[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 9, "column": 46}}}, "severity": "INFO"}

If you'd like to submit a PCSM code patch, follow the [Contributing section in PCSM's code repository](https://github.com/percona/percona-clustersync-mongodb/blob/main/README.md#contributing).

## Contributing to documentation

Percona ClusterSync for MongoDB documentation is written in [Markdown] language, so you can
We welcome contributions from all users and the community. By contributing, you agree to the [Percona Community code of conduct](https://percona.community/contribute/coc/). Thank you for deciding to contribute and help us improve the Percona ClusterSync for MongoDB documentation.

Check warning on line 15 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L15

[Google.We] Try to avoid using first-person plural like 'We'.
Raw output
{"message": "[Google.We] Try to avoid using first-person plural like 'We'.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 15, "column": 1}}}, "severity": "WARNING"}

Check warning on line 15 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L15

[Google.We] Try to avoid using first-person plural like 'us'.
Raw output
{"message": "[Google.We] Try to avoid using first-person plural like 'us'.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 15, "column": 220}}}, "severity": "WARNING"}

You can contribute to the documentation in the following ways:

### Rate and comment on documentation pages

Each documentation page includes a **Rate this page** feature that allows you to assign stars (1-5) and leave comments. This is a quick and easy way to provide feedback about the documentation.

Check notice on line 21 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L21

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 21, "column": 95}}}, "severity": "INFO"}

To rate a page:

1. Use the star rating system to rate the page (1-5 stars).

Check notice on line 25 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L25

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 25, "column": 48}}}, "severity": "INFO"}

2. Leave a comment describing your feedback.

>[!Important]
Help us improve the documentation faster by leaving clear and detailed comments. This helps us understand the issue and address it more efficiently.

Check warning on line 30 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L30

[Google.We] Try to avoid using first-person plural like 'us'.
Raw output
{"message": "[Google.We] Try to avoid using first-person plural like 'us'.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 30, "column": 6}}}, "severity": "WARNING"}

Check warning on line 30 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L30

[Google.We] Try to avoid using first-person plural like 'us'.
Raw output
{"message": "[Google.We] Try to avoid using first-person plural like 'us'.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 30, "column": 93}}}, "severity": "WARNING"}

Brief comments like “this is confusing” or “needs improvement” are helpful, but sharing a bit more context allows us to take the most appropriate action.

Check warning on line 32 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L32

[Google.We] Try to avoid using first-person plural like 'us'.
Raw output
{"message": "[Google.We] Try to avoid using first-person plural like 'us'.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 32, "column": 115}}}, "severity": "WARNING"}

Please include:
* What issue did you encounter, or what improvement would you like to see
* Which section or topic needs clarification or correction
* Any specific examples or use cases that would help
* The version or environment you're using (if relevant)

Check notice on line 38 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L38

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 38, "column": 43}}}, "severity": "INFO"}
* Steps to reproduce any issues you found

### Add a topic in the Percona Community Forum

Check warning on line 41 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L41

[Google.Headings] 'Add a topic in the Percona Community Forum' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] 'Add a topic in the Percona Community Forum' should use sentence-style capitalization.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 41, "column": 5}}}, "severity": "WARNING"}
The [Percona Community Forum](https://forums.percona.com/) is a public discussion platform where you can ask questions, share feedback, or suggest improvements to the documentation. Use the forum to start a conversation about documentation issues, request clarifications, or discuss potential changes with the community and documentation team.

To add a topic, navigate to the [Percona Product Documentation category](https://forums.percona.com/c/percona-product-documentation/71) in the Percona Community Forum and select **New Topic**. Complete the form and select **Create Topic** to add the topic to the forum.


### Request a change with a Jira issue

Create a Jira ticket to report documentation issues or request changes. This method is useful for formal tracking or when you want the documentation team to handle the changes.

1. Open the [Percona Server Jira project](https://jira.percona.com/projects/PCSM/issues) in your browser.

2. Sign in (or create a Percona Jira account if you don't have one).

3. Click the **Create** button.

4. Fill in the required fields:

* **Summary**: Provide a brief description of the issue.

* **Description**: Provide more information about the issue. If needed, add a Steps To Reproduce section and information about your environment (version number, your operating system, etc.). Be detailed.

Check notice on line 61 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L61

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 61, "column": 146}}}, "severity": "INFO"}

Check notice on line 61 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L61

[Google.Passive] In general, use active voice instead of passive voice ('Be detailed').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('Be detailed').", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 61, "column": 193}}}, "severity": "INFO"}

* **Version**, **Environment**, and other relevant fields as needed.

5. Click **Create** to submit the ticket.

To go directly to the Create Issue form, use this URL: [https://jira.percona.com/secure/CreateIssue!default.jspa](https://jira.percona.com/secure/CreateIssue!default.jspa) and then select the **Percona ClusterSync for MongoDB (PCSM)** project.

Check notice on line 67 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L67

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 67, "column": 227}}}, "severity": "INFO"}

Check notice on line 67 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L67

[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'PCSM', if it's unfamiliar to the audience.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 67, "column": 228}}}, "severity": "INFO"}

### Edit the documentation yourself

Percona ClusterSync for MongoDB documentation is written in [Markdown](https://www.markdownguide.org/) language, so you can

Check notice on line 71 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L71

[Google.Passive] In general, use active voice instead of passive voice ('is written').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is written').", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 71, "column": 47}}}, "severity": "INFO"}
[edit it online via GitHub](#edit-documentation-online-via-github). If you wish to have more control over the doc process, jump to how to [edit documentation locally](#edit-documentation-locally).

Before you start, learn what [git], [MkDocs] and [Docker] are and what [Markdown] is and how to write it. For your convenience, there's also a cheat sheet to help you with the syntax.
Before you start, learn what git, MkDocs, and Markdown are, and how to write them. For your convenience, a cheat sheet is also available to assist you with the syntax.

The doc files are in the `docs` directory.

### Edit documentation online via GitHub
#### Edit documentation online via GitHub

1. Click the <img src="_resource/.icons/edit_page.png" width="20px" height="20px"/> **Edit this page**. The source `.md` file of the page opens in GitHub editor in your browser. If you haven't worked with the repository before, GitHub creates a [fork](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo) of it for you.
1. Click the **Edit this page** banner. The source `.md` file of the page opens in GitHub editor in your browser. If you havent worked with the repository before, GitHub creates a [fork](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo) of it for you.

2. Edit the page. You can check your changes on the **Preview** tab.

3. Commit your changes.

- In the *Commit changes* section, describe your changes.
- In the **Commit changes** section, describe your changes.
- Select the **Create a new branch for this commit and start a pull request** option
- Click **Propose changes**.

4. GitHub creates a branch and a commit for your changes. It loads a new page on which you can open a pull request to Percona. The page shows the base branch - the one you offer your changes for, your commit message and a diff - a visual representation of your changes against the original page. This allows you to make a last-minute review. When you are ready, click the **Create pull request** button.
5. Someone from our team reviews the pull request and if everything is correct, merges it into the documentation. Then it gets published on the site.
4. GitHub creates a branch and a commit for your changes. It loads a new page on which you can open a pull request to Percona. The page shows the base branch - the one you offer your changes for, your commit message, and a diff - a visual representation of your changes against the original page. This allows you to make a last-minute review. When you are ready, click the **Create pull request** button.

Check failure on line 90 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L90

[Google.Spacing] 'e. T' should have one space.
Raw output
{"message": "[Google.Spacing] 'e.  T' should have one space.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 90, "column": 295}}}, "severity": "ERROR"}
5. Someone from our team reviews the pull request and, if everything is correct, merges it into the documentation. Then it gets published on the site.

Check warning on line 91 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L91

[Google.We] Try to avoid using first-person plural like 'our'.
Raw output
{"message": "[Google.We] Try to avoid using first-person plural like 'our'.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 91, "column": 17}}}, "severity": "WARNING"}

### Edit documentation locally
#### Edit documentation locally

This option is for users who prefer to work from their computer and / or have the full control over the documentation process.
This option is for users who prefer to work from their computer and/or have full control over the documentation process.

The steps are the following:

Expand All @@ -47,7 +103,7 @@
git clone [email protected]:<your_name>/pcsm-docs.git
```

1. Change the directory to `pcsm-docs` and add the remote upstream repository:
3. Change the directory to ``pcsm-docs`` and add the remote upstream repository:

```sh
git remote add upstream [email protected]:percona/pcsm-docs.git
Expand All @@ -66,19 +122,19 @@
git checkout -b <my_branch>
```

6. Make changes. See the [Repository structure](#repository-structure) to for details what files this repo contains and their purpose.
7. Check your changes. Some editors (Sublime Text, VSCode and others) have the Markdown preview which you can use to check how the page is rendered. Alternatively, you can [build the documentation](#building-the-documentation) to know exactly how the documentation looks on the web site.
6. Make changes.
7. Check your changes. Some editors (Sublime Text, VSCode, and others) have the Markdown preview, which you can use to check how the page is rendered. Alternatively, you can [build the documentation](#building-the-documentation) to know exactly how the documentation looks on the website.

Check notice on line 126 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L126

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 126, "column": 37}}}, "severity": "INFO"}

Check notice on line 126 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L126

[Google.Passive] In general, use active voice instead of passive voice ('is rendered').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is rendered').", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 126, "column": 139}}}, "severity": "INFO"}
8. Commit your changes. The [commit message guidelines](https://gist.github.com/robertpainsi/b632364184e70900af4ab688decf6f53) will help you with writing great commit messages

9. Open a pull request to Percona

### Building the documentation

To verify how your changes look, generate the static site with the documentation. This process is called *building*.
To verify how your changes look, generate the static site with the documentation. This process is called *building*. You can do it as follows:

Check notice on line 133 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L133

[Google.Passive] In general, use active voice instead of passive voice ('is called').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is called').", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 133, "column": 96}}}, "severity": "INFO"}

#### Preconditions
#### Install MkDocs and build locally

1. Install [Python].
1. Install [Python](https://www.python.org/downloads/).

2. Install MkDocs and required extensions:

Expand All @@ -104,40 +160,7 @@
mkdocs serve
```

Paste the <http://127.0.0.1:8000> in your browser and you will see the documentation. The page reloads automatically as you make changes.

#### PDF

To build the PDF documentation, open the `site/print_page.html` in your browser. Save it as PDF. Depending on the browser, you may need to select the Export to PDF, Print - Save as PDF or just Save and select PDF as the output format.


## After your pull request is merged

Once your pull request is merged, you are an official Percona Community Contributor. Welcome to the community!

## Repository structure

The repository includes the following directories and files:

- `mkdocs-base.yml` - the base configuration file. It includes general settings and documentation structure.
- `mkdocs.yml` - configuration file. Contains the settings for building the docs with Material theme.
- `mkdocs-pdf.yml` - configuration file. Contains the settings for building the PDF docs.
- `docs`:
- `*.md` - Source markdown files.
- `_images` - Images, logos and favicons
- `css` - Styles
- `js` - Javascript files
- `_resource`:
- `templates`:
- ``styles.scss`` - Styling for PDF documents
- `theme`:
- `main.html` - The layout template for hosting the documentation on Percona website
- overrides - The folder with the Material theme template customization for builds
- `site` - This is where the output HTML files are put after the build


[MkDocs]: https://www.mkdocs.org/
[Markdown]: https://daringfireball.net/projects/markdown/
[Git]: https://git-scm.com
[Python]: https://www.python.org/downloads/
[Docker]: https://docs.docker.com/get-docker/