I am in the process of integrating new changes for the graphene widgets. I am currently stuck trying to understand what to do.
The current problems:
* not clear to me how properties names and organization can be changed from one version to the other
* even if we had that, macros may make everything impossible anyway. Suppose a property accepts two strings “A” or “B”, and you change that to “a” and “b”, you can change the values that are statically defined, but you can’t statically change all the values coming from macros (or pvs if it’s dynamic)
So: I don’t clearly see a way to change any behavior in a 100% compatible way. Once a widget is defined, it seems I have no option but leave it like that forever.
The only idea I currently have is the following:
* whenever I need to make an incompatible change, create a new widget
* call the new widget with a version number. For example LineGraphV2
* create a “Compatibility” group in the BOY palette, and move there the older widget
Anyone has a better idea?