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

Update add_plugin.md #210

Merged
merged 6 commits into from
Mar 16, 2022
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
33 changes: 22 additions & 11 deletions .github/ISSUE_TEMPLATE/add_plugin.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,36 +18,33 @@ A brief description what your plugin does. Consider including screenshots to hel

#### Review commit
<!--
Please link to an open source repository and release that should be used for review. As Mattermost code reviews and builds all plugins itself when listing in the Marketplace, the link cannot point at an already built plugin.
Please link to an open source repository and release that should be used for review. As Mattermost code reviews and builds all plugins itself when listing in the Marketplace, the link cannot point at an already-built plugin.
-->

## Checklist
<!--
Go through this checklist and confirm every item.
Go through this checklist and confirm every item.

It's fine if your plugin doesn't fulfill every item (e.g. it isn't production ready yet). You can still submit it!
You can also still do code changes while the plugin is in review and fix issues on the fly.
It's fine if your plugin doesn't fulfill every item (e.g. it isn't production ready yet). You can still submit it! You can also still do code changes while the plugin is in review and fix issues on the fly.
justinegeffen marked this conversation as resolved.
Show resolved Hide resolved
justinegeffen marked this conversation as resolved.
Show resolved Hide resolved

Even if your plugin isn't production-ready, it might still be added to the Marketplace as "Beta".
See https://developers.mattermost.com/extend/plugins/community-plugin-marketplace/#beta-plugins for more details.
Even if your plugin isn't production-ready, it might still be added to the Marketplace as "Beta". See https://developers.mattermost.com/extend/plugins/community-plugin-marketplace/#beta-plugins for more details.
justinegeffen marked this conversation as resolved.
Show resolved Hide resolved

If your plugin isn't production ready, please leave a comment stating whether you plan to fulfill the whole checklist or submit a "Beta" plugin.
If your plugin isn't production-ready, please leave a comment stating whether you plan to fulfill the whole checklist or submit a "Beta" plugin.
-->

**Product requirements**

- [ ] The plugin is published under an [Open Source license](https://opensource.org/licenses/alphabetical).
- [ ] The source code is available in a public git repository.
- [ ] The source code is available in a public Git repository.
- [ ] There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via `support_url` in the manifest.
- [ ] The plugin provides detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a `README` file or a landing page on the web. The link to the documentation is set as `homepage_url` in the manifest. A great example is the [`README` of the GitHub plugin](https://github.com/mattermost/mattermost-plugin-github/blob/master/README.md).
- [ ] For the current release and upcoming ones a changelog has to be published, with a link recorded in the `release_notes_url` property of the `plugin.json` manifest.
- [ ] The plugin has to be out of Beta and be released with at least v1.0.0.
- [ ] All configuration is accessible via the Mattermost UI.
- [ ] All configuration is accessible via the Mattermost interface.
justinegeffen marked this conversation as resolved.
Show resolved Hide resolved
- [ ] The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow [the documentation's suggested naming convention](https://developers.mattermost.com/extend/plugins/manifest-reference/#id).

**Technical requirements**

- [ ] The plugin works for 60k concurrent connections and in a high-availability deployment. **Note:** There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
- [ ] The plugin works for 60k concurrent connections and in a High Availability deployment. **Note:** There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
- [ ] The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

**Security requirements**
Expand All @@ -59,3 +56,17 @@ If your plugin isn't production ready, please leave a comment stating whether yo

- [ ] The plugin must set a `min_server_version` in the manifest.
- [ ] The plugin must work on all Mattermost versions greater than or equal to the `min_server_version`.

**Documentation requirements (checked by a Technical Writer)**

- [ ] The plugin must include detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a `README` file or a landing page on the web. The link to the documentation is set as `homepage_url` in the manifest. A great example is the [`README` of the GitHub plugin](https://github.com/mattermost/mattermost-plugin-github/blob/master/README.md). Typical components of documentation include:
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we put the development guide as a separate linked .MD file? Of the hundreds of people who read it, only a small fraction will ever custom code or contribute. and ittakes up a large section. I'd be happy to put a "How to Contribute" link higher up in the doc more prominently if it was linked out. Otherwise, I say sink it to the bottom of the readme.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Looking at this, I agree with you. It's too wordy. I believe we have this documented elsewhere but if not it certainly can be moved. I'll address this in a separate PR. Thank you!


* Requirements/Prerequisites
* Installation steps
* Configuration steps
* Usage
* Troubleshooting
* Screenshots (if available)
* Link or email address for help/support
justinegeffen marked this conversation as resolved.
Show resolved Hide resolved

The `plugin.json` file should include formatting consistent with the System Console interface. You can join the [Documentation channel](https://community.mattermost.com/core/channels/documentation) for assistance.