All Projects → mattermost → mattermost-plugin-custom-attributes

mattermost / mattermost-plugin-custom-attributes

Licence: Apache-2.0 License
Mattermost plugin for adding custom attributes to users!

Programming Languages

go
31211 projects - #10 most used programming language
javascript
184084 projects - #8 most used programming language
Makefile
30231 projects
typescript
32286 projects

Projects that are alternatives of or similar to mattermost-plugin-custom-attributes

mattermost-plugin-alertmanager
AlertManager Bot for Mattermost
Stars: ✭ 48 (+84.62%)
Mutual labels:  mattermost, mattermost-plugin
mattermost-plugin-welcomebot
No description or website provided.
Stars: ✭ 44 (+69.23%)
Mutual labels:  mattermost, mattermost-plugin
mattermost-plugin-voice
Mattermost plugin for voice messaging. 🎤 🔉
Stars: ✭ 64 (+146.15%)
Mutual labels:  mattermost, mattermost-plugin
mattermost-plugin-google-calendar
Mattermost Google Calendar Plugin
Stars: ✭ 22 (-15.38%)
Mutual labels:  mattermost, mattermost-plugin
mattermost-plugin-agenda
Mattermost plugin to handle meeting agendas
Stars: ✭ 20 (-23.08%)
Mutual labels:  mattermost, mattermost-plugin
mattermost-plugin-apps
Powers the Mattermost App Framework
Stars: ✭ 29 (+11.54%)
Mutual labels:  mattermost, mattermost-plugin
mattermost-plugin-todo
Mattermost plugin for tracking to do items
Stars: ✭ 45 (+73.08%)
Mutual labels:  mattermost, mattermost-plugin
mattermost-plugin-zoom
Zoom plugin for Mattermost 🔌
Stars: ✭ 93 (+257.69%)
Mutual labels:  mattermost, mattermost-plugin
mattermost-plugin-email-reply
No description or website provided.
Stars: ✭ 25 (-3.85%)
Mutual labels:  mattermost, mattermost-plugin
mattermost-plugin-autotranslate
No description or website provided.
Stars: ✭ 34 (+30.77%)
Mutual labels:  mattermost, mattermost-plugin
mattermost-plugin-antivirus
Antivirus plugin for scanning files uploaded to Mattermost
Stars: ✭ 30 (+15.38%)
Mutual labels:  mattermost, mattermost-plugin
mattermost-plugin-jenkins
A Mattermost plugin to interact with Jenkins
Stars: ✭ 25 (-3.85%)
Mutual labels:  mattermost, mattermost-plugin
mattermost-plugin-walltime
Timezone Message Convert for Mattermost 🕛 🕒 🕕 🕘
Stars: ✭ 25 (-3.85%)
Mutual labels:  mattermost, mattermost-plugin
mattermost-plugin-starter-template
Build scripts and templates for writing Mattermost plugins.
Stars: ✭ 74 (+184.62%)
Mutual labels:  mattermost, mattermost-plugin
mattermost-plugin-memes
Add culture to your Mattermost with memes 🔌
Stars: ✭ 59 (+126.92%)
Mutual labels:  mattermost, mattermost-plugin
mattermost-plugin-wrangler
Manage Mattermost Messages Masterfully!
Stars: ✭ 33 (+26.92%)
Mutual labels:  mattermost, mattermost-plugin
mattermost-plugin-autolink
Automatically rewrite text matching a regular expression into a markdown link.
Stars: ✭ 100 (+284.62%)
Mutual labels:  mattermost, mattermost-plugin
mattermost-plugin-skype4business
No description or website provided.
Stars: ✭ 15 (-42.31%)
Mutual labels:  mattermost, mattermost-plugin
mattermost-rtl
Adds RTL support to Mattermost
Stars: ✭ 52 (+100%)
Mutual labels:  mattermost, mattermost-plugin
mattermost-plugin-github
GitHub plugin for Mattermost
Stars: ✭ 112 (+330.77%)
Mutual labels:  mattermost, mattermost-plugin

Mattermost Custom Attributes Plugin

