Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Objects organized in multiple locations. Usage of different reference types. #484

Open
izonfreak opened this issue May 30, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@izonfreak
Copy link

izonfreak commented May 30, 2023

When you have a system that has multiple objects that are available in multiple folders. The gateway gets confuse and only keeps the first instance that it finds. Consider the use case of Machine Vision Part 2 where we have a machine asset that can have multiple components. The vision asset has the "Components" entry point where all of object component of the vision asset are displayed as a flat list using HasComponent reference. Additionally, the vision asset organizes (Organizes refence type) the instances of the components by type, meaning that there is an additional folder for each component (Cables, ImageSensor, etc...). The objects in these folders are the same ones that are bellow the "Components" entry point:

VisionSystemAsset
|---Cables
|-------Cable_1
|---Components
|-------Cable_1
|-------ImageSensor_1
|---ImageSensors
|-------ImageSensor_1

The way the gateway is currently working it will generate a json for the VisionAsset is as follow :
{ "Cables": { "<VisionItem>": { "Cable_M8_1": { ..... } } }, "Components": { "<Component>": { "ImageSensor_1": { ...... } }, } }
However, if I remove the instance of the "Cables" folder, then the components all fall inside "Components" json. Which is the behavior that I would have expected from the beginning. The difference here is the gateway is taking the first instance it finds and creating the json accordingly.

The new feature could be to either make a difference/filter between references types like "Organizes" and "HasComponent". In that case one could specify which reference type has priority e.g., instance with the HasComponent reference type are the ones that are used to create the json topics, while objects that are merely "Organized" can be ignored.

Looking into filtering by reference types is helpful also to when creating different "Views" of the objects.

Another way to solve this issue is to specify a priority (first to look) browse name on which to find the instances of the objects. If we could specify "2:Components" as the first place to look for information, then I can have other folders organizing the instances without any issue. Additionally, the gateway can browse the rest of the object and just find new instances that it didnt found on the priority location.

@izonfreak izonfreak added the enhancement New feature or request label May 30, 2023
@izonfreak izonfreak changed the title Objects organized in multiple locations folders. Usage or different reference types. Objects organized in multiple locations. Usage of different reference types. May 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant