mattermost-community / mattermost-plugin-welcomebot

Apache License 2.0
66 stars 41 forks source link

Ability to configure outside of the main config.json? #42

Open shred86 opened 4 years ago

shred86 commented 4 years ago

Looking at trying to use WelcomeBot on a large Mattermost instance where each team needs the ability to configure their own WelcomeBot settings. Configuring 100+ WelcomeBot team messages in the main config.json is not ideal. Is there any plan to allow for separate JSON files to be used for each team that is stored outside of the main config.json? Is it even possible or will it require changes to mattermost-server?

levb commented 4 years ago

Storing config "elsewhere", e.g. in the KV Store will cause complexities with invalidation. However, much like in https://github.com/mattermost/mattermost-plugin-autolink/issues/73, we should have an Import/Export capability. @shred86 would that address your use-case?

shred86 commented 4 years ago

Thanks for the info. If I’m understanding that import/export capability, it basically lets a user update the main config.json via a shared file? I guess I’m not completely understanding how this would work.

My understanding is the WelcomeBot plugin (like all plugins) are configured inside the main config.json file for the entire Mattermost server. I guess I’m hoping there could be a feature where we can define the plugin settings outside of the main config.json. Ideally, we would be able to create a separate directory with a JSON for each team’s WelcomeBot configuration. This way the WelcomeBot could be used for large Mattermost deployments with hundreds of teams (e.g. each team could configure their own JSON, send it to a system admin and they add it to the directory with all the other WelcomeBot config JSONs). It sounds like that won’t be possible without changes to the Mattermost server though.

terafirmanz commented 4 years ago

Or adding the ability to manage this in the team settings by team admins or via a /command. Having to manage this via the main config file makes things difficult even more so now with per channel support.

hanzei commented 3 years ago

The Apps framework should be used to add a modal that allows the configuration.

ThiefMaster commented 1 year ago

I have a large instance with 3k teams where anyone can create a team if they want. Requiring an admin to configure this - regardless if it's via config.json or via UI - does not scale.

If team admins could use UI or a slash command to set up welcome messages in their team it'd be much better!

theAkito commented 1 year ago

This issue is really important. If you are having any non-plebby deployment of Mattermost, managing the Welcome Bot's configuration via the central config.json becomes a real nuisance, very swiftly.

I just added a single button in one message & that was already pain, since the offical example provided has an error. Additionally, the config.json does only seem to be loaded once at server startup or something, because my instance cannot see the new options added, after I enabled this plugin.

Management via a huge config.json is pain. It's really important to have some Import/Export functionality or ideally just have a form in the System Console's plugin settings for the Welcome Bot. This would be the best & most idiomatic solution.