[ 
https://issues.apache.org/jira/browse/CLK-347?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12883500#action_12883500
 ] 

Md. Jahid Shohel commented on CLK-347:
--------------------------------------

I already read that post, and that's how I thought too, that's why I did not 
mention them on my earlier post. The requirements I see, and the possibility of 
solving those with existing system are mentioned below-

Requirements -

1) Click should have modularity support. Where developers can write their own 
click modules and use the same module on different applications.
2) Each module should be self contained with all its resources.
3) Each module should have a way to mention its own configurations. If any 
specific configuration is not specified, then it will use the application's 
configuration. This will give the module to run with its configurations 
isolated.
4) A module need to be self contained, so that it should be possible just to 
plug in a module without require to modify it before plugging it in.


What we can/can't solve with existing technology (according to requirements 
sequence)-

1) Current click release does not support modularity at all. So may be we have 
to start it from scratch. As per the last solution, we can have a ModuleService 
which is responsible for loading all modules. And main application 
(ClickServlet or any config service) can trigger the ModuleService to load 
modules. That way we can keep loading modules separate.

2) For resources, It should work exactly as bob mentioned on earlier post (see 
above). The only thing I will suggest is, the module should have a scope to 
mention its own configuration with it.

3) There are several way to let the module has its own configuration with it. 
Right now we xml approach, and we can share a huge amount of code from 
xmlconfigservice (will require refactor xmlconfigservice and separate common 
logics to share). Using properties or annotations are other alternatives. In 
the old solution, it was done by letting user implement/extend a 
interface/class and return their own configurations. We can still use that, but 
this might encourage some user to hard code their configurations inside the 
class.


> Module support
> --------------
>
>                 Key: CLK-347
>                 URL: https://issues.apache.org/jira/browse/CLK-347
>             Project: Click
>          Issue Type: Improvement
>          Components: core
>            Reporter: Bob Schellink
>
> Add module support to Click core. Some code has been committed here: 
>   http://click.svn.sourceforge.net/viewvc/click/trunk/sandbox/sabob/plugin/
> Note that with the recent work done on CLK-343 the module code wont compile 
> anymore.
> A related issue is: CLK-328

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to