Hi, On Tue, Sep 15, 2009 at 11:36 AM, Thomas Mortagne <[email protected] > wrote:
> +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? > I'm +1 for 2.0 too since it's an important part of making wiki macros work well. Guillaume > > > > 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 > -- Guillaume Lerouge Product Manager - XWiki Skype: wikibc Twitter: glerouge http://guillaumelerouge.com/ _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

