On Thu, Apr 12, 2012 at 09:57, Vincent Massol <[email protected]> wrote:

> Hi devs,
>
> In preparation of our Deprecation Day and continuing our vote on the
> Deprecation strategy I'd like to propose several rules we need to clarify
> since we need them and I'd like to finish documenting our full deprecation
> strategy.
>
> Rule 1: Where are Legacy modules located?
> ===================================
>
> * Proposal:
> - Each Git repository needing legacy modules provides a *-legacy module
> for holding legacy modules. For example:
> -- For Commons, xwiki-commons-core/xwiki-commons-legacy/
> -- For Platform, xwiki-platform-core/xwiki-platform-legacy/
> -- For Rendering, xwiki-rendering-legacy/
>

+1


> * Explanation:
> - It's better to locate them in a specific module (*-legacy) than inside
> their own module (for ex in
> xwiki-commons-core/xwiki-commons-component/xwiki-commons-component-legacy/)
> because legacy modules are something we don't want to see as much as
> possible since we're must not use them in our code, thus it's logical to
> park them all together somewhere.
>
> * Notes:
> - This is our current rule but it's never been explicitly defined
>
> Rule 2: What do Legacy modules contain?
> =================================
>
> * Proposal:
> - Each Legacy module should replace the non-legacy module it corresponds
> to. This means that the user must have only 1 JAR for a given module:
> either its legacy version or it's non-legacy version but should never have
> both.
>

This make me think that this could cause some difficulties for the EM to
install legacy modules, since it would require the non-legacy one to be
unloaded, or used an override mechanism by ClassLoader, which could lead to
other issues like memory consumption, singleton classloader issue...
I am not really experienced with Aspects, but isn't there a better way to
manager this ? IMO we are loosing in flexibility. Is the benefit of
Aspect outweigh this constrain ?


>
> * Explanation:
> - We need consistency. Right now we have oldcore which acts like this but
> others don't and it's complex to explain to users that for some they have
> to swap them and for others they have to keep both side by side
> - In the very close future, we'll use a lot of Aspects in modules others
> than legacy-oldcore, and thus we'll need to apply this strategy anyway.
>
> * Notes:
> - Currently, only oldcore acts like this.
> - The consequence is that we'll have one legacy module per non legacy
> modules. Right now we sometimes have one legacy module for several non
> legacy modules which we'll need to fix
>
> Here's my +1 to both.
>
> Thanks
> -Vincent
>
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>



-- 
Denis Gervalle
SOFTEC sa - CEO
eGuilde sarl - CTO
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to