[xwiki-devs] [Proposal] Migrations for Extensions
Hi XWiki devs I'd like to propose the following enhancement for the XWiki Migration Manager. This is the follow up proposal to this discussion <http://lists.xwiki.org/pipermail/devs/2015-February/058396.html>. The current idea is to merge the concepts of the Extension Manager and Migration Manager. Extensions should be able to provide individual data migrations to add the possibility of altering data relevant to this extension. These should be executed after installation or upgrade of an extension. Currently, the Migration Manager (still residing in the oldcore) does not support external migrations and only a version number for XWiki migrations is stored in the database. It has to be refactored (to it's own module?) and requires the functionality to store multiple version numbers with specific identifiers in the database for versioning migrations for individual extensions. We at the celements team <http://www.celements.ch/Home?language=en> have an interest in this functionality and are willing to carry and implement it. If you agree with the basic idea, I will start a design proposal document with more detailed information and possible challenges on http://design.xwiki.org WDYT? Marc synventis gmbh
Hi Marc, On 4 Aug 2015 at 11:51:56, Marc Sladek ([email protected](mailto:[email protected])) wrote:
Hi XWiki devs
I'd like to propose the following enhancement for the XWiki Migration Manager. This is the follow up proposal to this discussion .
The current idea is to merge the concepts of the Extension Manager and Migration Manager. Extensions should be able to provide individual data migrations to add the possibility of altering data relevant to this extension. These should be executed after installation or upgrade of an extension.
Currently, the Migration Manager (still residing in the oldcore) does not support external migrations and only a version number for XWiki migrations is stored in the database. It has to be refactored (to it's own module?) and requires the functionality to store multiple version numbers with specific identifiers in the database for versioning migrations for individual extensions.
We at the celements team have an interest in this functionality and are willing to carry and implement it.
If you agree with the basic idea, I will start a design proposal document with more detailed information and possible challenges on http://design.xwiki.org
WDYT?
This is a good idea and it goes in the right direction of making everything possible inside an extension. So I’m definitely +1 for the general idea. Yes I agree that it would be nice to have the Migration Manager in its own module. +1 for you to start a design page and to discuss it on this list. It’s great that you guys are willing to spend time implementing this! Way to go! Thanks -Vincent
Marc synventis gmbh
On Wed, Aug 5, 2015 at 11:32 AM, [email protected] <[email protected]> wrote:
Hi Marc,
On 4 Aug 2015 at 11:51:56, Marc Sladek ([email protected](mailto: [email protected])) wrote:
Hi XWiki devs
I'd like to propose the following enhancement for the XWiki Migration Manager. This is the follow up proposal to this discussion .
The current idea is to merge the concepts of the Extension Manager and Migration Manager. Extensions should be able to provide individual data migrations to add the possibility of altering data relevant to this extension. These should be executed after installation or upgrade of an extension.
Currently, the Migration Manager (still residing in the oldcore) does not support external migrations and only a version number for XWiki migrations is stored in the database. It has to be refactored (to it's own module?) and requires the functionality to store multiple version numbers with specific identifiers in the database for versioning migrations for individual extensions.
We at the celements team have an interest in this functionality and are willing to carry and implement it.
If you agree with the basic idea, I will start a design proposal document with more detailed information and possible challenges on http://design.xwiki.org
WDYT?
This is a good idea and it goes in the right direction of making everything possible inside an extension.
So I’m definitely +1 for the general idea.
Yes I agree that it would be nice to have the Migration Manager in its own module.
+1 for you to start a design page and to discuss it on this list.
It’s great that you guys are willing to spend time implementing this!
Way to go! Thanks -Vincent
Hi Marc, Very great to see that you are investing time in this. I have myself worked on the migration manager in the past with the same final goal in mind, but I lack the time to go further in that direction. If I can be of any help, please let me know, and I will do my best to support your work on this module. As of now, I'd like you to be aware of existing issue in the migration process that may be potentially increase by your plans, please have a look at XWIKI-9041 and related issues. To summarize, the main cause behind those issues are the monolithic and imperfect schema migration done by hibernate based on included hbm. Regarding testing of migrations, I have also develop a helpful script available at https://github.com/xwiki/xwiki-dev-tools/tree/master/xwiki-xwikitest-script, that allow quick testing of different configuration, and repeatable testing. Obviously, it needs to be supported by a well configured VM containing the different databases setup to be fully functional. I hope this help, and that you will be able to find so clever solutions and I am eager to review your design document. Thanks, -- Denis Gervalle SOFTEC sa - CEO
participants (3)
-
Denis Gervalle -
Marc Sladek -
vincent@massol.net