Open BirgitBoss opened 1 month ago
I think this would be a breaking change to the API because a server could now return MySubmodelElementCollection.MySubSubmodelElementList2[myFirstElement][anotherFirstElement]
instead
MySubmodelElementCollection.MySubSubmodelElementList2[0][0]
for the idShortPath serialization (see https://github.com/admin-shell-io/aas-specs/issues/432#issuecomment-2248224629) which to older clients will not be a valid idShortPath.
Remark: Most likely the final idShortPath would look like this: MySubmodelElementCollection.MySubSubmodelElementList2.myFirstElement.anotherFirstElement
The API could define a parameter for path-with-list-number (default like today) and path-with-list-idshort: numbers re always available, idShort is optional. In case no idShort would be defined the index-number would be returned.
I.e. add new value to Content Parameters in [Clause SerializationModifier](https://admin-shell-io.github.io/aas-specs-antora/IDTA-01002/v3.1/specification/interfaces-operation-parameters.html#SerializationModifier*
Maybe we don't need a new ContentParameter. A V3.1 server may treat the following IdShortPaths equivalently:
MySubmodelElementCollection.MySubSubmodelElementList2.myFirstElement.anotherFirstElement
MySubmodelElementCollection.MySubSubmodelElementList2[0].anotherFirstElement
While a V3.0 server may return a the SubmodelElement for the first variant but return a 404 for the latter. But syntactically / functionally all will work.
If we treat both idShortPaths equivalently, what about the results returned by a server for requests with content=path
in regards to backwards compatibility?
If a server is free to return any format, this would be a breaking change as v.30 clients could not handle paths like MySubmodelElementCollection.MySubSubmodelElementList2.myFirstElement.anotherFirstElement
.
The only way I see to keep backwards compatibility would be to force v3.1 servers to always return index-based idShortPaths while accepting both index-based and idShort-based idShortPaths.
What is missing?
Describe the problem in short sentences, add a minimal example if possible
see aas-spec #432
In V3.1 Metamodel is planned to support idShort also for SubmodelElementList. Does this have any impact on API?