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

