View Issue Details

IDProjectCategoryView StatusLast Update
000421110000-005: Information ModelApi Changepublic2020-09-16 18:20
ReporterStenGruener Assigned ToJeff Harding  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionno change required 
Summary0004211: Verisioning of information models and types
Description

Hello,

the information models are so far have version information included in the offline XML nodeset notation like in https://github.com/OPCFoundation/UA-Nodeset/blob/master/DI/Opc.Ua.Di.NodeSet2.xml.
"
<Model ModelUri="http://opcfoundation.org/UA/DI/" Version="1.01" PublicationDate="2012-12-31T00:00:00Z">
<RequiredModel ModelUri="http://opcfoundation.org/UA/" Version="1.03" PublicationDate="2013-12-02T00:00:00Z" />
</Model>
"

However, as far as I know, only the namespaceURI is visible at server's runtime, the URI stays unchanged with version updates. At some point of time the evolution of some companion will probably make some incompatible jump where client and server might interpret different models based on the same URI.

Question is: how is versioning of models and types addressed in the standard? How can a sever/client support multiple versions of the same model? Do the version have to be matched during connection hand-shake?

One "quick-hack" to (at least) indicate the used model/namespace version would be to use semantic versioning (https://semver.org/) and include the version into the URI string e.g. "http://opcfoundation.org/UA/DI/#v1.01" that is exposed in the NamespaceArray. It would however require clients to ignore/evaluate the semantics the the URI-suffix.

Best Regards
Sten

TagsNo tags attached.
Commit Version
Fix Due Date

Activities

Jim Luth

2018-04-03 15:43

administrator   ~0008978

Assigned to Jeff for a no-fix description to say why we don't need this.

Jeff Harding

2018-04-03 15:59

developer   ~0008980

Explain how a breaking version should use a different uri and a non-breaking does not. A client interested in what version a server's namespace is using should check the version in the NamespaceMetadataType.

StenGruener

2018-04-04 11:07

reporter   ~0008990

Okay, I missed the NamespaceMetadataType definition :/ Is there a mechanism to let server have multiple versions of one namespace in place?

Jim Luth

2020-09-16 18:20

administrator   ~0012878

Agreed to no-change in Virtual F2F.

Issue History

Date Modified Username Field Change
2018-03-28 13:26 StenGruener New Issue
2018-04-03 15:42 Jim Luth Project Information Models => 10000-005: Information Model
2018-04-03 15:42 Jim Luth Category Feature Request => Api Change
2018-04-03 15:43 Jim Luth Assigned To => Jeff Harding
2018-04-03 15:43 Jim Luth Status new => assigned
2018-04-03 15:43 Jim Luth Note Added: 0008978
2018-04-03 15:59 Jeff Harding Note Added: 0008980
2018-04-04 11:07 StenGruener Note Added: 0008990
2020-06-17 15:18 Jeff Harding Status assigned => resolved
2020-06-17 15:18 Jeff Harding Resolution open => no change required
2020-06-17 15:18 Jeff Harding Fixed in Version => 1.05
2020-09-16 18:20 Jim Luth Status resolved => closed
2020-09-16 18:20 Jim Luth Note Added: 0012878