CBOX import doesn't use a governing transaction

Description

When importing a CBOX import, the import does not use a governing transaction for the content deletes and the entire import.

As such, if there is an ORM error during the import, the database is left with partial, committed, content imports and in an unusable state.

In addition, if logged in as a user which has a matching user account in the import, the user data, including roles and permissions, is overwritten in the new site - meaning that the user performing the import no longer has admin access, if their account was not an admin in the site they are importing.

Suggest the following:

Wrap all deletes and inserts in governing transactions, with savepoints to flush periodically as dependencies are added. If the import throws an error, the entire import, including the deletions should be rolled back to the pre-import state.

Assignee

Unassigned

Reporter

Jon Clausen

Labels

None

Priority

Major