+0.5 for 2.0, i'm not sure since its a big change in a deep level but it does not sounds dangerous and not doing it in 2.0 will be a pain for merging
On Mon, Sep 14, 2009 at 09:22, Vincent Massol <[email protected]> wrote: > We need to decide if we want this only in 2.1M1 or also in 2.0 final > or 2.0.x. > > Reminder: This is needed to allow wiki macros to be able to be written > in multiwiki environments. > > Note: The code I have so far for it doesn't seem too dangerous. > > WDYT? > > Thanks > -Vincent > > On Sep 8, 2009, at 9:28 AM, Vincent Massol wrote: > >> Hi, >> >> We have the need to isolate groups of components. For ex a wiki >> macro created in a subwiki should only be visible in that subwiki by >> default. >> >> Here's an implementation proposal that I'm planning to implement: >> >> * There's a Root Component Manager (the current CM) >> * There are 3 components which implement the ComponentManager role >> and with 3 hints: "wiki", "user" and "all". There's a >> CompositeComponentManager class that allows chaining CM and the >> "all" CM chains the "default" (root CM), "wiki" CM and "user" CM. >> This works the same as with the configuration module. >> * Other components can have CMs injected as they want (if not >> specified then it's the default, etc). For ex: >> >> @Requirement("all") >> private ComponentManager cm >> >> * Creation process. As for now the user creates the root CM and then >> the annotation loader will create the descriptors for the other CMs >> and register them against the root CM. They'll get instantiated once >> (singleton) the first time they're looked up. >> * In order to register a component for, say, a given "enterprise" >> wiki, we need to add a new property to the ComponentDescriptor: get/ >> setAdditionalData(Object data). For example: >> wikiCM.registerComponent(CD mycd) where >> cd.setAdditionalData("enterprise"). >> * Last, Guice uses Modules to isolate component definitions so it >> should be possible and relatively easy to port the implementation to >> Guice (even though Guice uses static Modules we can make them >> dynamic). >> >> WDYT? >> >> 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

