You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lenya.apache.org by Jann Forrer <ja...@id.uzh.ch> on 2008/04/04 11:18:39 UTC

Re: Backwards compatibility

Andreas Hartmann wrote:
> Jann Forrer schrieb:
> 
> [...]
> 
>> If we choose 2.x we should avoid to break backward compatibility
>> (and now the mantra: Do not break it in 3.0 either without presenting a
>> migration path ;-) )
> 
> I understand that backwards compatibility is a very sensitive subject.
>

Especially for an "admin" point of of view, if every upgrade needs
a lot of extra work. However, already the description of a migration path
could help. We recently upgrade a request tracker installation from 3.2
to 3.6 (or so). Backwards compatibility was broken but they provide a
migration path including some scripts.


> For the content repository, we have to provide an automatic migration in
> any case. But this shouldn't be too hard now since we have a
> self-contained, non-configurable repository (the SourceTypeAction and
> DocumentIdToPathMapper can't do any harm anymore).
>
:-)

> With our sitemap "API", we can barely change anything without breaking
> backwards compatibility. We haven't introduced a way to declare
> pipelines as private, so virtually all core and module pipelines can be
> called by custom code. The same applies to XSLTs, JX templates and the
> like.
> 
yes is understand that but at least for publications, which are based on
the default publication, upgrade should be as easy as possible.
And with the module concept in 2.0 custom code is better isolated from
"lenya code".

> With the Java API, the situation is a bit better since we have separated
> the actual API from the implementation. We can try to preserve the API.
> But the more important is it that we discuss all API additions
> thoroughly (see for instance my thoughts about the search API, I'm
> reluctant to provide code before knowing more opinions).
> 
That's true.

Jann


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lenya.apache.org
For additional commands, e-mail: dev-help@lenya.apache.org


Re: Backwards compatibility

Posted by Andreas Hartmann <an...@apache.org>.
Jann Forrer schrieb:

[...]

>> With our sitemap "API", we can barely change anything without breaking
>> backwards compatibility. We haven't introduced a way to declare
>> pipelines as private, so virtually all core and module pipelines can be
>> called by custom code. The same applies to XSLTs, JX templates and the
>> like.
>>
> yes is understand that but at least for publications, which are based on
> the default publication, upgrade should be as easy as possible.

Well, IIUC this would mean that the core/module pipelines which are 
called from the default publication define our sitemap "API". I have to 
admit that I don't consider this sufficient.

A convention to solve this issue could be to prefix all "private" 
pipelines with something like "lenyaInternal" or "lenyaPrivate":

   <map:match pattern="lenyaInternal/*/*/…">
     …
   </map:match>

This could for instance be used for resource type format pipelines.


> And with the module concept in 2.0 custom code is better isolated from
> "lenya code".

This also doesn't really help to preserve backwards compatibility. You 
can still call all module pipelines in your custom sitemaps ...

-- Andreas


-- 
Andreas Hartmann, CTO
BeCompany GmbH
http://www.becompany.ch
Tel.: +41 (0) 43 818 57 01


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lenya.apache.org
For additional commands, e-mail: dev-help@lenya.apache.org