You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@click.apache.org by "Andrei Ionescu (JIRA)" <ji...@apache.org> on 2010/03/01 14:10:05 UTC

[jira] Issue Comment Edited: (CLK-347) Module support

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

Andrei Ionescu edited comment on CLK-347 at 3/1/10 1:10 PM:
------------------------------------------------------------

>However I have difficulty seeing how how you can reuse large sections blocks of UI functionality across multiple applications given the dependencies
> Click pages have on services, dao, entities, etc. (unless the underlying code is reused for all the potential applications).
There are a few ways - many users already use them like that:
- Pages(Click or not) access only the Services and Entities (maybe helpers too) - not the DAO (in fact there's no need for it most of the time).
- Services expose only interfaces to the Pages
- Services have the implementation for the desired back-end (so the DAO is usually merged here too - like the click-examples)
- Entities may also expose only interfaces (this would have the advantage of being able to easier interchange Cayenne, OODBs or whatever backend)

For Cayenne, there are Datamaps, so basically each "standalone" unit should have it's one Datamap. I was told that this should work
with Cayenne, only it's not yet supported in the Modeler (and a cayenne.xml is still needed yet - but there's a JIRA item for this).
(What I haven't understood yet is how the automatic but optional reversed relationships across Datamaps should work)
For OODBs there's no problem: the separation is done using different Java packages per module.

Well, I'm just a newbie, but at most this is how I understood from a (Click) JUG presentation that modularity should work.

      was (Author: aionescu):
    >However I have difficulty seeing how how you can reuse large sections blocks of UI functionality across multiple applications given the dependencies
> Click pages have on services, dao, entities, etc. (unless the underlying code is reused for all the potential applications).
There are a few ways - many users already use them like that:
- Pages(Click or not) access only the Services and Entities (maybe helpers too) - not the DAO (in fact there's no need for it most of the time).
- Services expose only interfaces to the Pages
- Services have the implementation for the desired back-end (so the DAO is usually merged here too - like the click-examples)
- Entities may also expose only interfaces (this would have the advantage of being able to easier interchange Cayenne, OODBs or whatever backend)

For Cayenne, there are Datamaps, so basically each "standalone" unit should have it's one Datamap. I was told that this should work
with Cayenne, only it's not yet supported in the Modeler (and a cayenne.xml is still needed yet - but there's a JIRA item for this).
(What I haven't understood yet is how the automatic but optional reversed relationships across Datamaps should work)
For OODBs there's no problem: the separation is done using different Java packages per module.

Well, I'm just a newbie, but at least this is how I understood from a (Click) JUG presentation that modularity should work.
  
> 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.