On Fri, Jul 10, 2009 at 22:21, Vincent Massol<[email protected]> wrote:
>
> On Jul 10, 2009, at 6:53 PM, Thomas Mortagne wrote:
>
>> On Fri, Jul 10, 2009 at 17:43, Vincent Massol<[email protected]>
>> wrote:
>>>
>>> On Jul 7, 2009, at 3:51 PM, Thomas Mortagne wrote:
>>>
>>>> H devs,
>>>>
>>>> To implements wiki macros Adiri need componenet manager to support
>>>> two
>>>> new things:
>>>> - unregister a component descriptor: when a wiki macro is removed
>>>> and
>>>> does not exists anymore it you not be listed in components. This
>>>> will
>>>> be also needed for application manager to be able to uninstall
>>>> application containing components.
>>>
>>> +1
>>>
>>>> - register component instance: wiki macro are based on WikiMacro
>>>> implementation of Macro component interface but with different datas
>>>> depending of the macro, to register this kind of macro as
>>>> component we
>>>> need to be able to directly register the instance to use and not let
>>>> the component manager do the instantiation form the descriptor since
>>>> we cant add custom datas in component descriptor
>>>
>>> This already exists.
>>
>> It exists only internally in embeddedCM, since it's not in the
>> ComponentManager API it does not exist.
>
> ah right, I had forgotten I had only added it to the ECM. There are
> some problems related to this though:
> - once you register an instance you don't have a component descriptor
> for it so if you have code listening to component descriptor
> registration they won't be called. Also if you have code using
> getComponentDescriptor it may not work fine. Thus we'd need to
> probably create some sort of component descriptor (maybe without
> dependencies?). Or we'd need to change the signature to force the user
> to pass a component decriptor?

IMO every component should have a descriptor so we should change the
signature to force user to put a descriptor. The fact that it also
provide the instance is a "detail".

>
> There may be other problems I haven't thought about.
>
> Also this means we won't be able to use Plexus anymore at all and
> we'll need to remove it from our SVN since it's not possible to
> implement this feature with plexus (unless we patch it). It's fine
> with me since Guice supports this. However we'd need to verify how
> it's done in other CM systems too maybe (do they register a component
> descriptor automatically?)

Anyway we need this even if plexus does not support it we don't have
much choice, we already removed plexus because of components events
AFAIK.

>
> Thanks
> -Vincent
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>



-- 
Thomas Mortagne
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to