On Jun 2, 2012, at 4:06 PM, Thomas Mortagne wrote: > On Fri, Jun 1, 2012 at 3:30 PM, Vincent Massol <[email protected]> wrote: >> Hi devs, >> >> This proposal is a restart of the thread I've sent, entitled "[Proposal] >> XWiki's Permanent Directory Strategy for Installations" in which I wasn't >> clear. >> >> Executive Summary >> ================ >> >> Define 2 XWiki directories; one for holding configuration data and one for >> holding (permanent) data and allow various configurations for our >> distributions. >> >> * Config dir is where xwiki configuration files is located. Examples: >> xwiki.cfg, xwiki.properties, hibernate.cfg.xml >> * Data dir is where xwiki writes permanent data. Examples: database/, >> extension/ lucene/, jetty log files >> >> Rationale >> ======== >> >> This proposal below tries to answer the following general use cases: >> * Ability to easily backup an XWiki install >> * Ability to easily upgrade an XWiki install >> * Ability to install XWiki on various OSes, including OSes like Windows 7 >> which require a total separation of readonly binaries and generated data >> * Ability to have several instances of XWiki on the same machine >> >> Note that I'm sending this email since I'm currently working on making our >> installer work on Windows 7 and I need an agreement on this before I can >> continue since I'm currently blocked. >> >> Use Cases >> ========= >> >> The proposal below should allow the following use cases easily: >> UC1: use the standalone zip distribution >> UC2: upgrade a standalone zip distribution install >> UC3: Use the WAR production distribution >> UC4: Upgrade an existing WAR distribution >> >> Short Term Proposal >> ================= >> >> * Add 2 system property variables: xwiki.config.dir and xwiki.data.dir >> >> * Use the following algorithm for resolving the Config dir (in Environment >> Module): >> ** Check if system property xwiki.config.dir is set, if so, use it >> ** Otherwise default to the WEB-INF directory (same as now) >> >> * Use the following algorithm for resolving the Data dir (in Environment >> Module): >> ** Check if system property xwiki.data.dir is set, if so, use it >> ** Otherwise use value of environment.permanentDirectory in xwiki.properties >> (same as now) >> ** If no environment.permanentDirectory exists, then use the temporary >> directory (same as now) >> >> * Don't provide a default value for environment.permanentDirectory in >> xwiki.properties >> >> * Note that we probably need to modify a bit Environment module to add >> support for a Configuration directory (not sure yet about this need). >> >> Use Cases Walkthrough >> =================== >> >> UC1: >> * user unzips, that's all >> * in start/stop xwiki scripts we use xwiki.config.dir = [homedir]/config and >> xwiki.data.dir=[homedir]/data > > There is something missing here. XWiki is not going to find anything > in [homedir]/config obviously when starting so how does he knows about > proper hsqldb configuration for example ? Is the configuration copied > from the war the first time it starts ?
The zip contains everything. Its structure would be: [homedir]/ |_ data/ |_ config/ |_ jetty/ |_ webapps/ |_ start_xwiki.sh |_ … In the start/stop shell scripts, we will have: -Dxwiki.data.dir=data and -Dxwiki.config.dir=config Hope it's more clear :) Thanks -Vincent >> * environment.permanentDirectory is not defined in xwiki.properties >> >> UC2: >> * user unzips new version in another directory and copy the old data and >> config directories over >> * Note that this use case is not really a valid one since the standalone zip >> is not meant to be a production zip at the moment >> >> UC3: >> * user deploys war in container's webapps dir and edits >> WEB-INF/xwiki.properties to set environment.permanentDirectory (same as now) >> * however the recommendation is for the user to put it's XWiki config dir >> and data dir somewhere on his system and use the xwiki.config.dir and >> xwiki.data.dir system properties in his startup/stop scripts, thus making it >> easy for UC4 >> >> UC4: >> * users replaces the older WAR with the new WAR and if he has applied the >> recommendation from UC3 that's all he has to do. Otherwise he needs to edit >> the xwiki.properties file to set environment.permanentDirectory >> >> WDYT? >> >> Thanks >> -Vincent _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

