On Oct 4, 2007, at 3:43 AM, Erin Schnabel wrote:
I am just full of feedback today.
Is there a reason that an application (which would of course go in a
xar) is created so far away from the plugin it's interdependent with?
i.e. the Application Manager is one application that consists of both
XWiki documents in a xar file and an Xwiki plugin. Having one half in
plugins, and the other half in applications doesn't make a lot of
sense-- they're one thing.
There are 2 reasons for now that I can see:
1) They are separate, meaning the plugin can be used without the
application.
2) We need to change our directory structure in SVN to change the
definition of an application.
I was thinking about the following:
platform/
|_ applications/
|_ scheduler/
|_ api/ (plugin)
|_ ui/ (set of documents)
|_ functional-tests/
But there are several questions to answer first:
A) What about plugins that have no UI. Should they also be moved to
applications/? If not, we'll have 2 locations for plugins.
B) The new applications meaning doesn't match anymore with the
definitions on
xwiki.org and with the packager definitions.
For me, ultimately, an application should be:
Application = set of plugins + set of documents + set of external
jars + set of config files + set of UI extension points (which could
be located in the plugins probably)
All packaged in a XAR file, with a new format:
appname/
|_ documents/
|_ plugins/
|_ libraries/
|_ files/
+ a new packager.xml file which also adds support for version,
dependencies on other applications, etc (cf application manager which
needs to be reinjected in the core Packager)
However before this can become a reality we need to rewrite the
Packager code to support this new definition
C) Functional tests require a running XWiki container so it may
require XE which we cannot have since XE depends on the platform. A
solution is to have a minimal Jetty container inside the platform.
The same goes with some of the other plugins,
actually.. Some might
have macros associated with them, and maybe they want those macros to
be in the DB.
A few of the plugins get around this by creating the documents they
need programatically (as I suggested with the PluginGuide), but it
seems like there has to be a better way of managing "plugins with an
application face" then having them in separate trees.
Then again, maybe I'm nuts.
You're not. It just needs to happen and for that we need help since
there are some many things to do in xwiki land... :)
Thanks
-Vincent