Hi, I am looking to automatically create UDT Definitions via the Java SDK in Ignition 8.3 in a ManagedTagProvider. (io.ia.sdk.modl version 0.4.0 using a GatewayHook)
I instantiate my ManagedTagProvider with the TagProviderMeta.FLAG_PROVIDES_COMPLEX_TYPES flag set to true, and instantiate my UDT
Definition with the following:
provider = manager.getOrCreateManagedProvider(getProviderConfig());
BasicTagConfiguration model = new BasicTagConfiguration();
model.setName("MyUDT"); //setName always seems superfluous as configureTag sets name based on path
model.setType(TagObjectType.UdtType);
BasicTagConfiguration subFolder = new BasicTagConfiguration();
subFolder.setName("SubFolder");
subFolder.setType(TagObjectType.Folder);
BasicTagConfiguration subTag1 = new BasicTagConfiguration();
subTag1.setName("SubTag1");
subTag1.setType(TagObjectType.AtomicTag);
subTag1.set(WellKnownTagProps.DataType, DataType.Float4);
subTag1.set(WellKnownTagProps.TagGroup, "Default");
BasicTagConfiguration subTag2 = new BasicTagConfiguration();
subTag2.setName("SubTag2");
subTag2.setType(TagObjectType.AtomicTag);
subTag2.set(WellKnownTagProps.DataType, DataType.Float8);
subTag2.set(WellKnownTagProps.TagGroup, "Default");
model.addChild(subFolder);
subFolder.addChild(subTag1); //add child seems superfluous, based on path
provider.configureTag("MyUDT", model);
provider.configureTag("_types_/MyUDT/SubFolder", subFolder);
provider.configureTag("_types_/MyUDT/SubFolder/SubTag1", subTag1);
provider.configureTag("_types_/MyUDT/SubFolder/SubTag2", subTag2);
It does successfully create the hierarchy as seen below:
However the DataType field is missing from the tag properties
But it is populated into a custom
prg property.
I have also tried various other methods of instantiating tags, notably:
TagConfigurationBuilder, TagConfigurationModel, UdtConfigDefinition
which all produced similar results.
Any help or guidance on the correct process would be greatly appreciated. Thank you!

