[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[news.eclipse.technology.kepler] Re: Versioning the models

One, perhaps naive way, of solving the problem is to always maintain backward compatibility. It generally makes the users happy too. It's sometimes a nuisance though since you might change the semantics in a way that makes it very difficult.

A validating parser will always know the version of the schema so it should be able to cater for backward changes. Forward compatibility is another matter of course. The way we've done it in Buckminster, the old parser would simply fail with a message that the new schema cannot be found.

I have no idea how any of this works in EMF. I guess you'd have to tailor your parser to cater for differences. I doubt there's any built-in support for versioning.

- thomas


Philip Dodds wrote:
I suppose its the old question of versioning the root element or versioning the schema. I was just curious as to the impact on the parsing of versioning the schema?

Cheers

P

On 2007-08-28 06:56:54 -0400, Carlos Sanchez <carlos.sanchez@xxxxxxxxxxx> said:

if you version the model you will have to version the schema anyway,
because if you change something in the schema you don't want it to be
applied to old models

Philip Dodds wrote:
so the schema namespace would therefore contain the version ie.
http://www.eclipse.org/kepler/project/model/1.0

So if you are using EMF how does this work - do you need to have a
different generated code for each version?  so that you can load
different versions and then "upgrade" the older versions?

Welcome back by the way ;)

Cheers

P



On 2007-08-27 13:41:22 -0400, Thomas Hallgren <thomas@xxxxxxx> said:

I think that since the model is described by a schema, the schema
should be versioned, not the model. Implies of course that any
instance of the model contains correct xmlns attributes.

Regards,
Thomas Hallgren

Philip Dodds wrote:
I was looking at the models that we have started to add for the core
structure of the project meta-data at
http://wiki.eclipse.org/Kepler_Schema_project-core

I was thinking that we should probably add a model version attribute
to the project element and also to the facet's so that we can handle
changes in the core model in the tooling.

Thoughts ?

Cheers

P