epics-containers / ibek

IOC Builder for EPICS and Kubernetes
https://epics-containers.github.io/ibek
Apache License 2.0
10 stars 4 forks source link

Add collections #214

Closed gilesknap closed 1 month ago

gilesknap commented 1 month ago

This pull request will add the ability to create 'sub-entities' by making the support object 'defs' a list of Union of Definitions (as it previously was) or 'CollectionDefinitions'.

CollectionDefinitions will have a set of arguments, just like definitions but instead of database / pre_init etc. will list a set of Entities to instantiate as sub objects.

The first pass of this PR is just a restructure to provide the above Union in the defs list. The support.py module needed breaking apart so that there were no circular dependencies. This new structure is probably tidier than it was before - the modules are now more concise and target a specific feature.

gilesknap commented 1 month ago

Next I need to make this actually render the sub Entities and make some tests to demo this. The tests will feature a vacuum space example.

coretl commented 1 month ago

Next I need to make this actually render the sub Entities and make some tests to demo this. The tests will feature a vacuum space example.

Can we do the tetramm example please? I think we decided that vacuum space doesn't actually use CollectionDefinition, just Definition with multiple databases...

gilesknap commented 1 month ago

Will do tetramm.

But I am Currently working on making the vac space example. It turns out that default objects nearly but not quite work.

gilesknap commented 1 month ago

Collections have been retired in favour of Definitions that may declare SubEntities.