Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Add mattermost-plugin-chess to Marketplace #284

Closed
12 of 14 tasks
MatthewDorner opened this issue May 26, 2022 · 5 comments
Closed
12 of 14 tasks

Add mattermost-plugin-chess to Marketplace #284

MatthewDorner opened this issue May 26, 2022 · 5 comments
Assignees
Labels
Plugin/New Request to add a new plugin to the Marketplace

Comments

@MatthewDorner
Copy link

MatthewDorner commented May 26, 2022

Summary

The plugin allows users to play games of Chess using chess.js and cm-chessboard. I built it a few years ago and someone requested to have it added to Marketplace, so I'm submitting it although it may require changes.

The main potential issue is that a while ago, I started having problems with mattermost-redux. With v5.33.1 and other recent versions via npm, the createPost action didn't work anymore, and I couldn't use older versions because it seems to be incompatible with recent mattermost-webapp versions which is what originally broke my plugin and caused me to investigate. Interestingly, if I took the same mattermost-redux code and built it into .js myself, and added those files to my project directly, it worked. So as a workaround to fix my project, I just left them there. But I guess this may be a security issue or otherwise undesirable, but not sure how to proceed since mattermost-redux isn't getting update and I could never figure out the root cause of the problem. You can reproduce this by adding mattermost-redux via npm and changing the import paths and building the plugin.

Review commit

https://github.com/MatthewDorner/mattermost-plugin-chess/releases/tag/v1.2.0
https://github.com/MatthewDorner/mattermost-plugin-chess/releases/tag/v1.2.1

  • The plugin is published under an Open Source license.
  • 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.
  • 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.
    I wasn't sure exactly where to put these and was getting errors when I tried to add them. Maybe something in my plugin is out of date. Is there a link to an example plugin where these fields are present?
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost interface.
    There is no configuration
  • 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.

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 logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to ben.schumacher@mattermost.com.

Functional requirements

  • 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. Typical components of documentation include:

    • Requirements/Prerequisites
    • Installation steps
    • Configuration steps
    • Usage
    • Troubleshooting
    • Screenshots (if available)
    • Link or email address for help/support

The plugin.json file should include formatting consistent with the System Console interface. You can join the Documentation channel for assistance.

@MatthewDorner MatthewDorner added the Plugin/New Request to add a new plugin to the Marketplace label May 26, 2022
@MatthewDorner
Copy link
Author

MatthewDorner commented May 26, 2022

I'm at @matthewdorner on the community server.

A video of the plugin in action is hosted on my website: https://matthewdorner.com/mattermost-plugin-chess.webm

@hanzei
Copy link
Collaborator

hanzei commented Feb 5, 2023

The checklist below will be used to track the process of getting your plugin to the Marketplace. It's sole purpose is visibility.

Process checklist

  • Create a private fork under the Mattermost organization; master should only contain a README.md.
  • Give submitter read access to the fork.
  • Create PR to merge upstream into master.
  • Request reviews.
  • Cut plugin release.
  • Add release to Marketplace.
  • Reach out on Marketing Channel to tweet about the plugin.
  • Work with @hanna.park regarding swag.

@hanzei
Copy link
Collaborator

hanzei commented Feb 5, 2023

@MatthewDorner Sorry, Matthew, your plugin has been off my radar for too long. I've kicked of the review process and will provide an update to your shortly.

@hanzei hanzei removed this from the Q4 milestone May 24, 2023
@wiersgallak
Copy link

Available in the web marketplace at: https://mattermost.com/marketplace/chess-plugin/

@esethna
Copy link

esethna commented Jul 17, 2023

Hey @MatthewDorner, our apologies on the large delay handling these issues. We've been working on some changes to the in-product marketplace in response to customer feedback.

We've heard that many Admins find it confusing that the web marketplace and in-product marketplace have different offerings. Moving forward we will be removing community plugins from the in-product marketplace and adding a link in-product to direct Admins to the web marketplace to find all community supported plugins.

Since this plugin is already added to the web marketplace, I can go ahead and close your open issue on this repo since we won't be updating the in-product marketplace moving forward. You can check out the latest process re web marketplace submissions here for more context: https://developers.mattermost.com/integrate/marketplace-submissions/

Thanks again for all your contributions, please let me know if you'd like to discuss this in more detail. You can ping me at @eric.sethna on the contributors server.

@esethna esethna closed this as completed Jul 17, 2023
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Plugin/New Request to add a new plugin to the Marketplace
Projects
None yet
Development

No branches or pull requests

4 participants