Skip to content

Add a way to browse/get "root" objects #169

@aronsemle

Description

@aronsemle

As a client, I want to a way to progressively browse the address space. I want to start at the root(s), and allow a user to expand a tree and explore. This is a common experience in industrial products.

Currently the GET /objects route takes an optional typeId and includeMetadata flag. As a result I can ask for all objects of a certain objecttype OR get all objects. If I want to provide a progressive browse, I need to hack it on the client side (get everything, piece together relationships, etc). This is inefficient & won't scale for servers with many objects.

There a number of ways to do this. Note there could be one or more roots

  • On the existing GET /objects route
    • Define a typeId that is "root" and considered special in the I3X address space
    • Add a filter option with the ability to look for hasParent=false
      • It’s probably good to start thinking about more advanced filters / wildcards as part of this and leave space in the spec for it
  • Add a new API
    • Not ideal; seems like overkill unless it was more of a browse API
    • It seems like we already have this with /objects and /objects/{id}/related

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestspecTo be defined in the spec, not the RFC

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions