Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Plugins Configuration View #580

Closed
jvanderaa opened this issue Jun 16, 2021 · 6 comments
Closed

Feature Request: Plugins Configuration View #580

jvanderaa opened this issue Jun 16, 2021 · 6 comments
Labels
type: feature Introduction of new or enhanced functionality to the application
Milestone

Comments

@jvanderaa
Copy link
Contributor

Environment

  • Python version: N/A
  • Nautobot version: 1.0

Proposed Functionality

Provide plugin configuration UI for plugin settings. There is a push for having plugins configuration being in the UI already such as the Chatops, circuit maintenance, and config compliance. It would be great to continue to have the settings in a single view. Case being if there are no views for several plugins, then the plugins will not add clutter to the Plugins menu.

Use Case

One place to keep configurations for plugins in a UI without having each plugin add it's own settings page.

Database Changes

Plugin settings maybe?

External Dependencies

@glennmatthews
Copy link
Contributor

Thanks for the request! This is closely related to #16 and #370.

@jedelman8 jedelman8 added type: feature Introduction of new or enhanced functionality to the application status: near-term labels Jun 17, 2021
@jedelman8 jedelman8 added this to the v1.2.0 milestone Jul 26, 2021
@glennmatthews
Copy link
Contributor

To keep the conversational threads separate, this is distinct from #370 in that it's not about how plugin configuration is stored, but rather how it is displayed/managed in the UI. In my opinion this makes sense to provide a UI pattern for even if each plugin has its own idiosyncratic way of managing its own settings (i.e. a unique "settings" view per plugin).

I think this logically intersects with the plan of moving the "installed plugins" table from admin to the main UI - if we can display a table of installed/enabled plugins, it logically would make sense to have an API to define a "configure" button for each relevant row, similar to how for example a device Interfaces table includes "connect", "trace", "add IP address" etc. buttons for each row.

@jedelman8
Copy link
Contributor

This makes sense. @glennmatthews based on the current thoughts process, this would be focused on:

a1) creating a landing page for plugins in the main UI (similar to and/or a port from "installed plugins") -
a2) possibly having that landing page inject data to the homepage for easy access
b) creating a UI pattern (one or more view templates) within the plugin API that can be used to configure (assumption is the "configure" button you mention directs to a settings page per plugin

Is this inline with what you were describing?

@glennmatthews
Copy link
Contributor

a1) creating a landing page for plugins in the main UI (similar to and/or a port from "installed plugins")

Yes

a2) possibly having that landing page inject data to the homepage for easy access

Not sure about this one - what information are you thinking would be appropriate on the homepage?

b) creating a UI pattern (one or more view templates) within the plugin API that can be used to configure (assumption is the "configure" button you mention directs to a settings page per plugin

I actually wasn't thinking of a standard view template for plugin configuration, because the structure of plugin configs is going to differ substantially between plugins. I was just thinking to have a way for a plugin to specify "I have a configuration view, and here's its URL pattern" and then have a corresponding link/button be automatically injected into the installed-plugins table/landing page for each such plugin.

@jedelman8
Copy link
Contributor

Not sure about this one - what information are you thinking would be appropriate on the homepage?

Initially, was thinking a scrolling list of installed plugins and allowing one counter/metric for the plugin developer to inject into it. One-line description and a counter to mimic what is on the home page now. May not be a ton of value in this.

I actually wasn't thinking of a standard view template for plugin configuration, because the structure of plugin configs is going to differ substantially between plugins. I was just thinking to have a way for a plugin to specify "I have a configuration view, and here's its URL pattern" and then have a corresponding link/button be automatically injected into the installed-plugins table/landing page for each such plugin.

This makes sense and simplifies things a bit for initial development.

@glennmatthews
Copy link
Contributor

Addressed in next by #935.

glennmatthews added a commit that referenced this issue Sep 24, 2021
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 24, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
type: feature Introduction of new or enhanced functionality to the application
Projects
None yet
Development

No branches or pull requests

3 participants