Make imports revertible and provide and provide a summary of changes
CompletedThis request is based on experiences with MooD 15 v116, but i see it as still valid for MooD 16. My apologies if this has already been resolved in MooD 16 v45
In brief:
Currently when working with and testing synchronizes it is difficult to determine exactly what happened when the synchronizer was executed, and whether any unintended consequences occurred, it would be great if it was possible to have an overview of what happened, and revert the execution if it wasn't intended.
Purpose:
Given that we're often doing our development in a repository that will ultimately be merged directly into production, there are numerous risks involved with configuring and testing synchronizes, and the higher the complexity of the synchronizer the higher the risks involved.
Some of these risks include:
- relationshios being deleted,
- unintended elements being created,
- elements being created with the "created by syncrhonizer" name,
- unintended elements being created in the target,
- unintended elements being created in the relationship target.
- duplicate elements being created.
- unintended elements being updated
As such it would be fantastic if there was:
- A way of seeing what MooD did at the conclusion of the synchronizer execution, the ideal implementation would be the same overview as is provided at the conclusion of a repository merge, but it could be a simpler overview, even something like x amount of elements updated, x amount of elements created would provide some valuable information.
- A way of reverting the synchronizer execution when executing it in the configuration window, this would provide a way of actually testing synchronizers in a development repository rather than having to merge to Test or add a backup of the repository just to test synchronizers.
Possible implementation:
In the Excel and Database import synchronizers when the synchronizer has finished a window pops up with a list of elements changed similar to that of the Merge repositories functionality, or a count of elements updated and created. The window has the options to "commit" or "cancel".
Guessing here but, in the code it might be possible to wrap the SQL statement that executes the update or insert of the data in a SQL transaction, if the user chooses cancel transaction rollback is executed, if the user chooses commit transaction commit is executed.
Ideally it should also be possible to turn off this notification prompt, in which case the transaction is automatically committed, and this prompt should only occur when configuring so that it doesn't conflict with automatic execution of the synchronizers.
Test:
- Extract from MooD a dataset containing the element name and a field you want to update
- Change the element name in MooD of one of the extracted elements
- Add data to the extract for the fields you want to update
- Configure simple import, mapping element name as the key to the type's element name and the field to the field you want to update.
- Set the new "prompt to commit execution" setting to checked, execute the synchronizer, confirm that the execution ends with an overview of the elements changed and created, and that there's a prompt to commit the changes,
- Click Cancel and confirm that none of the changes were implemented.
- Set the new "prompt to commit execution" setting to checked, execute the synchronizer, confirm that the execution ends with an overview of the elements changed and created, and that there's a prompt to commit the changes,
- Click Commit and confirm that the changes were implemented.
- Set the new "prompt to commit execution" setting to checked, execute the synchronizer, confirm that the execution ends with an overview of the elements changed and created, confirm that the changes were implemented.
Hope you find this relevant.
Br
Rune
Staun & Stender.
-
I believe your wish has been granted in 16.082.02 - see here.
Although there is no 'revert' button - being able to see the actions make it much less likely you'll need to revert.
Please sign in to leave a comment.
Comments
2 comments