applications & plugins

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

applications & plugins

ebullient
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.

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.

:-P

--
'Waste of a good apple' -Samwise Gamgee
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
Reply | Threaded
Open this post in threaded view
|

Re: applications & plugins

vmassol
Administrator

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

_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
Reply | Threaded
Open this post in threaded view
|

Re: applications & plugins

Thomas Mortagne
Administrator
2007/10/4, Vincent Massol <[hidden email]>:

>
> 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/

I like this especially the functional-tests for one application that,
for now, are tested (for the ones tested) in XE funtional-tests even
they can be used out of XE.

>
> 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.

I think all plugins can be considered as part of "application" even
they don't have default ui (yet). But it also need to be subproject to
be used as dependency by another application that don't want the
"default" ui.

> 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)

Agree with that.

>
> 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
>
> _______________________________________________
> devs mailing list
> [hidden email]
> http://lists.xwiki.org/mailman/listinfo/devs
>


--
Thomas Mortagne
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs