[xwiki-dev] [Proposal] Separate xwiki configuration from the XWiki WAR

Vincent Massol vincent at massol.net
Fri Apr 20 09:19:01 CEST 2007


If it's already possible then cool. Right now I'm more interested in  
having a default configuration strategy that we all agree on, use  
ourselves in our distributions and document.

Thanks
-Vincent

On Apr 20, 2007, at 1:33 AM, Ludovic Dubost wrote:

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





More information about the devs mailing list