[Proposal] New SVN directory structure to accommodate the different applications we have

Vincent Massol vincent at massol.net
Tue Jun 12 18:36:14 CEST 2007


Hi,

Note: This email supercedes all my other proposals on the SVN  
directory structure.

The rationale for this mail is that we're starting to have lots of  
applications built on top of the xwiki platform: XWiki Enterprise  
(default wiki), XEM, Watch, Curriki, Chronopolys, etc. We need to  
accomodate them in our directory structure.

Top level structure
===============

/svnroot/xwiki/
   |_ xwiki-platform/
   |_ xwiki-applications/
     |_ xwiki-enterprise/
     |_ xwiki-enterprise-manager/
     |_ xwiki-watch/
     |_ curriki/
     |_ chronopolys/
   |_ xwiki-extensions/
     |_ xwiki-eclipse/
     |_ xwiki-concerto/
   |_ sandbox/

where:

* xwiki-platform is the xwiki platform on which all the applications  
are built.
* xwiki-applications are applications that extend the platform with:  
skins, xwiki pages (XAR), plugins
* xwiki-enterprise is the name of our previously known "default wiki"  
application.
* xwiki-extensions are any other extensions of xwiki not fitting in  
xwiki-applications. For example the XWiki Eclipse integration, etc.  
I've put concerto there but I'm not sure what it'll look like.

Definition of xwiki-platform
=====================

/svnroot/xwiki/xwiki-platform/
   |_ tools/
   |_ core/ (JAR)
   |_ plugins/ (JARs)
   |_ skins/ (ZIPs)
     |_ dodo/
     |_ finch/
     |_ albatross/
   |_ web/ (WARs)
     |_ gwt/
     |_ standard/
   |_ xarlets (XARs)
     |_ selenium/
     |_ blog/
     |_ calendar/
     |_ ...

where:

* tools/ contains tools used to build the platform and xwiki  
applications
* xarlets/ contains independent xwiki apps (we need a word better  
than xarlets and different than applications which we should reserve  
for things like curriki, xwiki enterprise, xem, etc) that can be  
installed in any running xwiki app
* In the future core/ will be replaced with:
   |_ components/ (JARs)
     |_ xwiki-model/
     |_ xwiki-storage/
     |_ ...
* In the future web/ will be replaced with UI components (see the UI  
proposal for more)

Definition of xwiki-enterprise/
=======================

/svnroot/xwiki/xwiki-applications/xwiki-enterprise/
   |_ wiki/
   |_ distribution/
   |_ distribution-test/

where:

* wiki/ contains the xar pages

Generic definition of an xwiki-application/
=================================

/svnroot/xwiki/xwiki-applications/<app name>/
   |_ wiki/
   |_ web/ (optional)
   |_ plugins/ (optional)
   |_ skin/ (optional)
   |_ distribution/
   |_ distribution-test/

For example for xwiki-watch/:

/svnroot/xwiki/xwiki-applications/xwiki-watch/
   |_ wiki/
   |_ web/ (the gwt stuff)
   |_ distribution/
   |_ distribution-test/

I think this pretty much includes everything we currently have in SVN.

WDYT?

Thanks
-Vincent





More information about the devs mailing list