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

Ludovic Dubost ludovic at xwiki.com
Wed Jun 20 12:16:56 CEST 2007


I don't agree that much about the parallel between plugins and xarlets..
The process of working with plugins and xarlets is in my view quite 
different..

Most use cases will want the most important plugins already installed 
but have the ability to activate/deactivate. The reason is that 
applications will often base themselves on these plugins and we want 
them as easy to install as possible.
Concerning xarlets they can be installed on top of the core XWiki.. so 
for me it's much easier to consider them out of the platform.

But in the end I think it shows that there are

- core components
- external components

Core compenents (plugins or xar, but most often plugins) are stuff that 
you need to build upon.
External components (plugins or xar or gwt apps, but mostly xar or gwt 
apps) are stuff that are mostly used by itself, by the app you build

So I think we can discuss a lot about that organisation because in the 
end both organisations are right..
However what I see in your current proposal is that we don't have a 
repository for small external components.. we only have the "big 
application" component..
I don't think it's that good to put stuff like the "Packager" app or the 
"Document Template" app or the "FAQ" app in the core.. neither I think 
it's good to put it in the "big application" repository.
I don't think this is true for plugins which you prefer to have in the 
core so that they are ready to use on any recent XWiki install.

Ludovic

Vincent Massol a écrit :
>
> On Jun 17, 2007, at 12:00 PM, Ludovic Dubost wrote:
>
>>
>> I'm giving an overall +1 to Vincent's proposal except for the xarlets.
>> I feed that having the xarlets in the platform will either make us 
>> end up with small applications in the platform, or have us mix small 
>> and big apps in xwiki-applications.
>> I think we need xarlets outside but not in xwiki-applications.
>>
>> So
>>
>> 1/ I agree with  stephane xarlets should not be in the platform
>> 2/ I agree with vincent that applications should be "big packages" 
>> like watch, curriki, chrono,  xem.. It does not means they have to 
>> have java plugins but it means they deserve the "product" or 
>> "application" name..
>>
>> So maybe
>>
>> xwiki-xarlets (small XWiki applications)
>> xwiki-products (product level XWiki applications)
>
> The problem is that if you follow that logic you should also move 
> xwiki plugins out of the platform as plugins are reusable code in the 
> same manner xarlets are reusable UIs. Also, in the near future a xwiki 
> components would be able to package both xwiki pages and Java code in 
> a JAR so the distinctions between xarlets and plugins will be blurred 
> and they'll simply be components. A component will be able to provide 
> only code, UIs, or both. This means that all the code and UIs that 
> make the default wiki will be scattered into various components.
>
> So if we follow your logic that xarlets (and thus components) do not 
> belong to the platform (and I think they do) then we end up with what 
> I mentioned in my reply to Stephane:
>
> xwiki/
>   |_ xwiki-core/
>   |_ xwiki-components/ (or whatever you want to call it)
>   |_ xwiki-applications/
>
> But my preference currently goes to:
>
> xwiki/
>   |_ xwiki-platform/
>     |_ xwiki-core/
>     |_ xwiki-components/
>   |_ xwiki-applications
>
> i.e. platform = core + reusable components (where core will become in 
> the future a set of components itself and core will simply be a list 
> of components that go together, i.e. a packaging)
>
> WDYT?
>
> Thanks
> -Vincent
>
>> Vincent Massol a écrit :
>>> Any other feedback on this?
>>>
>>> * So far we have Stephane and Sergiu who have answered.
>>> * Sergiu said he was ok with the structure I proposed
>>> * Stephane didn't quite agree and proposed something else to which I 
>>> replied (no new answer from Stephane yet ;)).
>>>
>>> We need to make way to XEM and Watch so I'd like to start 
>>> implementing this ASAP. Please comment if you agree or don't agree 
>>> as it'll be too late once I start the work :)
>>>
>>> Thanks
>>> -Vincent
>>>
>>> On Jun 12, 2007, at 6:36 PM, Vincent Massol wrote:
>>>
>>>> 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
>>>>
>>>>
>>>>
>>>> --You receive this message as a subscriber of the 
>>>> xwiki-dev at objectweb.org mailing list.
>>>> To unsubscribe: mailto:xwiki-dev-unsubscribe at objectweb.org
>>>> For general help: mailto:sympa at objectweb.org?subject=help
>>>> ObjectWeb mailing lists service home page: 
>>>> http://www.objectweb.org/wws
>>>
>>>
>>> ------------------------------------------------------------------------ 
>>>
>>>
>>>
>>> -- 
>>> You receive this message as a subscriber of the 
>>> xwiki-dev at objectweb.org mailing list.
>>> To unsubscribe: mailto:xwiki-dev-unsubscribe at objectweb.org
>>> For general help: mailto:sympa at objectweb.org?subject=help
>>> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
>>>
>>
>>
>> --Ludovic Dubost
>> Blog: http://www.ludovic.org/blog/
>> XWiki: http://www.xwiki.com
>> Skype: ldubost GTalk: ldubost AIM: nvludo Yahoo: ludovic
>>
>>
>>
>> -- 
>> You receive this message as a subscriber of the 
>> xwiki-dev at objectweb.org mailing list.
>> To unsubscribe: mailto:xwiki-dev-unsubscribe at objectweb.org
>> For general help: mailto:sympa at objectweb.org?subject=help
>> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
>
>
> ------------------------------------------------------------------------
>
>
> --
> You receive this message as a subscriber of the xwiki-dev at objectweb.org mailing list.
> To unsubscribe: mailto:xwiki-dev-unsubscribe at objectweb.org
> For general help: mailto:sympa at objectweb.org?subject=help
> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
>   


-- 
Ludovic Dubost
Blog: http://www.ludovic.org/blog/
XWiki: http://www.xwiki.com
Skype: ldubost GTalk: ldubost 
AIM: nvludo Yahoo: ludovic





More information about the devs mailing list