Coder Social home page Coder Social logo

Comments (8)

zrgt avatar zrgt commented on September 25, 2024 1

Unfortunately if we want to keep OperationVariable class we will have to revert some changes made in d0cf3d5

To solve #146 we may introduce a new property submodel_element_id_short in OperationVariable and do smth like this in Operation.__init__:

self.input_variable = base.NamespaceSet(self, [("submodel_element_id_short", True)], input_variable)

from basyx-python-sdk.

TorbenD avatar TorbenD commented on September 25, 2024 1

Good points. How about the integration into the server-implementation which will come next? Maybe it would be easier to still remain with the OperationVariable for less adaption in other applications based on the sdks in future.

from basyx-python-sdk.

zrgt avatar zrgt commented on September 25, 2024

@jkhsjdhjs Can you take care of the issue?

from basyx-python-sdk.

zrgt avatar zrgt commented on September 25, 2024

We may have to reconsider the decision to eliminate the OperationVariable class due to possible problems with DotAAS version updates. If new attributes are added to OperationVariable in the future, we will be forced to build the class again and integrate those attributes. Such changes in the future will also require changes to our users' code and impact the backwards compatibility.

@jkhsjdhjs , @s-heppner , @TorbenD what do you think?

from basyx-python-sdk.

jkhsjdhjs avatar jkhsjdhjs commented on September 25, 2024

Such changes in the future will also require changes to our users' code and impact the backwards compatibility.

Good point. On the other hand adding attributes to OperationVariable would require a new version, and seeing how breaking changes are introduced even in release candidates, I doubt there won't be any in the next minor version. Thus you could also argue, that we might as well remove OperationVariable, because one breaking change more or less will probably not make a big difference.

from basyx-python-sdk.

zrgt avatar zrgt commented on September 25, 2024

Such changes in the future will also require changes to our users' code and impact the backwards compatibility.

Good point. On the other hand adding attributes to OperationVariable would require a new version, and seeing how breaking changes are introduced even in release candidates, I doubt there won't be any in the next minor version. Thus you could also argue, that we might as well remove OperationVariable, because one breaking change more or less will probably not make a big difference.

The removing of OperationVariable class would still affect the backwards compatibility.

from basyx-python-sdk.

jkhsjdhjs avatar jkhsjdhjs commented on September 25, 2024

Sure, my argument is that there are breaking changing with every new version of the metamodel, attributes are renamed all the time or are of a different type in a new version. So if we can't expect much backwards compatibility for other classes anyway, is it worth keeping OperationVariable just for a bit more backwards compatibility? And that is assuming OperationVariable changes in the future, which we don't know yet.

from basyx-python-sdk.

s-heppner avatar s-heppner commented on September 25, 2024

Fixed in #151

from basyx-python-sdk.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.