Replies: 8 comments 16 replies
-
Yeah I think keeping it as simple as possible for an MVP is a good goal though. How about, simply adding an (x,y) position field to the Rack model, and then adding the room / display logic. We can add various layers (cooling, electrical) as well as additional devices like cooling units in rack groups, etc. later on imo. Other notes that go through my head initially:
So to summarize, I think a lot of this is already in Netbox. We'd just need to add a new view where one can create a grid to act as the floorplan, and then place racks on it, i.e. give them x,y coordinates on that grid. Theres also no hard and fast rule about how exactly to organise your netbox sites, racks, rack groups, etc. but I think most people use rack groups to approximate rooms, is that what you guys do? Currently, in terms of the code, I think rack groups in netbox don't have a model themselves, but are simply an key under which other models (Racks) can be grouped, so to speak. So we'd need to convert it into an actual "thing" / model so that it can have its own detail page so that we can add fields for the grid size, shape, maybe also comments, etc. What do you guys think? |
Beta Was this translation helpful? Give feedback.
-
Our use and the most common use that I have read is that rack groups are containers and the first level of containers is usually a room. So it fits as you suggest. #4971 should be done in Netbox itself and that should be leveraged to add x,y,z for those devices. I agree to keeping it simple, but the library that implements de canvas for the floorplan/grid should be flexible enough for better usability. I expect @bellwood could share his experience with what he used and if it would still be a good fit or suggest something else. |
Beta Was this translation helpful? Give feedback.
-
definitely a needed feature |
Beta Was this translation helpful? Give feedback.
-
The list of wanted features is long. Maybe it helps to simplify the requirements in order to let the project fly. I created a simple, zoomable and movable Javascript raster view just as a proof of concept. It can take objects and place them in a defined raster. We only need the following information from NetBox: Raster size (corresponds to room dimensions) and position of each object. I didn't care about real dimensions for the sake of simplicity. I have never worked in a datacenter, therefore I couldn't tell what is really important about such a plugin and what is nice to have. You can try the demo here: https://jsfiddle.net/tmso6y8u/ Anyway the project needs some work to be done. As this should not be a fire and forget project, the question is, how many developers / contributers are willing to maintain this project long term. I could certainly help but I've got enough projects of my own and would only join a team which has enough members. Any Volunteers? |
Beta Was this translation helpful? Give feedback.
-
For our floor plans, I simply used the rack names as DOM IDs and used Flexbox and other CSS to position things as needed. @dreng's concept is pretty cool too, I may look at that further. |
Beta Was this translation helpful? Give feedback.
-
@bellwood That sounds interesting aswell. In general, I'd prefer solutions without Javascript. When I thought about my goal and experimented with flexboxes a bit, I found it hard to get what I wanted and the code felt quite bloated. So I gave up very, very quick. That's why I used Javascript. But to be honest, I'm completely unexperienced with flexboxes. May be you'd like to upload a demo of what you created? Although I wouldn't like to through my development in the bin, this thread shouldn't be a competition. It's better to throw something away which is in an early state than to insist on keeping a worse solution. So let's show and discuss and find out what technique fits best in the long run. I hope that some experienced networkers and developers will join the discussion. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
I posted below also in netbox_floorplan but I believe below is site core functionality. A typical site, with a floorplan. The background image is an imported plan/drawing. The racks have an overlay, created within the application, clickable and link to the rack or row views, which is a really convenient way of navigating. Rack colors change dynamically. Hovering over a rack shows tooltips with rack details. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
@bellwood , @ryanmerolle, @ndom91, @tb-killa, @candlerb
Anyone interested in rebooting this question as a plugin, put a first version in github so that everyone interested can contribute in a community driven fashion. This is one of the basic helpful features that should be implemented in netbox. A floorplan with racks and non racked devices.
Issues that need to be addressed:
Features:
Exclusions:
This is simply a call to see if a first draft can be done and get things rolling, as it will not be done within Netbox directly and can be handled well as a plugin I would think. Obviously #4971 is an important piece that is missing in how the implementation can move along.
@bellwood You had some time of prototype underway, do you want to share this on github as a starting point or simply discuss design before committing something to github?
Beta Was this translation helpful? Give feedback.
All reactions