mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-12 05:20:31 +01:00
ip address - interface assignment section - object selector - usability adjustments #8134
Closed
opened 2025-12-29 20:32:53 +01:00 by adam
·
14 comments
No Branch/Tag Specified
main
update-changelog-comments-docs
feature-removal-issue-type
20911-dropdown
20239-plugin-menu-classes-mutable-state
21097-graphql-id-lookups
feature
fix_module_substitution
20923-dcim-templates
20044-elevation-stuck-lightmode
feature-ip-prefix-link
v4.5-beta1-release
20068-import-moduletype-attrs
20766-fix-german-translation-code-literals
20378-del-script
7604-filter-modifiers-v3
circuit-swap
12318-case-insensitive-uniqueness
20637-improve-device-q-filter
20660-script-load
19724-graphql
20614-update-ruff
14884-script
02496-max-page
19720-macaddress-interface-generic-relation
19408-circuit-terminations-export-templates
20203-openapi-check
fix-19669-api-image-download
7604-filter-modifiers
19275-fixes-interface-bulk-edit
fix-17794-get_field_value_return_list
11507-show-aggregate-and-rir-on-api
9583-add_column_specific_search_field_to_tables
v4.5.0
v4.4.10
v4.4.9
v4.5.0-beta1
v4.4.8
v4.4.7
v4.4.6
v4.4.5
v4.4.4
v4.4.3
v4.4.2
v4.4.1
v4.4.0
v4.3.7
v4.4.0-beta1
v4.3.6
v4.3.5
v4.3.4
v4.3.3
v4.3.2
v4.3.1
v4.3.0
v4.2.9
v4.3.0-beta2
v4.2.8
v4.3.0-beta1
v4.2.7
v4.2.6
v4.2.5
v4.2.4
v4.2.3
v4.2.2
v4.2.1
v4.2.0
v4.1.11
v4.1.10
v4.1.9
v4.1.8
v4.2-beta1
v4.1.7
v4.1.6
v4.1.5
v4.1.4
v4.1.3
v4.1.2
v4.1.1
v4.1.0
v4.0.11
v4.0.10
v4.0.9
v4.1-beta1
v4.0.8
v4.0.7
v4.0.6
v4.0.5
v4.0.3
v4.0.2
v4.0.1
v4.0.0
v3.7.8
v3.7.7
v4.0-beta2
v3.7.6
v3.7.5
v4.0-beta1
v3.7.4
v3.7.3
v3.7.2
v3.7.1
v3.7.0
v3.6.9
v3.6.8
v3.6.7
v3.7-beta1
v3.6.6
v3.6.5
v3.6.4
v3.6.3
v3.6.2
v3.6.1
v3.6.0
v3.5.9
v3.6-beta2
v3.5.8
v3.6-beta1
v3.5.7
v3.5.6
v3.5.5
v3.5.4
v3.5.3
v3.5.2
v3.5.1
v3.5.0
v3.4.10
v3.4.9
v3.5-beta2
v3.4.8
v3.5-beta1
v3.4.7
v3.4.6
v3.4.5
v3.4.4
v3.4.3
v3.4.2
v3.4.1
v3.4.0
v3.3.10
v3.3.9
v3.4-beta1
v3.3.8
v3.3.7
v3.3.6
v3.3.5
v3.3.4
v3.3.3
v3.3.2
v3.3.1
v3.3.0
v3.2.9
v3.2.8
v3.3-beta2
v3.2.7
v3.3-beta1
v3.2.6
v3.2.5
v3.2.4
v3.2.3
v3.2.2
v3.2.1
v3.2.0
v3.1.11
v3.1.10
v3.2-beta2
v3.1.9
v3.2-beta1
v3.1.8
v3.1.7
v3.1.6
v3.1.5
v3.1.4
v3.1.3
v3.1.2
v3.1.1
v3.1.0
v3.0.12
v3.0.11
v3.0.10
v3.1-beta1
v3.0.9
v3.0.8
v3.0.7
v3.0.6
v3.0.5
v3.0.4
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v2.11.12
v3.0-beta2
v2.11.11
v2.11.10
v3.0-beta1
v2.11.9
v2.11.8
v2.11.7
v2.11.6
v2.11.5
v2.11.4
v2.11.3
v2.11.2
v2.11.1
v2.11.0
v2.10.10
v2.10.9
v2.11-beta1
v2.10.8
v2.10.7
v2.10.6
v2.10.5
v2.10.4
v2.10.3
v2.10.2
v2.10.1
v2.10.0
v2.9.11
v2.10-beta2
v2.9.10
v2.10-beta1
v2.9.9
v2.9.8
v2.9.7
v2.9.6
v2.9.5
v2.9.4
v2.9.3
v2.9.2
v2.9.1
v2.9.0
v2.9-beta2
v2.8.9
v2.9-beta1
v2.8.8
v2.8.7
v2.8.6
v2.8.5
v2.8.4
v2.8.3
v2.8.2
v2.8.1
v2.8.0
v2.7.12
v2.7.11
v2.7.10
v2.7.9
v2.7.8
v2.7.7
v2.7.6
v2.7.5
v2.7.4
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.12
v2.6.11
v2.6.10
v2.6.9
v2.7-beta1
Solcon-2020-01-06
v2.6.8
v2.6.7
v2.6.6
v2.6.5
v2.6.4
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.13
v2.5.12
v2.6-beta1
v2.5.11
v2.5.10
v2.5.9
v2.5.8
v2.5.7
v2.5.6
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.9
v2.5-beta2
v2.4.8
v2.5-beta1
v2.4.7
v2.4.6
v2.4.5
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.7
v2.4-beta1
v2.3.6
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.10
v2.3-beta2
v2.2.9
v2.3-beta1
v2.2.8
v2.2.7
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.6
v2.2-beta2
v2.1.5
v2.2-beta1
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.10
v2.1-beta1
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
v2.0-beta3
v1.9.6
v1.9.5
v2.0-beta2
v1.9.4-r1
v1.9.3
v2.0-beta1
v1.9.2
v1.9.1
v1.9.0-r1
v1.8.4
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.7.3
v1.7.2-r1
v1.7.1
v1.7.0
v1.6.3
v1.6.2-r1
v1.6.1-r1
1.6.1
v1.6.0
v1.5.2
v1.5.1
v1.5.0
v1.4.2
v1.4.1
v1.4.0
v1.3.2
v1.3.1
v1.3.0
v1.2.2
v1.2.1
v1.2.0
v1.1.0
v1.0.7-r1
v1.0.7
v1.0.6
v1.0.5
v1.0.4
v1.0.3-r1
v1.0.3
1.0.0
Labels
Clear labels
beta
breaking change
complexity: high
complexity: low
complexity: medium
needs milestone
netbox
pending closure
plugin candidate
pull-request
severity: high
severity: low
severity: medium
status: accepted
status: backlog
status: blocked
status: duplicate
status: needs owner
status: needs triage
status: revisions needed
status: under review
topic: GraphQL
topic: Internationalization
topic: OpenAPI
topic: UI/UX
topic: cabling
topic: event rules
topic: htmx navigation
topic: industrialization
topic: migrations
topic: plugins
topic: scripts
topic: templating
topic: testing
type: bug
type: deprecation
type: documentation
type: feature
type: housekeeping
type: translation
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/netbox#8134
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ITJamie on GitHub (May 29, 2023).
Originally assigned to: @kkthxbye-code on GitHub.
NetBox version
v3.5.2
Feature type
Change to existing functionality
Proposed functionality
re the change in #10757.
There are a few changes that could make this more usable / less cumbersome (as mentioned in #12669 )
1: display the name of the device/vm along with the interface name in the list. this would remove some confusion as to what device/interface pair is currently assigned. it would also make directly selecting a new interface from the list (it is a dropdown selection box after all) easier
2: when clicking the "Open Selector" box:
3: in the selector view, the related device/virtual machine name should be displayed with each interface name in the interface list. by default it
4: consider not having any interfaces returned until a user triggers a search, otherwise there are objects to select at random and it can cause confusion (like thinking these are interfaces from the device of the existing assigned interface)
Use case
re the above:
1: we have seen a user change an assignment from eth0 to eth1 in the dropdown list without using the selector, however this ending up being eth1 on a different device, it is not possible to tell from this viewpoint what device an interface is assigned to, but its possible to search for interfaces without using the new selector modal. simply combining the device/vm name with the interface name would solve this.
2: preselecting device / virtual machine filters removes a click and confusion with the new selector
3: the list of interfaces returned does not show the name of the related device/vm. if your searching based on a filter like virtual chassis or similar you will get a list of interfaces likely with matching names, but no idea which device they relate to.
4: having objects show up for assignment without any search criteria is a bit odd
Database changes
No response
External dependencies
No response
@c-mege commented on GitHub (Jun 1, 2023):
+1, the new ui is a huge loss of time compared to the previous one. The process of attributing an IP adress to an interface was
done
it's now
done
That's 4 steps more, if you can do something it would be great,
Have a nice day
@DanSheps commented on GitHub (Jun 5, 2023):
I don't see aadding the device back as a step forward to be honest. However, one option might be to find a way to incorporate device information into the display name for interfaces (this would also fix some other issues with things like vlans if we included some limited parent information).
This still leaves searching an issue. Perhaps depending on the model, have some "default" forms pre-populated might be helpful.
@mgob commented on GitHub (Jun 8, 2023):
This is a confusing take, no, it's not a step forward but, the current implementation is a step backwards and having a popup will never be a step forward for covering two fields. So, probably should just get back to baseline and then figure out a forward plan.
Rollback #10757 OR make it only applicable to editing an already assigned device/interface which is probably what should have happened in the first place.
@ITJamie commented on GitHub (Jun 8, 2023):
I disagree with rolling back. the popup has search advantages, it just needs to be utilised better with better defaults/context
@mgob commented on GitHub (Jun 8, 2023):
I've had to rewrite this a few times, I guess what my complaint is.
Is that for new assignment this feels like it should have been in a Beta, not in a main release as it is very broken / confusing / laggy.
@DanSheps commented on GitHub (Jun 12, 2023):
It was in the beta: beta1 and beta2
From beta1:
From beta2:
It was available for comment on, and we did get some feedback. Yes it was only added to IP Address form recently, but that is to fix another problem
100%, I think some sane defaults will go a long way to helping out
@jeremystretch commented on GitHub (Jun 12, 2023):
As @DanSheps points out, this was in the beta. We run a month-long public beta period prior to each minor release specifically to gather feedback on changes such as this one. Unfortunately we can only act on the feedback of people who opt to participate.
@ITJamie commented on GitHub (Jun 12, 2023):
Just to clarify, Im 100% for keeping the selector, just with some sane context additions to make it quicker to use
@kkthxbye-code commented on GitHub (Jun 20, 2023):
How about trying out the following two changes:
This would cut down interactions for interface assignment to:
@v0tti commented on GitHub (Jun 28, 2023):
I think these changes would greatly improve the workflow.
Another thing that would help is making the selector button more visible. Users in my team did not recognize it as a button at first.
Also, if I might add this here: The UI of the overlay seems a bit out of place. Especially the list of selectable fields seems "broken" as it misses rounded corners and margins that seem to be used in other UI elements. Maybe there is room for improvement here as well.
@kkthxbye-code commented on GitHub (Jun 28, 2023):
I looked at it a little, but unfortunately it will require a fair bit of rewriting to get it to display a preset list of fields, as it currently just hardcoded with a magic number to show the first two fields of the form.
I'll try to get a PoC working, it should be doable.
@ITJamie commented on GitHub (Jun 29, 2023):
I have made progress re item 1 on my list.
It shows the device name after the interface name in the dropdown list on the ip assignment interface field.
I will extend that a bit more and open a pr if this issue gets approved (or should i create specific issues for each pr?)
@kkthxbye-code commented on GitHub (Nov 30, 2023):
I have a PR ready, please assign this to me.
Changes: https://github.com/netbox-community/netbox/compare/develop...kkthxbye-code:12751-usability-improvements
This wont solve all the issues, it's still confusing for users that clicking the filter without using the selector shows all objects, but I thinks it's a net improvement that saves several clicks.
Before:
After:
@jeremystretch commented on GitHub (Dec 15, 2023):
While PR #14387 does not address every suggestion proposed in this FR, it makes several improvements. The original FR is too broad to be actionable as a single task, so if there are additional improvements anyone would like to propose, please open one or more new issues to do so. (When submitting a new feature request, please be sure to explain your proposed changes in great detail and to clearly capture your use case.)