Transform your mattermost instance to a full featured chat on any WebApp.
Forked from: https://gitlab.com/itk.fr/matternelle/
The plugin is currently in alpha! Use it with caution!
- Manage your web apps in one or multiple channels
- One thread by user on web app
- Share responses to all colaborators in your team
- Off if nobody can respond to users
- Install the plugin
- This fork doesn't have releases yet. The plugin can be built and bundled by running
make dist
. The g-zipped bundle will be saved in thedist
folder. - In Mattermost, go the System Console -> Plugins -> Management
- Upload the plugin bundle built in step 1. The g-zipped bundle can be found in the
dist
folder. - Enable the plugin and modify the configration as needed
- This fork doesn't have releases yet. The plugin can be built and bundled by running
- Install the webcomponent
- Build the webcomponent by running
npm run build
in thewebcomponent
folder. This will create amatternelle.js
file in thewebcomponent/dist
folder. - see usage section to use it
- Build the webcomponent by running
- Go to a mattermost channel and enter
/matternelle init appName
it will give you a unique token - In any webapp add:
<head>
<!-- Load polyfills if needed -->
<script src="./webcomponents-loader.js" defer></script>
<!-- Load components via WebComponents.waitFor -->
<script type="module">
window.WebComponents = window.WebComponents || {
waitFor(cb){ addEventListener('WebComponentsReady', cb) }
}
WebComponents.waitFor(async () => {
import('./matternelle.js');
});
</script>
</head>
<body>
<matternelle-element id="matternelle" token="Previous token generated (XXX-YYYY-MMMM-ZZ)" url="Mattermost url without protocol but with websocket port (127.0.0.1:8989)"></matternelle-element>
<script>
function fireOnReady() {
document.querySelector('#matternelle').user = `Matternelle user`;
}
if (document.readyState === 'complete') {
fireOnReady();
} else {
document.addEventListener("DOMContentLoaded", fireOnReady);
}
</script>
</body>
- See the
index.html
file in thewebcomponent
folder for an example. - Every time a user will ask for help, it will build a new thread in your mattermost channel
- Every time someone respond to this thread, user will be notified in app
This plugin contains both a server and web app portion.
Use make dist
to build distributions of the plugin that you can upload to a Mattermost server.
Use make check-style
to check the style.
Use make deploy
to deploy the plugin to your local server. Before running make deploy you need to set a few environment variables:
export MM_SERVICESETTINGS_SITEURL=http://localhost:8065 export MM_ADMIN_USERNAME=admin export MM_ADMIN_PASSWORD=password
make deploy && cd webcomponent/ && npm start
Feel free to create a Github issue.