Multi-select user custom field plugin removal

I have the discourse-multiselect-user-field plugin enabled and in use for new signups, but understand this functionality has since been incorporated into the Discourse core.

This is a great move - but now I wonder what the best strategy is from here with respect to the plugin that is still installed on my site.

Though it is still listed as an installed plugin, there is no obvious ‘disable’ button or other user editable setting associated with this plugin entry in the installed plugins screen that would allow me to test the impact of removing it.

Can and should I attempt to remove this plugin if I want to retain current custom field user data acquired via this plugin? Will removing it impact new signup functionality (e.g. depopulate the drop-down list)?

If the plugin is now superfluous and presumably not likely to be maintained going forward, might leaving it in place expose the site to security or functionality problems in future? Might it conflict with future updates to core version multi-select functionality?

If it makes sense to remove the plugin, how best can this be achieved?

Hi Paul - yup, I was also delighted to discover it in core! Must have quietly slipped in.

To remove the plugin you’ll have to get into the server and edit your app.yml, removing the line near the bottom which installs the plugin. Then do a ./launcher rebuild app.

As to the data, it depends on how the plugin stores it (there doesn’t seem to be a standard way). Or it might magically just work - or not.

If not, it might be possible to completely retain it with a simple hack, or to export it and re-import it into a new multi-select field. Both of those are pretty hard core sysadmin tasks - the kind you need to pay someone for.

I’d be happy to help you with this if you like (since I’m just down the road). PM me.

OK, I can confirm that uninstalling the plugin causes the multiselect field to disappear from user profiles.

@joffreyjaffeux, @Sudaraka I wonder if the original authors of the plugin can update it to facilitate a graceful migration of the fields and data it manages for handling by Discourse core thereafter?

1 Like