[xwiki-devs] [Brainstorming] Avoiding user errors when installing XWiki through the standalone distribution and changing the DB
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
On Mon, Mar 10, 2014 at 4:45 PM, vincent@massol.net <vincent@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?
2 sounds good indeed but I don't know if it's easy to implement. Thomas should know. Thanks, Marius
Thanks -Vincent
_______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
On 03/10/2014 10:45 AM, vincent@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?
Idea 3: Store a bit of information in the database itself, maybe just the artifact coordinates of the installed main UI package. Not sure what to do if it doesn't match the expected value mentioned in the status.xml file (or there's no such info at all)... Could be added next to the database (migration) version. -- Sergiu Dumitriu http://purl.org/net/sergiu
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 ? On Mon, Mar 10, 2014 at 3:45 PM, vincent@massol.net <vincent@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
_______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
-- Denis Gervalle SOFTEC sa - CEO
Hi Denis, On 10 Mar 2014 at 23:12:14, Denis Gervalle (dgl@softec.lu(mailto:dgl@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 :) 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. I agree it’s safer than trying to fix it automatically. Thanks -Vincent
On Mon, Mar 10, 2014 at 3:45 PM, vincent@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
_______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
-- Denis Gervalle SOFTEC sa - CEO _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
On Mon, Mar 10, 2014 at 11:37 PM, vincent@massol.net <vincent@massol.net>wrote:
Hi Denis,
On 10 Mar 2014 at 23:12:14, Denis Gervalle (dgl@softec.lu(mailto: dgl@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. I agree it’s safer than trying to fix it automatically.
Thanks -Vincent
On Mon, Mar 10, 2014 at 3:45 PM, vincent@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
_______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
-- Denis Gervalle SOFTEC sa - CEO _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
-- Denis Gervalle SOFTEC sa - CEO
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@massol.net wrote:
Hi Denis,
On 10 Mar 2014 at 23:12:14, Denis Gervalle (dgl@softec.lu(mailto: dgl@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@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
participants (4)
-
Denis Gervalle -
Marius Dumitru Florea -
Sergiu Dumitriu -
vincent@massol.net