Mejorando la usabilidad de la configuración del plugin

Hi guys,
you might struggle with the same issue as I do:

We’ve installed various plugins with a lot of settings at admin panel. Discourse settings are pretty well grouped by their kind. Plugins not. We can’t say which option belongs to which plugin. I’d like to suggest a little improvement…

Is it possible to expand / collapse plugin specific options like the details view? (collapsed by default)

Some other ideas:

  • altering background color (white / gray / white / …)
  • a thin line between each plugin settings group

In addition to this, I’d like to have some basic information about the plugin on top of each group (1-2 sentences description), latest version and the installed one (date and build version), a link to the offical support site and a link to the plugin author’s site, and if available a shortcut to the docker manager to install updates.

Any thoughts on this?

5 Me gusta

When you go to /admin/plugins and click on the settings button of a specific plugin, it will filter only the settings for the one you selected.

6 Me gusta

This is not working e.g. with unofficial plugins like events and locations.

When you click on the settings link for a plugin, it works by filtering the settings based on the plugin name. For example, if you click on the settings for discourse-solved, it will bring you to this URL:

http://forum.example.com/admin/site_settings/category/plugins?filter=solved

This means that any of a plugins settings that cannot be found through that filter will not be displayed. With the discourse-solved plugin, the setting for accept_all_solutions_trust_level is not displayed when you click on the Settings button.

3 Me gusta

We could probably use a better and more structured solution here @sam.

3 Me gusta

For starters though we should be more consistent about naming in our plugin site settings. I agree a better structure makes sense here, we can associate the plugin settings with the particular plugin and then always be able to find them regardless of naming.

I really like the idea of allowing you to expand plugin settings directly near the plugin, somewhat similar to how theme settings work.

4 Me gusta

fAs I understand it, I know of two approaches. One is for a plugin to have its own settings menu under Settings. For a plugins settings to be shown from the Plugins page the settings need to follow the convention of setting names being prefixed with the plugins name.

For example, the setting name for the data explorer plugin begins with “data_explorer_” if it was not so it would not be found from the Plugins page.

I’m guessing the settings are being searched for setting names that begin with the same string as the plugin name. I’m also guessing it would be easiest to make this behavior known to plugin authors and put the onus on them to follow the convention.

¿Se supone que el botón de configuración/filtro esté disponible para cada complemento? Solo tengo el que se muestra aquí (hay algunos que venían preinstalados por defecto y sus configuraciones aparecen listados junto con los de este complemento en /admin/site_settings/category/plugins; no hay una distinción o separación clara, lo cual me pareció muy extraño.

La única interacción disponible en la sección /admin/plugins mostrada en la imagen es hacer clic en el enlace del complemento, lo que me lleva al repositorio de GitHub correspondiente. Solo me preocupa lo desordenado que esto puede volverse a medida que los administradores de la comunidad agreguen más complementos.

Aunque en mi caso no tengo un botón de enlace a la configuración, basándome en el ejemplo de URL que proporcionó @simon, puedo usar openid para filtrar los resultados. Sin embargo, ese no es el nombre completo del complemento; ¿funcionaría igual si hubiera otro con openid? (openid-connect cambia los resultados de 9 a 1; openid también mostró 2 resultados en la configuración de inicio de sesión que no estaban relacionados).

EDITO: openid_connect es el valor correcto. Creo que el filtrado se basa en estas claves de configuración.