On 11 Mar 2014 at 00:25:25, Denis Gervalle (dgl@softec.lu(mailto:dgl@softec.lu)) wrote:
On Mon, Mar 10, 2014 at 11:37 PM, vincent(a)massol.net
wrote:
Hi Denis,
On 10 Mar 2014 at 23:12:14, Denis Gervalle (dgl(a)softec.lu(mailto:
dgl(a)softec.lu)) wrote:
You are saying that users mismatch the DB and the
permanent directory,
and
you would like to have that fix automagically ?
Not only the jobs status
could be there, but also the attachments, and many other permanent data
that will not match the DB.
I completely agree that mixing inconstantly a DB and a permanent
directory
is an annoying issue. I am not sure we could do
any magic to fix it. What
could be nice to have is a GUID on the main DB, and in the permanent
directory, that in case of mismatch, prevent the wiki to start fully and
inform the user.
WDYT ?
Indeed, each instance already has a unique id (GUID) stored in the DB :)
I forget about it, since I never get any in my DB... I am not a good xwiki
citizen, I probably care too much about my privacy :)
So we could also store this value in the
distribution’s status.xml file
and if the GUID changes (there’s an API to get it) then inform the user
that the DB has changed and explain with a nice message the out-of-sync
issue and what he has to do to fix it (most likely remove the data/
directory which must be in sync with the DB), and throw a servlet exception.
Not sure the status.xml is the perfect place for it. It should not be
dependent of the DW. This check could probably be done directly in the
instance id manger, when it could not reach a consistant state between the
DB and the FS.
Yes I agree it should be independent of the DW files. It should be some new file created
and owned by the instance module to ensure synchronisation between the data/ dir and the
DB.
Cool, another use case for the instance module ;)
Thanks
-Vincent
I agree it’s safer than trying to fix it
automatically.
>
> Thanks
> -Vincent
>
> > On Mon, Mar 10, 2014 at 3:45 PM, vincent(a)massol.net wrote:
> >
> > > Hi devs,
> > >
> > > Some users are making the following mistake:
> > > - download the zip/exe and install our standalone distribution
> > > (jetty/hsqldb)
> > > - then they configure xwiki to point to another DB (mysql or postgresql
> > > typically)
> > > - then they start XWiki and they get an empty page and no DW
> > >
> > > The problem is that they don’t/can’t understand that in the standalone
> > > distribution the data/ directory already has a DW status.xml file that
> says
> > > the DW has already been executed and thus do not need to be executed
> again…
> > >
> > > We need to find some strategy to avoid this potential error.
> > >
> > > Any idea?
> > >
> > > Some ideas:
> > > - Idea 1: Improve documentation to explain the need to remove the data/
> > > directory if you change DB
> > > - Idea 2: In the status.xml, store the DW status along with the DB id
> so
> > > that if the DB changes, the DW can kick in again.
> > > - other?
> > >
> > > I personally like idea 2. WDYT?
> > >
> > > Thanks
> > > -Vincent
> > >