Skip to content

Grouping custom objects #193

@milneauk

Description

@milneauk

Plugin Version

0.2.0

Proposed functionality

The current UI structure has been split into 2 sections:

  • Object types: custom object and fields definitions
  • Objects: instances of custom objects
Image

The proposed enhancement introduces the concept of custom object groups, enabling a hierarchical structure among custom objects to improve organisation and usability.

Image

This can be achieved by capturing the group name when defining the custom object.

Image

Use case

Creating multiple custom object types with similar names but distinct purposes can easily lead to confusion for users.

For instance, we’re currently evaluating how to structure our backup documentation to support disaster recovery efforts. Most organisations implement backups across several layers, such as network configurations, virtual machine images, and application data like databases or web directories. Each layer serves a specific function and typically requires its own documentation format.

Attempting to capture all these scenarios within a single Backup custom object by adding numerous (but rarely used) fields is not consistent with object-oriented design principles. This approach quickly becomes complex, difficult to maintain, and hard for users to interpret.

A more effective solution is to define multiple, purpose-specific custom objects and group them accordingly. This would allow us to:

  • Clearly differentiate between backup types and their intended use
  • Maintain consistency and clarity across documentation
  • Simplify navigation and reduce ambiguity for users
  • Accurately associate backup objects with the relevant device, service, or virtual machine

As you can imagine, the more we focus on object-oriented principles, the more custom objects definitions we need to create. The more we create, the more complex the solution becomes for users.

External dependencies

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions