You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@beehive.apache.org by Carlin Rogers <ca...@gmail.com> on 2007/05/02 23:52:15 UTC

question about schema changes and versioning

I have some questions about how Beehive development should handle
versioning for a schema change.

Background... I've come across a scenario for creating snippets of
templates that may not have all the required tokens as defined in the
TemplatedURLFormatter class for the template support in NetUI URL
rewriting. But rather than have a developer provide an extension to
TemplatedURLFormatter and override the set of required tokens for all
templates in the web app, the desired enhancement would be to have an
optional flag on a template by template basis in
beehive-url-template-config.xml to be able to basically say it doesn't
need to validate against required tokens.

A change like this would imply a change to the
url-template-config.xsd. It would extend the namespace (e.g., by
adding a new optional element in the <url-template>), but does not
invalidate previously valid documents.

What would be the process for a schema update as far as versioning?

Currently the url-template-config.xsd does not have the optional
version attribute at the start of our XML schema. Should we start by
adding it and bump it up with the next release? Then existing instance
documents would not have to change as they would remain valid with the
new version since it is just an optional additive change. Do we even
need to do that? Or would there need to be a different approach such
as changing the schema's targetNamespace? If so, how should it be
versioned, especially for minor changes? ...just trying to determine
the best way to do this for an optional, additive change like this.

Would appreciate any thoughts on this.

Kind regards,
Carlin

Re: question about schema changes and versioning

Posted by Carlin Rogers <ca...@gmail.com>.
Forgot to add that no, the schema does not need to provide defaults
when the tokens are not defined. The schema doesn't even know about
the set of tokens. That's an implementation detail of the
TemplatedURLFormatter class in the URL rewriting support. In this case
the verify() method for the URLTemplate instance would just check if
this optional element is set or not before verifying required tokens.

Carlin

On 5/18/07, Carlin Rogers <ca...@gmail.com> wrote:
> Hi Rich,
>
> Thanks for the feedback. Appreciate your thoughts. The scenario
> involves a Portal application where they have defined a mechanism for
> accessing and using the templates for URL rewriting that is different
> from the default NetUI or the portal framework rewriting. The app uses
> the templates to right either the scheme, domain, and port (no path or
> query token included) or just the path (no query token). When the
> templates are verified at start up, you'd still want the usual default
> and portal templates verified so you wouldn't want to globally turn
> off the verification on all templates in the app. The requirement is
> for an option to say "we know what we're doing... don't validate this
> template".
>
> Thanks again,
> Carlin
>
> On 5/18/07, Rich Feit <ri...@privatei.com> wrote:
> > Hey Carlin, sorry for the late reply.  I think that adding the element
> > is fine -- if it's optional it should leave the schema
> > backwards-compatible.  I'm not a schema expert, though -- if anyone sees
> > a hole feel free to chime in.
> >
> > Out of curiosity, in the scenario where not all tokens are defined, does
> > the schema need to provide defaults?  Can you give the motivating
> > example (if there is one)?  I'm just curious about it.
> >
> > Thanks,
> > Rich
> >
> > Carlin Rogers wrote:
> > > Hi Beehive devs,
> > >
> > > Just checking again to see if there were any thoughts or
> > > recommendations as far as adding an element to the Beehive
> > > url-template-config schema and versioning.
> > >
> > > If there are no issues, then I'll plan to just add the new element.
> > >
> > > Thanks,
> > > Carlin
> > >
> > > On 5/2/07, Carlin Rogers <ca...@gmail.com> wrote:
> > >> I have some questions about how Beehive development should handle
> > >> versioning for a schema change.
> > >>
> > >> Background... I've come across a scenario for creating snippets of
> > >> templates that may not have all the required tokens as defined in the
> > >> TemplatedURLFormatter class for the template support in NetUI URL
> > >> rewriting. But rather than have a developer provide an extension to
> > >> TemplatedURLFormatter and override the set of required tokens for all
> > >> templates in the web app, the desired enhancement would be to have an
> > >> optional flag on a template by template basis in
> > >> beehive-url-template-config.xml to be able to basically say it doesn't
> > >> need to validate against required tokens.
> > >>
> > >> A change like this would imply a change to the
> > >> url-template-config.xsd. It would extend the namespace (e.g., by
> > >> adding a new optional element in the <url-template>), but does not
> > >> invalidate previously valid documents.
> > >>
> > >> What would be the process for a schema update as far as versioning?
> > >>
> > >> Currently the url-template-config.xsd does not have the optional
> > >> version attribute at the start of our XML schema. Should we start by
> > >> adding it and bump it up with the next release? Then existing instance
> > >> documents would not have to change as they would remain valid with the
> > >> new version since it is just an optional additive change. Do we even
> > >> need to do that? Or would there need to be a different approach such
> > >> as changing the schema's targetNamespace? If so, how should it be
> > >> versioned, especially for minor changes? ...just trying to determine
> > >> the best way to do this for an optional, additive change like this.
> > >>
> > >> Would appreciate any thoughts on this.
> > >>
> > >> Kind regards,
> > >> Carlin
> > >>
> > >
> >
> >
>

Re: question about schema changes and versioning

Posted by Carlin Rogers <ca...@gmail.com>.
Hi Rich,

Thanks for the feedback. Appreciate your thoughts. The scenario
involves a Portal application where they have defined a mechanism for
accessing and using the templates for URL rewriting that is different
from the default NetUI or the portal framework rewriting. The app uses
the templates to right either the scheme, domain, and port (no path or
query token included) or just the path (no query token). When the
templates are verified at start up, you'd still want the usual default
and portal templates verified so you wouldn't want to globally turn
off the verification on all templates in the app. The requirement is
for an option to say "we know what we're doing... don't validate this
template".

Thanks again,
Carlin

On 5/18/07, Rich Feit <ri...@privatei.com> wrote:
> Hey Carlin, sorry for the late reply.  I think that adding the element
> is fine -- if it's optional it should leave the schema
> backwards-compatible.  I'm not a schema expert, though -- if anyone sees
> a hole feel free to chime in.
>
> Out of curiosity, in the scenario where not all tokens are defined, does
> the schema need to provide defaults?  Can you give the motivating
> example (if there is one)?  I'm just curious about it.
>
> Thanks,
> Rich
>
> Carlin Rogers wrote:
> > Hi Beehive devs,
> >
> > Just checking again to see if there were any thoughts or
> > recommendations as far as adding an element to the Beehive
> > url-template-config schema and versioning.
> >
> > If there are no issues, then I'll plan to just add the new element.
> >
> > Thanks,
> > Carlin
> >
> > On 5/2/07, Carlin Rogers <ca...@gmail.com> wrote:
> >> I have some questions about how Beehive development should handle
> >> versioning for a schema change.
> >>
> >> Background... I've come across a scenario for creating snippets of
> >> templates that may not have all the required tokens as defined in the
> >> TemplatedURLFormatter class for the template support in NetUI URL
> >> rewriting. But rather than have a developer provide an extension to
> >> TemplatedURLFormatter and override the set of required tokens for all
> >> templates in the web app, the desired enhancement would be to have an
> >> optional flag on a template by template basis in
> >> beehive-url-template-config.xml to be able to basically say it doesn't
> >> need to validate against required tokens.
> >>
> >> A change like this would imply a change to the
> >> url-template-config.xsd. It would extend the namespace (e.g., by
> >> adding a new optional element in the <url-template>), but does not
> >> invalidate previously valid documents.
> >>
> >> What would be the process for a schema update as far as versioning?
> >>
> >> Currently the url-template-config.xsd does not have the optional
> >> version attribute at the start of our XML schema. Should we start by
> >> adding it and bump it up with the next release? Then existing instance
> >> documents would not have to change as they would remain valid with the
> >> new version since it is just an optional additive change. Do we even
> >> need to do that? Or would there need to be a different approach such
> >> as changing the schema's targetNamespace? If so, how should it be
> >> versioned, especially for minor changes? ...just trying to determine
> >> the best way to do this for an optional, additive change like this.
> >>
> >> Would appreciate any thoughts on this.
> >>
> >> Kind regards,
> >> Carlin
> >>
> >
>
>

Re: question about schema changes and versioning

Posted by Rich Feit <ri...@privatei.com>.
Hey Carlin, sorry for the late reply.  I think that adding the element 
is fine -- if it's optional it should leave the schema 
backwards-compatible.  I'm not a schema expert, though -- if anyone sees 
a hole feel free to chime in.

Out of curiosity, in the scenario where not all tokens are defined, does 
the schema need to provide defaults?  Can you give the motivating 
example (if there is one)?  I'm just curious about it.

Thanks,
Rich

Carlin Rogers wrote:
> Hi Beehive devs,
>
> Just checking again to see if there were any thoughts or
> recommendations as far as adding an element to the Beehive
> url-template-config schema and versioning.
>
> If there are no issues, then I'll plan to just add the new element.
>
> Thanks,
> Carlin
>
> On 5/2/07, Carlin Rogers <ca...@gmail.com> wrote:
>> I have some questions about how Beehive development should handle
>> versioning for a schema change.
>>
>> Background... I've come across a scenario for creating snippets of
>> templates that may not have all the required tokens as defined in the
>> TemplatedURLFormatter class for the template support in NetUI URL
>> rewriting. But rather than have a developer provide an extension to
>> TemplatedURLFormatter and override the set of required tokens for all
>> templates in the web app, the desired enhancement would be to have an
>> optional flag on a template by template basis in
>> beehive-url-template-config.xml to be able to basically say it doesn't
>> need to validate against required tokens.
>>
>> A change like this would imply a change to the
>> url-template-config.xsd. It would extend the namespace (e.g., by
>> adding a new optional element in the <url-template>), but does not
>> invalidate previously valid documents.
>>
>> What would be the process for a schema update as far as versioning?
>>
>> Currently the url-template-config.xsd does not have the optional
>> version attribute at the start of our XML schema. Should we start by
>> adding it and bump it up with the next release? Then existing instance
>> documents would not have to change as they would remain valid with the
>> new version since it is just an optional additive change. Do we even
>> need to do that? Or would there need to be a different approach such
>> as changing the schema's targetNamespace? If so, how should it be
>> versioned, especially for minor changes? ...just trying to determine
>> the best way to do this for an optional, additive change like this.
>>
>> Would appreciate any thoughts on this.
>>
>> Kind regards,
>> Carlin
>>
>


Re: question about schema changes and versioning

Posted by Carlin Rogers <ca...@gmail.com>.
Hi Beehive devs,

Just checking again to see if there were any thoughts or
recommendations as far as adding an element to the Beehive
url-template-config schema and versioning.

If there are no issues, then I'll plan to just add the new element.

Thanks,
Carlin

On 5/2/07, Carlin Rogers <ca...@gmail.com> wrote:
> I have some questions about how Beehive development should handle
> versioning for a schema change.
>
> Background... I've come across a scenario for creating snippets of
> templates that may not have all the required tokens as defined in the
> TemplatedURLFormatter class for the template support in NetUI URL
> rewriting. But rather than have a developer provide an extension to
> TemplatedURLFormatter and override the set of required tokens for all
> templates in the web app, the desired enhancement would be to have an
> optional flag on a template by template basis in
> beehive-url-template-config.xml to be able to basically say it doesn't
> need to validate against required tokens.
>
> A change like this would imply a change to the
> url-template-config.xsd. It would extend the namespace (e.g., by
> adding a new optional element in the <url-template>), but does not
> invalidate previously valid documents.
>
> What would be the process for a schema update as far as versioning?
>
> Currently the url-template-config.xsd does not have the optional
> version attribute at the start of our XML schema. Should we start by
> adding it and bump it up with the next release? Then existing instance
> documents would not have to change as they would remain valid with the
> new version since it is just an optional additive change. Do we even
> need to do that? Or would there need to be a different approach such
> as changing the schema's targetNamespace? If so, how should it be
> versioned, especially for minor changes? ...just trying to determine
> the best way to do this for an optional, additive change like this.
>
> Would appreciate any thoughts on this.
>
> Kind regards,
> Carlin
>