Mattermost Plugins in Beta! (Server v4.4.0)

Hey @danilvoe! Great question.

We’ve been working on the following items in recent releases:

Here are some upcoming changes we’re planning on:

v5.0:

Ability for plugins to intercept, modify or reject messages before they’re written to the database (PR #8791). This supports the following:

  • Plugins see every post going into the system, including system messages (with some exceptions)
  • Plugins can reject/modify any post before it reaches the DB, including system messages. Supports things like profanity filters. Example here: https://github.com/mattermost/mattermost-plugin-profanity-filter/blob/master/server/plugin.go
  • Plugins can modify any field on the post object. This includes doing interesting things like setting CreateAt to 5 minutes from now or 5 years ago.

Summer 2018 (subject to change)

  1. Release a pre-built Gfycat plugin across desktop and mobile

image

  1. Add updating user statuses to the plugin API
  • Sample use case: Automatically update user status in Mattermost based on your meeting calendar in Gmail or Outlook/Exchange
  1. Add support for plugins to add options in the […] post dropdown menu
  • Sample use case: Report inappropriate post via the […] post dropdown menu
  1. Add support to customize file upload icon
  • Sample use case: Upload files from Google Drive or OneDrive via the file upload icon
  1. Enhance webhook interactive message capabilities through (currently supports interactive buttons)
  • Message menus
  • Forms and dialogs

Is there documentation for all the plugin related config keys? These for instance:

  "PluginSettings": {
        "Enable": true,
        "EnableUploads": true,
        "Directory": "./plugins",
        "ClientDirectory": "./client/plugins",
        "Plugins": {},
        "PluginStates": {
            "com": {
                "Enable": true

Two of us seem to be having the exact same problem at the moment: Custom Plugin not found after upload/activation.

Hello,

Is there a public backlog containing the remaining work until the plugin system will be stable ?
(It is still marked as “Beta” in my administration console)

Regards.

Hi @GuiGuiSoft! We’re actively evaluating taking the beta wrapper off in the first half of next year. There’s a couple of key things that we’d like to address first:

  • The developer API and documentation needs to be unified and cleaned up.
  • We don’t have a story for mobile plugins. As we’re not planning on doing the same client-side code injection as we did for the webapp, we’d like to flesh out a strategy for more/better cross-platform components like interactive dialogs and messages.
  • The plugin infrastructure hasn’t been performance tested. This is often a concern from some of our larger customers.

Stay tuned on our https://community-release.mattermost.com/core/channels/developer-toolkit channel to learn more :slight_smile:

2 Likes