netbox-community / netbox

The premier source of truth powering network automation. Open source under Apache 2. Try NetBox Cloud free: https://netboxlabs.com/free-netbox-cloud/
http://netboxlabs.com/oss/netbox/
Apache License 2.0
16.05k stars 2.57k forks source link

Add ability to have 'sites' and 'contacts' be members of multiple groups #17123

Closed goteamkor closed 2 months ago

goteamkor commented 2 months ago

NetBox version

v.4.0.8

Feature type

Change to existing functionality

Proposed functionality

Add the ability for 'Sites' and 'Contacts' to be members of multiple 'site groups', and 'contact groups'.

Use case

Site groups are defined in the documentation as:

Whereas regions are intended to provide geographic organization, site groups can be used to classify sites by role or function.

In many businesses a site can have multiple roles or functions. For example, let's say my company is broken out into multiple product lines. I might have a single tenant (corporate), but multiple site groups for each product line. Some sites might produce multiple product lines rather than just 1.

Contact groups are similar. Let's suppose we have the following contact group hierarchy.

In this case, I might have a network engineer part of the 'network' contact group, and a systems engineer part of the 'systems' contact group. But I might also have an employee that has equal skills for both network and systems. There currently is no way to model this person being able to be part of both the network and systems contact groups. Putting this user one level higher (infrastructure) wouldn't make sense in the scenario above because Infrastructure also contains 'database', (and perhaps other teams too). Thus it might appear this network/systems person has skills for database and other teams too, when that isn't the case. Or another example might be a reporting structure. Let's say we have a manager that supervises both the network and systems teams (but not the database team). It would be handy to place that manager in both the network and systems contact groups to reflect their responsibility for those groups.

The drop down selector for site groups and contact groups would need to change from a single object selection to a multi-object selection (like tags are now)

Database changes

Change the field that stores site groups and contact groups from single object to multi-object. Database field would need to change from single value to array.

External dependencies

None.

jeremystretch commented 2 months ago

Thank you for submitting this issue, however it appears that this topic has already been raised. Please see issue #10784 for further discussion.