[
https://issues.apache.org/jira/browse/RAVE-171?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13109347#comment-13109347
]
Ate Douma commented on RAVE-171:
--------------------------------
OK, commit will be coming in shortly.
The resulting new structure is largely as described above, but with a few
changes I'll explain below:
Rave Project:
|
|__rave-components:pom
| |
| |__rave-commons:jar (Generic & common code that is usable in many different
contexts, modules and projects)
| |
| |__rave-core:jar (Core Model, Service& Repository classes that are used by
multiple applications) [Widget, Person& related Classes]
| |
| |__rave-web:jar (Portal web/frontend related classes) [rest/rpc api,
controller, renderer, etc]
|
|__rave-providers:pom
| |
| |__rave-opensocial-provider:jar (OpenSocial provider classes)
| |
| |__rave-w3c-provider:jar (W3C provider classes)
|
| __rave-portal-dependencies:pom (aggregates all and only the rave-portal
runtime dependencies)
|
| __rave-portal-resources:war (shallow war having zero dependencies and all and
only needed web resources for the rave-portal)
|
|__rave-portal:war (pom.xml which only merges/overlays
rave-portal-resources.war and depends on rave-portal-dependencies)
|
|__rave-shindig:war
|
|__rave-demo-gadgets:war
Changes:
a) I moved/kept rave-portal-resources and rave-portal-dependencies outside
rave-components as they clearly are related to and meant to be used for (a)
rave-portal, not as just a rave-component.
Furthermore, these both have references/dependencies to (default/example)
rave-providers (opensocial, w3c), so anyway needed to be ordered as (later)
sibling of rave-providers to prevent cyclic build dependencies.
a) I named rave-portal-web (back) to rave-web to better indicate its not
directly or only rave-portal related, but should be seen as the "frontend"
component.
c) I named the rave-providers with a -provider postfix to clearly indicate and
namespace their usages, e.g. rave-opensocial seemed to "generic" to my taste
Prominent remaining issue for which I shall create a new JIRA issue: so far we
use a single mesages.properties file which contains messages (now) used across
multiple modules.
For the time being I only kept this single file within rave-portal-resources,
but this won't do for other use-cases which leverage the rave-components
without rave-portal-resources.
> 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
> Fix For: 0.4-INCUBATING
>
>
> 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