[ 
https://issues.apache.org/jira/browse/RAVE-171?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13105145#comment-13105145
 ] 

Jasha Joachimsthal commented on RAVE-171:
-----------------------------------------

We should indeed split up the current structure, but then in a clean way:
- interfaces in an api module to enable a new project without using the default 
implementations
- implementations (JPA repositories, default services, possibly controllers) in 
a separate module that only produces a jar so it is possible to extend them but 
to have your own rendering
- rendering (jsp, css, Spring configuration) in a war (which can be overlayed)

This may also mean we have to split up the current rave-portal beans into 
interfaces and implementations because they are now annotated for JPA. (Most 
of) the beans in rave-shindig beans are implementations of Shindig interfaces.

> Reorganize project to support better extension
> ----------------------------------------------
>
>                 Key: RAVE-171
>                 URL: https://issues.apache.org/jira/browse/RAVE-171
>             Project: Rave
>          Issue Type: Sub-task
>            Reporter: Marlon Pierce
>
> Extension codes not in rave-portal src tree will need to be able to compile 
> against that code.  This can be done by modifying rave-portal/pom.xml so that 
> it makes both a war and a jar and installs both in the local repository. The 
> extension code should then have the appropriate dependency in its pom.xml
> Re-organize rave project in the following manner to support simpler extension 
> by downstream integrators:
> Rave Project:
> |
> |__rave- components
> |      |
> |      |__rave-commons  (Generic &  common code that is usable in many 
> different contexts, modules and projects)
> |      |
> |      |__rave-core (Core Model, Service&   Repository classes that are used 
> by multiple applications)  [Widget, Person&   related Classes]
> |      |
> |      |__rave-security (Security related classes) [User extends Person, 
> Security Utilities, etc]
> |
> |__rave-providers
> |      |
> |      |__rave-opensocial (OpenSocial provider classes)
> |      |
> |      |__rave-w3c (W3C provider classes)
> |
> |__rave-portal (Core portal&   webapp related features) [Regions, Pages, 
> controllers, etc]
> |
> |__rave-shindig

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to