Enabling the approval requests feature to run a migration.
Starting with v6.3.0, the Pulse Migration feature includes a new mechanism to force all packages to be approved before it can be executed.
The main benefit is that any changes migrated to production will be reviewed by at least two persons of your team.
To turn it on, open the Pulse.cfg file and set EnableApprovalBeforeExecute = true. Then restart the Pulse Application Server.
Once it is enabled, a migration package will have to be approved by someone else, before it can be executed into a target instance.
How to see all approval requests
Once the feature is enabled, a new page called Approval Requests will be available under Migration:
Create an approval request
To create a new approval request, open a migration package and then click the Request Approval button:
The Submit Execute Package Request pop-up will open. You then need to select the target TM1 instance, the approval group (they will receive an email that a new request is waiting for approval) and a description.
Approving a request
Everyone in the Approval Group will receive a notification by email.
To approve a package, they need to click the edit button, enter a remark and click the Approve button.
Once the request is approved, the package can then be executed only into the target instance specified in the request.
Approval History
The approval history is available when opening a package under the History section:
Allow Package Owner to Approve
Introduced in v7.3.0
This parameter affects approval rights, in particular for those with
Create Migration PackageandApprove Migration Packageprivileges.When
AllowPackageOwnerToApprove = false:A user who created a package cannot approve its own approval request (enforces separation of duties).
That same user can still execute the package later (provided this user also has
Execute Migration Packageprivilege) once it has been approved by another user withApprove Migration Packageprivilege.
This refines the previous behavior where:
AllowPackageOwnerToExecute = falseblocked both requesting approval and execution, which didn’t meet the customer’s requirement.