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
>

Should'nt we also consider a separate cache directory for stuffs like
lucene which does not really require backup, and a log directory for logs
file. This would better fit the FHS which concider /etc, /var/lib,
/var/cache and /var/log. We could of course have defaults to the data
directory for these unless specifically defined.


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

You just not describe what you will do in the installer for Windows 7 ?


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

This sounds good. I would suggest that the debian package be updated to
better respect the FHS, using /etc and /var appropriately.
So +1 for this with a strong filling we should extend it more to allow full
compliance with FHS.


>
> Thanks
> -Vincent
>
>
>
>
>
>
>
>
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>



-- 
Denis Gervalle
SOFTEC sa - CEO
eGuilde sarl - CTO
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to