View Issue Details

IDProjectCategoryView StatusLast Update
000578810000-005: Information ModelSpecpublic2021-10-26 17:02
ReporterSendMatt Assigned ToJeff Harding  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Fixed in Version1.04 
Summary0005788: Description of property 'Deprecated' [BOOLEAN] at 'DataTypeDictionaryType' is not clear
Description

D.5.2 DataTypeDictionaryType ( https://reference.opcfoundation.org/v104/Core/docs/Part5/D.5.2/ ):
"...
The Deprecated Property is used to indicate that all of the DataType definitions represented by the DataTypeDictionaryType are available through a DataTypeDefinition Attribute. Servers that provide DataType definitions as a DataTypeDefinition Attribute and through a DataTypeDictionaryType shall expose this Property.
..."

Assumption1: The value (TRUE/FALSE) of Boolean property 'Deprecated' is NOT relevant, only the presence of the property itself, or?

(Further assuming that only the presence of property 'Deprecated' is relevant but not the value)

Assumption2: If one (custom) DataType does not provide data type information by 'DataTypeDefinition' property --> 'Deprecated' property is NOT present at corresponding 'DataTypeDictionaryType'; therefore e.g. Clients require data type information from corresponding DataTypeDictionary;

Assumption3: If !!ALL!! (custom) DataTypes do provide data type information by 'DataTypeDefinition' property --> 'Deprecated' property shall be present at corresponding 'DataTypeDictionaryType'; therefore e.g. Clients (supporting 'DataTypeDefinition' property) can "skip" data type information from corresponding DataTypeDictionary and expect that data type information about (all custom) DataTypes are provided via 'DataTypeDefinition' property by server;

--> Are those three "interpretations"/assumptions correct?

If so, the second sentence in description "Servers that provide DataType definitions as a DataTypeDefinition Attribute and through a DataTypeDictionaryType shall expose this Property." should be ommitted as it could be misinterpreted as 'If server provides both (new simplified approach with 'DataTypeDefinition' AND old-style "DataTypeDictionaryType" ) ways the 'Deprecated' property needs to exist (even if at least one custom DataType definitions is not provided via DataTypeDefinition attribute).
But if I understood it correctly the 'Deprecated' property needs also to exist in case ONLY new simplified approach with DataTypeDefinition attribute is used.

https://reference.opcfoundation.org/v104/Core/docs/Part5/D.1/
"...
Annex D (normative) DataTypeDictionary
D.1 Overview
This annex defines a way to provide encoding information for custom DataTypes. In previous releases of the specification this approach was defined in OPC 10000-3. In OPC 10000-3 a simplified approach is now defined having a DataTypeDefinition Attribute on the DataType Node. The approach using DataTypeDictionaries is provided for backwards compatibility and in case some specific requirements cannot be fulfilled with the simplified approach. It is recommended to only use the approach using the DataTypeDefinition Attribute.
..."

TagsNo tags attached.
Commit Version
Fix Due Date

Activities

Jeff Harding

2020-07-29 13:42

developer   ~0012635

The DataTypeDictionary approach for DataTypes will be deprecated with the release of Version 1.05 and the Annex will be removed from the spec.

SendMatt

2020-07-30 07:54

reporter   ~0012639

OK, so there is no more "DataTypeDictionary approach for DataTypes " in future 1.05.

Nevertheless clarification for current 1.04 still missing (errata required?) as currently both approaches are "alive" and you might miss the "DataTypeDefinition Attribute" as is designated as (O)ptional at table "Table 17 – Overview of Attributes" ( https://reference.opcfoundation.org/v104/Core/docs/Part3/5.9/ ) but in fact is already (M)andatory in V1.04 for some cases, which is only mentioned in description at "5.8.3 DataType NodeClass" ( https://reference.opcfoundation.org/v104/Core/docs/Part3/5.8.3/ ).

[Additional note: beside (O)ptional and (M)andatory there should something like (C)onditional be defined/used with UA specs]

Jeff Harding

2021-10-25 19:22

developer   ~0015212

Added the statement "The value of this property should be set to 1 however it is only the presence of this optional Property which indicates the Server provides DataTypes through DataTypeDefinition Attributes." to the definition of the Deprecated Property.

Jeff Harding

2021-10-25 19:24

developer   ~0015213

Added Clarification the the value of the Deprecated Property can be ignored but should be set to 1.
Also clarified that if this Property is present it indicates that all DataTypes the server defined with DataTypeDictionaryType are also available as DataTypeDefinition Attributes

Jim Luth

2021-10-26 16:46

administrator   ~0015223

Agree to changes in telecon.

Issue History

Date Modified Username Field Change
2020-07-09 10:13 SendMatt New Issue
2020-07-20 15:51 Jim Luth Target Version => 1.05
2020-07-20 15:51 Jim Luth Assigned To => Jeff Harding
2020-07-20 15:51 Jim Luth Status new => assigned
2020-07-29 13:42 Jeff Harding Status assigned => resolved
2020-07-29 13:42 Jeff Harding Resolution open => no change required
2020-07-29 13:42 Jeff Harding Fixed in Version => 1.05
2020-07-29 13:42 Jeff Harding Note Added: 0012635
2020-07-30 07:54 SendMatt Status resolved => feedback
2020-07-30 07:54 SendMatt Resolution no change required => reopened
2020-07-30 07:54 SendMatt Note Added: 0012639
2021-06-03 19:03 Jim Luth Status feedback => assigned
2021-10-25 19:22 Jeff Harding Note Added: 0015212
2021-10-25 19:24 Jeff Harding Status assigned => resolved
2021-10-25 19:24 Jeff Harding Resolution reopened => fixed
2021-10-25 19:24 Jeff Harding Fixed in Version => 1.04
2021-10-25 19:24 Jeff Harding Note Added: 0015213
2021-10-26 16:46 Jim Luth Status resolved => closed
2021-10-26 16:46 Jim Luth Note Added: 0015223