Build Status Code Coverage Release HW

Maintainer: @marianunez Co-Maintainer: @larkox

This plugin adds custom attributes to users in your Mattermost instance. You can specify an Attribute, and then specify specific users, teams or groups which will display that attribute on their public profile - so other users can identify them easily. This can be useful when there are Team Leads, Timezones, etc. and makes it easy to show who is on a particular team or Project.

Currently the plugin only exposes the specified attributes in the user profile popover, but this plugin could be extended to allow displaying attributes elsewhere in the user interface, such as badges next to usernames.

We use this plugin on https://community.mattermost.com to distinguish Mattermost core committers and staff.

image

Version 1.20 (Latest)

Requirements

  • Mattermost Sever 5.20+
  • To use the "Group" features in this plugin requires a Mattermost E20 License to enable the AD/LDAP Groups Feature

Installation

Install via Plugin Marketplace (Recommended)

  • Go to Main Menu > Plugin Marketplace in Mattermost
  • Search for "Custom Attributes" or manually find the plugin from the list and click Install
  • After the plugin has downloaded and been installed, click the Configure button
  • Set Enable Plugin to True, then click "Save" at the bottom of the screen
  • Proceed to Configure your Attribute rules

Configuration

Before you start, Identify the attributes you want to display on a user's profile popover. These can contain emojis. Some examples could be "Timezone:PST", "Development Team", "Executive Team Member", "Mentor", etc. then Identify the groups, teams or particular usernames that should display those atrributes. A spreadsheet can help to organize things.

  1. Click "Add Custom Attribute" button, a text box will appear. Add the text that would appear in the user's profile popover. The text supports markdown and could include emojis and/or links, i.e. "Integrations Team" 2020-04-14_12-12-46

  2. Specify which users should have that attribute displayed on their profile. You can specify individual users, a Mattermost team name, or a Mattermost group ID (this ID needs to be copy/pasted from the group). The Mattermost group could be synched with an LDAP group to dynamically display attributes to user profiles, based on which LDAP group they currently belong to (this requires an E20 licence to enable AD/LDAP Groups). 2020-06-21_22-51-13

  3. Click "Save"

Example

Here are some example rules for two users:

2020-04-14_12-18-50

Their respective profile popovers display their information:

2020-04-14_12-19-24

Version 1.10 and Below instructions

Configuration

  1. Go to System Console > Plugins > Management and click Enable to enable the Customer Attributes plugin.

  2. Modify your config.json file to include your custom attributes, under the PluginSettings. See below for an example of what this should look like.

Usage

To add a custom attribute, edit your config.json file and add a "CustomAttributes" field. This field contains an array of the attributes you want to add.

An attribute should have a Name field for what is displayed in the user interface as the attribute and an array of UserIDs for the users this attribute should apply to. The Name field can include Markdown, emojis and links.

You can fill an array of Mattermost team ID's to the TeamIDs parameter, and the Name will then be displayed for all members of these teams.

You can also add an array of Mattermost group ID's to the GroupIDs parameter. The Name will then be displayed for all members who are apart of that group.

Below is an example:

"PluginSettings": {
    ...
    "Plugins": {
        "com.mattermost.custom-attributes": {
            "CustomAttributes": [
                {
                    "Name": ":mattermost: [Core Committer](https://developers.mattermost.com/contribute/getting-started/core-committers/)",
                    "UserIDs": ["someuserID1", "someuserID2"],
                    "TeamIDs": ["someteamID1", "someteamID2"],
                    "GroupIDs":["somegroupID1","somegroupID2"]
                },
                {
                    "Name": ":mattermost: Staff",
                    "UserIDs": ["someuserID3", "someuserID4"],
                    "TeamIDs": ["someteamID3", "someteamID4"],
                    "GroupIDs":["somegroupID3","somegroupID4"]
                }
            ]
        }
    }
    ...
    "PluginStates": {
        ...
        "com.mattermost.custom-attributes": {
            "Enable": true
        },
        ...
    }
},

Development

This plugin contains both a server and webapp 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.

For additional information on developing plugins, refer to our plugin developer documentation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].