cesmii / ProfileDesigner

Create valid and compliant OPC-UA Part 5 XML Information Models (Nodesets) in a 100% web-based environment.
https://profiledesigner.cesmii.net
BSD 3-Clause "New" or "Revised" License
4 stars 1 forks source link

Cannot override a member in an extension #112

Open jwise-mfg opened 5 months ago

jwise-mfg commented 5 months ago

As a Profile Designer user that wants to extend a base type, I want to change the properties of a member on that base type in my extension. For example, the base type has a member: CurrentSpeedwith the Is Required property as false; in my extension, I want CurrentSpeed to have Is Required set to true.

Per https://reference.opcfoundation.org/Core/Part3/v105/docs/6.3.3.3 the normative way to do this is for the Extension Profile to create a new member with the same name as the Base's member, and the new property value. Implementations must follow the definition in the most derived type.

However, Profile Designer has a uniqueness constraint (at least in the UI) on the BrowseName of a member preventing a user from implementing an over-riding extension. This is a defect, per the OPC UA specifcation, since the uniqueness constraint should be on the NodeId -- not the BrowseName. This prevents normative extension in Profile Designer and must be corrected.

image

scoxen1 commented 4 months ago

I will ease the duplicate name check in the front end to check for duplicate only for the attributes associated within the particular type. Per the screenshot included, I have a base type with attribute "X". In my extended type, I can add a new attribute "X". I will however keep a check to not permit user to add a 2nd attribute also named "X" on this type (check for duplicate names within the attribute list of this type when trying to add).

image