Skip to content

Share virtual whiteboards on Mattemost to collaborate with your team

License

Notifications You must be signed in to change notification settings

bockbilbo/mattermost-plugin-whiteboard

Repository files navigation

Mattermost Whiteboard Plugin

Share virtual whiteboards on Mattermost to collaborate with your team.

Supported Whiteboard Tools

This plugin works with both public and self-hosted instances of the following open-source whiteboard tools:

Screenshot

image

How to use the plugin

  • Run the /whiteboard command to share a virtual whiteboard
    • You can optionally set the whiteboard name appending an ID after the command
    • Custom whiteboard names are not available when using Excalidraw
  • Click the whiteboard icon in a channel header to share a new whiteboard

Installation

  1. Access the releases page and download the latest tar.gz file.
  2. Upload the file to your Mattermost server through System Console > Plugins > Management, or by manually uploading the uncompressed file to the plugin directory of the server.

Read the official Mattermost documentation for more details.

Configuration

Log into Mattermost with an admin account, go to System Console > Plugins > Whiteboard and set the following values:

  1. Enable Plugin: true
  2. Whiteboard Tool: select your preferred whiteboard backend from the list
  3. Custom URL: if using a self-hosted tool, enter the URL to the resource.
    • Note that the Whiteboard Tool selected on step #2 must match the tool installed in your server

Development

This plugin has been a personal project to get familiar with Go. It has been put together with snippets from the Mattermost plugin starter template, the original Mattermost Jitsi Plugin, the official Mattermost Jitsi Plugin, and the Mattermost Zoom Plugin.

For those of you looking for Mattermost plugin coding examples, this plugin contains both a server and web app portion, and demonstrates the following topics:

  • Defining a settings schema, allowing system administrators to configure the plugin via system console UI.
  • Extending existing webapp components to add elements to the UI.
  • Creating rich posts using custom post types.
  • Registering a custom slash command..
  • Creating a bot user to post notices in the channels.
  • Using a custom HTTP handler to generate and serve content.

Compiling

  1. Set your development environment for Go and npm
  2. Download the source code: git clone https://github.com/bockbilbo/mattermost-plugin-whiteboard.git
  3. Run make to compile while checking the quality of the code using go linterns