Consistency of field order between interface add, edit, and bulk edit #5819

Closed
opened 2025-12-29 19:33:06 +01:00 by adam · 2 comments
Owner

Originally created by @candlerb on GitHub (Dec 21, 2021).

NetBox version

v3.1.2

Python version

3.8

Steps to Reproduce

  1. Go to a device
  2. Go to the interfaces tab
  3. Click "Add Interface" (/dcim/interfaces/add/?device=424).
  4. Note the field order. Click Cancel.
  5. Click the Edit button next to an existing interface (/dcim/interfaces/424/edit/)
  6. Note the field order, then click Cancel
  7. Check the selection next to one interface, then click Edit underneath the interface listing (/dcim/interfaces/edit/?device=424&...)
  8. Note the field order, then click Cancel.

Expected Behavior

Consistent ordering of the fields, so that you learn where fields are expected to be.

Observed Behavior

When adding a new interface:

  • Device (pre-selected)
  • Name
  • Label
  • Type
  • Enabled
  • Parent
  • Bridge
  • LAG
  • MTU
  • MAC Address
  • WWN
  • Description
  • Management only
  • Wireless role
  • Wireless channel
  • Channel frequency (MHz)
  • Channel width (MHz)
  • Mode
  • Untagged VLAN
  • Tagged VLANs
  • Tags

When editing a single (non-wireless) interface:

  • Interface
    • Device (greyed out)
    • Name
    • Type
    • Label
    • Description
    • Tags
  • Addressing
    • MAC address
    • WWN
  • Operation
    • MTU
    • Transmit power (dBm)
    • Enabled
    • Management only
    • Mark connected
  • Related Interfaces
    • Parent interface
    • Bridged interface
    • LAG interface
  • 802.1Q Switching
    • 802.1Q Mode

(Aside: it seems odd that "Transmit Power" is offered here under "Operation"; surely it belongs in the "Wireless" settings block? That appears between "Related Interfaces" and "802.1Q Switching" if the interface type is wireless)

When doing a bulk edit of an interface:

  • Label
  • Type
  • Parent
  • Bridge
  • Lag
  • MAC Address
  • WWN
  • MTU
  • Management only
  • Mark connected
  • Description
  • Mode
  • Wireless role
  • Wireless channel
  • Channel frequency (MHz)
  • Channel width (MHz)
  • Transmit power (dBm)
  • Enabled
  • Untagged vlan
  • Tagged vlans
  • Add tags
  • Remove tags

(Aside: note capitalization of "Lag", "vlan", "vlans")


Some of the things I find disorienting:

  • Parent, Bridge and Lag are near the bottom when editing a single interface, but near the top for bulk edit
  • When adding an interface, "tags" are near the bottom, next to 802.1Q settings (where they might be confused with VLAN tags)
  • The location of 'label' and 'description' vary greatly between the three pages

I think the best organized page is the edit single interface page, and I also like the way the settings are grouped in that page - with the proviso that I think transmit power is in the wrong block, and maybe Wireless should be directly below Operation.

I propose that the other two pages are rearranged to match it, preferably keeping the same block headings.

Originally created by @candlerb on GitHub (Dec 21, 2021). ### NetBox version v3.1.2 ### Python version 3.8 ### Steps to Reproduce 1. Go to a device 2. Go to the interfaces tab 3. Click "Add Interface" (`/dcim/interfaces/add/?device=424`). 4. Note the field order. Click Cancel. 5. Click the Edit button next to an existing interface (`/dcim/interfaces/424/edit/`) 6. Note the field order, then click Cancel 7. Check the selection next to one interface, then click Edit underneath the interface listing (`/dcim/interfaces/edit/?device=424&...`) 8. Note the field order, then click Cancel. ### Expected Behavior Consistent ordering of the fields, so that you learn where fields are expected to be. ### Observed Behavior When adding a new interface: * _Device_ (pre-selected) * Name * Label * Type * Enabled * Parent * Bridge * LAG * MTU * MAC Address * WWN * Description * Management only * Wireless role * Wireless channel * Channel frequency (MHz) * Channel width (MHz) * Mode * Untagged VLAN * Tagged VLANs * Tags When editing a single (non-wireless) interface: * _Interface_ * _Device_ (greyed out) * Name * Type * Label * Description * Tags * _Addressing_ * MAC address * WWN * _Operation_ * MTU * Transmit power (dBm) * Enabled * Management only * Mark connected * _Related Interfaces_ * Parent interface * Bridged interface * LAG interface * _802.1Q Switching_ * 802.1Q Mode _(Aside: it seems odd that "Transmit Power" is offered here under "Operation"; surely it belongs in the "Wireless" settings block? That appears between "Related Interfaces" and "802.1Q Switching" if the interface type is wireless)_ When doing a bulk edit of an interface: * Label * Type * Parent * Bridge * Lag * MAC Address * WWN * MTU * Management only * Mark connected * Description * Mode * Wireless role * Wireless channel * Channel frequency (MHz) * Channel width (MHz) * Transmit power (dBm) * Enabled * Untagged vlan * Tagged vlans * Add tags * Remove tags _(Aside: note capitalization of "Lag", "vlan", "vlans")_ ---- Some of the things I find disorienting: * Parent, Bridge and Lag are near the bottom when editing a single interface, but near the top for bulk edit * When adding an interface, "tags" are near the bottom, next to 802.1Q settings (where they might be confused with VLAN tags) * The location of 'label' and 'description' vary greatly between the three pages I think the *best* organized page is the edit single interface page, and I also like the way the settings are grouped in that page - with the proviso that I think transmit power is in the wrong block, and maybe Wireless should be directly below Operation. I propose that the other two pages are rearranged to match it, preferably keeping the same block headings.
adam added the type: bug label 2025-12-29 19:33:06 +01:00
adam closed this issue 2025-12-29 19:33:06 +01:00
Author
Owner

@candlerb commented on GitHub (Dec 22, 2021):

Another place which could be made more consistent with the others is when you view an interface, /dcim/interfaces/NNNN/. Here you get:

  • Device
  • Name
  • Label
  • Type
  • Enabled
  • Management Only
  • Parent
  • Bridge
  • LAG
  • Description
  • MTU
  • MAC Address
  • WWN
  • Transmit power (dBm)
  • 802.1Q Mode

Again, there's "Transmit power" even for a non-wireless interface, rather than being in the separate Wireless block.

@candlerb commented on GitHub (Dec 22, 2021): Another place which could be made more consistent with the others is when you *view* an interface, `/dcim/interfaces/NNNN/`. Here you get: * Device * Name * Label * Type * Enabled * Management Only * Parent * Bridge * LAG * Description * MTU * MAC Address * WWN * Transmit power (dBm) * 802.1Q Mode Again, there's "Transmit power" even for a non-wireless interface, rather than being in the separate Wireless block.
Author
Owner

@jeremystretch commented on GitHub (Dec 28, 2021):

A lot of refactoring has taken plan in the feature branch recently, and we're no longer using separate forms for device component creation and modification, which was the root cause of the mismatched ordering. I believe the concern above has been addressed, but you're welcome to review the v3.2 beta when it is released.

@jeremystretch commented on GitHub (Dec 28, 2021): A lot of refactoring has taken plan in the `feature` branch recently, and we're no longer using separate forms for device component creation and modification, which was the root cause of the mismatched ordering. I believe the concern above has been addressed, but you're welcome to review the v3.2 beta when it is released.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#5819