[
https://issues.apache.org/jira/browse/RAVE-171?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13107740#comment-13107740
]
Ate Douma commented on RAVE-171:
--------------------------------
I went ahead and made a local fork of the rave project to prototype and test
the proposed reorganization.
All in all it went pretty smoothly and I've got everything working again as
before (note though: I did *not* pick up adjusting the sandbox projects, those
*will* need fixing after this is done).
I did (had to) a few extra changes like splitting up the Spring
applicationContext configurations and move them in properly namespaced
classpath resources, like /org/apache/rave/core-ApplicationContext.xml.
Another thing to note is, that with the current implementation the
rave-portal-web has a compile time dependency on rave-opensocial (provider) as
its currently directly used from PageController (!).
A consequence of this is that the rave-providers:pom with submodules
rave-opensocial and rave-w3c will have to be submodules of rave-components
themselves, they cannot be separated out because neither side would build
(rave-providers themselves depend on rave-commons & rave-core).
And I didn't (yet) know how to "split off" a rave-security component. It really
depends how we want to partition that functionality, so I leave that out for
now. Once the new structure is in place, it should become much more obvious
if/how this might be done thereafter.
So, as a result I now have the following modules under new rave-components:pom:
rave-components:pom
-- rave-common:jar
-- rave-core:jar
-- rave-providers:pom
-- rave-opensocial:jar
-- rave-w3c:jar
-- rave-portal-web:jar
-- rave-portal-resources:war
-- rave-portal-dependencies:pom
And the rave-portal module remaining contents are only its pom.xml and the
folders: main/dist, main/assembly, main/appended-resources and test/selenium
I'm inclined to go ahead and "replay" my changes on trunk if there are no
further objections.
Please note that this will take me an hour or so, during which its probably
best not to have outstanding changes (or do intermediate commits) while the
project structure is changing under your feet...
I'll hold off until I get at least a few (>1) +1 on this. And if/when I start,
I'll send a heads-up on the list first to please hold back intermediate commits
until I'm done.
> 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