I've started to get at this in my response to some of the recent threads,
but I wanted to start a thread specifically to talk about this approach. The
approach I'm suggesting is to have have incremental 2.x versions of the
GeoReport spec that retain backward compatibility with 2.0 and only resort
to a full 3.0 version with more significant structural changes which would
break compatibility when there's no other way to solve a problem or when
doing so while retaining backward compatibility would be impracticable or
overly complicated to implement.
Such incremental 2.x versions would essentially be small feature releases
introducing new parameters or maybe even methods without any overall
structural changes to the spec. These incremental versions would allow
clients built for 2.0 to still be compatible with all the 2.0 features on
any GeoReport 2.x endpoint, but simply wouldn't be able to leverage the
latest 2.x features.
This approach would allow single server implementations to be continuously
updated along with a simple addition to the discovery file with each new
version, but otherwise wouldn't need to establish separate additional
endpoints. The GeoReport 2.0 endpoint would be the same thing as the
GeoReport 2.2 endpoint.
I don't want to imply that we should have a multitude of 2.x releases - we
should minimize the number of new versions as much as possible - but I think
this approach allows the spec to evolve without being so much of a moving
target for people who are building clients or other implementations.
How does this sound?
Phil
but I wanted to start a thread specifically to talk about this approach. The
approach I'm suggesting is to have have incremental 2.x versions of the
GeoReport spec that retain backward compatibility with 2.0 and only resort
to a full 3.0 version with more significant structural changes which would
break compatibility when there's no other way to solve a problem or when
doing so while retaining backward compatibility would be impracticable or
overly complicated to implement.
Such incremental 2.x versions would essentially be small feature releases
introducing new parameters or maybe even methods without any overall
structural changes to the spec. These incremental versions would allow
clients built for 2.0 to still be compatible with all the 2.0 features on
any GeoReport 2.x endpoint, but simply wouldn't be able to leverage the
latest 2.x features.
This approach would allow single server implementations to be continuously
updated along with a simple addition to the discovery file with each new
version, but otherwise wouldn't need to establish separate additional
endpoints. The GeoReport 2.0 endpoint would be the same thing as the
GeoReport 2.2 endpoint.
I don't want to imply that we should have a multitude of 2.x releases - we
should minimize the number of new versions as much as possible - but I think
this approach allows the spec to evolve without being so much of a moving
target for people who are building clients or other implementations.
How does this sound?
Phil