Hi guys,
I'm almost done but there is one little detail left: for easier
retro-compatibility I would like to introduce a new @Role annotation
and deprecate the @ComponentRole annotation. The idea is that Role
will "officially" take into account generic parameters while
ComponentRole does not. That way no existing component role behavior
will be broken or require crappy retro-compatibility like registering
automatically both generic and non generic roles (what I started to do
at first).
WDYT ?
Here is my +1
On Tue, Feb 28, 2012 at 9:16 AM, Thomas Mortagne
<thomas.mortagne(a)xwiki.com> wrote:
Hi devs,
From the start Extension Manager has been designed to be usable
outside of XWiki. I would like to make this effective by moving it
into commons.
Here is the detail of the operation:
= Not moved
* UI of Extension Manager
* Xar handler
* Server side module and UI of XWiki Repository (but the client will
be moved to commons since a generic REST protocol has been designed
for it which could be implemented by anything)
* Clustering module
* Script service module
* An ExecutionContextInitializer which is responsible for switching
the current Thread classloader for each new request with the one
linked to the current wiki (so that everything loading classes like
script macros do it from the proper classloader)
That means that the commons version of Extension Manager will support
everything the current one supports except for the thing that don't
make sense outside of XWiki (XAR packages, wiki pages UI, etc.).
= Dependencies to move
* ClassLoader module: even more than Extension Manager (and like other
stuff that will follow in other mails) this module is ready to be
moved as it is except for the attachment based support which is
already in a separated module and will stays in platform obviously.
= Extracted from Extension Manager
* Job Manager: encapsulate background task into a job providing
progress and status informations as well as logging isolation. In it's
own module.
* ClassLoader Manager: namespace based organization for classloaders
(like we have for Component Managers). In the existing classloader
module.
WDYT ?
Here is my +1
--
Thomas Mortagne
--
Thomas Mortagne