Skip to Main Content
NetBox Plugin Ideas

Propose and vote for your most-wanted NetBox plugins!

Status Discussion
Categories Visualization
Created by Schylar Utley
Created on May 30, 2023

Visual representation of patch panels

This plugin would add a new button for patch panels that would show them in a graphical format. Each cell would be clickable and when clicking, you would receive the cable trace.


Use case

In order to hand contractors, splicers, techs, etc patch panel documentation, I typically convert it into an excel format. When a patch panel can be made up of very complex relationships and have multiple cables terminated or different cassettes, it is critical that the non technical guys can see what is supposed to look like. Additionally, when building patch panel designs, especially very complex ones with coexistence and several different wavelengths, I have to build it in Excel first and then pull it into Netbox.


At my last company, we built this functionality into our IPAM natively but I think Netbox would be benefit from it as well.

  • Attach files
  • Frederico Freire
    Reply
    |
    Oct 20, 2023

    Great! Thank you for your comments i´ll give it a try.

  • Guest
    Reply
    |
    Jun 9, 2023

    Hi,

    I just had started a plugin like this for devices. It should work for patchpanels as well. You can have a look at https://github.com/peterbaumert/netbox-device-view if it fits your need and leave feedback if you like :)

  • Martin
    Reply
    |
    Jun 3, 2023

    We could employ SVGs for that.

    Could even be device-specific, just upload a svg for the appropriate device-type, the files could employ jinja2 formatting, see below

    Btw, you could currently totally do this with export templates…





    <?xml version="1.0" encoding="UTF-8" standalone="no"?>

    <svg width="482.60001mm" height="44.450001mm" viewBox="0 0 482.60001 44.450001" version="1.1" id="svg5" inkscape:version="1.2.2 (b0a8486541, 2022-12-01)" sodipodi:docname="patchpanel.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"> <sodipodi:namedview id="namedview7" pagecolor="#ffffff" bordercolor="#999999" borderopacity="1" showgrid="false" showguides="true" inkscape:current-layer="layer1" />

    <defs

    id="defs2" />

    <g

    inkscape:label="p"

    inkscape:groupmode="layer"

    id="layer1"

    transform="translate(136.3,-155.41196)">

    <g

    id="g3808">

    <rect

    style="fill:#b3b3b3;fill-rule:evenodd;stroke:none;stroke-width:0.264583;-inkscape-stroke:none;stop-color:#000000"

    id="rect586"

    width="482.60001"

    height="44.450001"

    x="-136.3"

    y="155.41196" />

    <rect

    style="fill:#e6e6e6;fill-rule:evenodd;stroke:none;stroke-width:0.264583;-inkscape-stroke:none;stop-color:#000000"

    id="rect586-6"

    width="442"

    height="44.450001"

    x="-116.1377"

    y="155.41196" />

    <a href="https://netbox.example.org/dcim/front-ports/{{device.frontports.all()[0].id}}/trace/" target="_blank">

    <rect

    style="fill:#000000;fill-rule:evenodd;stroke:none;stroke-width:0.264583;-inkscape-stroke:none;stop-color:#000000"

    id="rect241"

    width="16"

    height="13"

    x="-116.1377"

    y="171.13696"

    inkscape:label="1" />

    </a>

    <a href="https://netbox.example.org/dcim/front-ports/{{device.frontports.all()[1].id}}/trace/" target="_blank">"

    <rect

    style="fill:#000000;fill-rule:evenodd;stroke:none;stroke-width:0.264583;-inkscape-stroke:none;stop-color:#000000"

    id="rect241-3"

    width="16"

    height="13"

    x="-97.603981"

    y="171.13696"

    inkscape:label="2" />

    </a>



    <g

    aria-label="1"

    id="text1101"

    style="font-weight:900;font-size:10.5833px;font-family:Inter;-inkscape-font-specification:'Inter Heavy';stroke-width:0.264583">

    <path

    d="m -106.2285,187.0239 v 7.69694 h -2.0896 v -5.77271 h -0.0451 l -1.68371,1.00722 v -1.77391 l 1.89417,-1.15754 z"

    id="path3279" />

    </g>

    <g

    aria-label="2"

    id="text1101-1"

    style="font-weight:900;font-size:10.5833px;font-family:Inter;-inkscape-font-specification:'Inter Heavy';text-align:center;text-anchor:middle;stroke-width:0.264583">

    <path

    d="m -92.482819,194.72084 v -1.50331 l 2.871322,-2.37523 q 0.424685,-0.35328 0.668973,-0.65394 0.248046,-0.30442 0.248046,-0.71407 0,-0.44348 -0.278113,-0.69528 -0.274354,-0.25181 -0.706555,-0.25181 -0.432202,0 -0.702797,0.26308 -0.270596,0.25932 -0.266838,0.74414 h -1.984369 q 0,-0.81178 0.364553,-1.39808 0.364553,-0.58629 1.029767,-0.90198 0.665215,-0.3157 1.559684,-0.3157 0.924535,0 1.601025,0.29691 0.680247,0.29314 1.048558,0.82682 0.372069,0.53367 0.372069,1.2515 0,0.44348 -0.184155,0.8832 -0.184156,0.43596 -0.661457,0.96587 -0.4773,0.52992 -1.356736,1.26278 l -0.721589,0.60133 v 0.0451 h 3.006619 v 1.66867 z"

    id="path3284" />

    </g>




    </g>

    </g>

    </svg>


    1 reply
  • D
    Reply
    |
    Jun 2, 2023

    I've long imagined an extension to device type where you could input a syntax for port layout flow that could render generic front panel views of devices. This plugin could be that vehicle if it isn't limited to patch panels

  • Frederico Freire
    Reply
    |
    Jun 1, 2023

    This would be very useful i was searching for somthing like this to quit excel.