[xwiki-dev] [Proposal] Separate xwiki configuration from the XWiki WAR
Ludovic Dubost
ludovic at xwiki.com
Fri Apr 20 01:33:11 CEST 2007
This is already possible with a variable telling where to find xwiki.cfg
From there you can specify where to find the hibernate file
From there you can specify where to find the hbm files (however I think
these have to be in the classpath)
See this code in XWiki.java
private static String getConfigPath() throws NamingException
{
if (configPath == null) {
try {
Context envContext = (Context) new
InitialContext().lookup("java:comp/env");
configPath = (String) envContext.lookup(CFG_ENV_NAME);
} catch (Exception e) {
// Allow a config path from WEB-INF
if (log.isInfoEnabled())
log
.info("xwiki.cfg taken from /WEB-INF/xwiki.cfg
because the XWikiConfig variable is not set in the context");
configPath = "/WEB-INF/xwiki.cfg";
}
}
return configPath;
}
Ludovic
Vincent Massol a écrit :
> Hi,
>
> For XWiki 1.1 I'd like to separate XWiki's configuration files from
> the generated WAR.
>
> What I mean by configuration files: xwiki.cfg, hibernate.cfg.xml,
> xwiki.hbm, feeds.hbm and possibly some others.
>
> Rationale:
>
> 1) It would be nice to release different already made configurations
> for XWiki: for HSQLDB, for MySQL, for Oracle, with a minimal list of
> plugins configured, with all plugins enabled, with virtual wiki set
> up, etc. It's going to be way better to release a single WAR that is
> the same for all configs and a set of config files separately. This
> also makes it much easier in the build process.
>
> 2) It's currently a little bit of a pain for users when they upgrade
> their xwiki installation to a newer version. They have to remember to
> save their config files, to unpack the XWiki WAR, modify the
> configuration files, etc. What if an upgrade was a simple as dropping
> the new WAR file in the webapps/ directory of your servlet container? :)
>
> Thus I'd like to propose the following strategy:
>
> * XWiki looks for where the config files are stored using the
> following algorithm:
> 1) first it checks if a system property has been defined (say for
> example "xwiki.configuration.directory")
> 1) if not, it checks if a location has been specified in the web.xml
> file (as an init parameter)
> 2) if not found, it checks if the files can be found at the root of
> the classpath (e.g. "/xwiki.cfg")
> * The standalone distribution contains an already configured directory
> structure which uses the system property strategy for finding the
> configuration directory.
>
> <further future - but not too far as it's the best solution I think>
> We should propose a configuration wizard application which is in
> charge of generating xwiki configuration files. I propose the
> following distribution channels:
>
> - as a webapp wizard configured on xwiki.org. Users use forms to
> select what they want (which plugin, virtual wiki or not, etc). It
> generate the files that can be downloaded by the users. Actually this
> can even be implemented as a XWiki Application... ;-) Eating our dog
> food they said...
>
> - as a webapp wizard released inside the default WAR and that is
> activated automatically if no configuration is found, i.e. the first
> time XWiki is started. This is really by far the best I believe.
>
> </further future>
>
> 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
>
--
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