+0

Thanks,
Marius

On Thu, Dec 8, 2011 at 11:08 AM, Denis Gervalle <[email protected]> wrote:
> Hi Devs,
>
> In order to change the way we compute document ID to reduce
> the likelihood of a collision, I need to improve and secure our current
> data migration system. I have started this works late during 3.2, but it
> since this is an important refactoring, and after discussion on IRC, it
> have been decide to wait for 3.4 to commit it, so we have a full cycle to
> have it carefully test. So I would like your approval now to commit this
> work.
>
> The advantages of these changes are:
>
>  - Ensure that the hibernate store could not be access without having it
> migrated in the appropriate version for the running platform
>  - Ensure that the hibernate store is left untouched if the migration have
> not been allowed
>  - Easy addition of migrations, since migrator are now components
>  - Schema and datamigration are done only once and together
>  - One more step in the isolation of the store from XWiki
>  - Secure enough to allow converting document IDs
>
> The impact on API and users are:
>
>  - deprecate xwiki.store.hibernate.updateschema which is enable by default
>  - xwiki.store.migration.databases=all by default (in place of xwiki) since
> this is the general UC
>  - XWikiMigrationInterface and XWikiMigratorInterface are removed and new
> component roles DataMigrationManager and DataMigration should be used
> instead
>
> These improvements consist in:
>
>  - Replace Migrators by DataMigration components
>  - Replace the MigrationManager by a DataMigrationManager component
>  - Put a "hibernate" hint on hibernate stores (in place of default) to
> allow the hibernate migrator to access a correctly typed store
>  - inject and call the HibernateDataMigrationManager from the stores (and
> not from XWiki)
>  - Convert data migration like action done during schema update (yes we
> have some sql updates during schema update) into a LegacyDataMigration
> producing data version 1 from data version 0
>  - Join together schema update and data migration on a unique place (schema
> update were currently done in several places in XWiki and the store)
>  - XWIKI-1859: Do not start migrations on a clean installation of XWiki
>  - XWIKI-2075: Move all databases upgrades and schema updates to XWiki's
> initialization instead of doing it lazily (partial fix, since it is still
> hard to have the store initialized has needed)
>   - data migration is moved to the first access to a store (which is still
> during first request, but the matter is no more here)
>   - XWIKI-2066: Migrator fails to upgrade sub wiki databases, now properly
> fixed (previous fix was a hack that do not)
>   - no more excessive synchronization required for schema update, but
> there is still some mandatory document added lazily
>   - clear reporting of access error when migration does not succeed
>
> For more, read http://markmail.org/thread/l3dzx7pj32n5qlqd
>
> Here is my +1
>
> --
> Denis Gervalle
> SOFTEC sa - CEO
> eGuilde sarl - CTO
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to