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(a)objectweb.org mailing list.
To unsubscribe: mailto:xwiki-dev-unsubscribe@objectweb.org
For general help: mailto:sympa@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(a)objectweb.org mailing list.
To unsubscribe: mailto:xwiki-dev-unsubscribe@objectweb.org
For general help: mailto:sympa@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(a)objectweb.org mailing list.
To unsubscribe: mailto:xwiki-dev-unsubscribe@objectweb.org
For general help: mailto:sympa@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(a)objectweb.org mailing list.
To unsubscribe: mailto:xwiki-dev-unsubscribe@objectweb.org
For general help: mailto:sympa@objectweb.org?subject=help
ObjectWeb mailing lists service home page:
http://www.objectweb.org/wws