Allow plugins to replace core views
See original GitHub issueAs …
P.D. - Plugin Developer
I want …
A plugin to define a view that can functionally replace a core view by changing which view is routed to in the URL path from urlpatterns
So that …
I can provide functionality in a plugin that entirely replaces the implementation of a core view. For example, I may want to drastically change the look and feel of the IPAM prefix-list or detail views by completely suppressing certain model fields from table columns or filter fields. I may also want to provide my own filterset and filter form.
Plugin developers are doing this today by having a plugin provide a new view under its own URL namespace and using hacks in the permission framework to “hide” the existing views from navigation. This is very cumbersome as it requires the usage of custom permission actions and the unnecessary implementation of other related model views to override things like return URLs. Even with this hacky implementation, consider that a user may still be able to access the core view by navigating through other areas of the UI. For example, accessing the existing Prefix view by navigating through IP Addresses. This creates very bad UX.
I know this is done when…
- A plugin developer is able to register a view that is defined in the plugin and fully conforms to the core view’s functional interface
- A plugin developer can specify which core view and URL paths should be replaced by the registered plugin view
Optional - Feature groups this request pertains to.
- Automation
- Circuits
- DCIM
- IPAM
- Misc (including Data Sources)
- Organization
- Plugins (and other Extensibility)
- Security (Secrets, etc)
- Image Management
- UI/UX
- Documentation
- Other (not directly a platform feature)
Database Changes
No response
External Dependencies
No response
Issue Analytics
- State:
- Created 2 years ago
- Reactions:1
- Comments:5 (5 by maintainers)
Top GitHub Comments
This is certainly an advanced feature and I envision it really only being used by an org’s internally developed plugins. I would be fine with the order within
PLUGINS
dictating which view wins.Completed in #1957.