--- pdfexport: true alias: tutorials-change-package-approval-role-flow timetoread: true description: "Configure role-based manual approval and deployment for a Change Package destination" --- # Role-Based Approval and Deployment ## Overview This scenario builds on the [[tutorials-change-package-cross-version-flow|Cross-Version Deployment]] scenario. You create a new **Master Data Deployment Plan** that uses the destinations from that scenario and adds a third destination (`Dresden - Production`) after `Dresden - Development`. `Dresden - Development` and `Dresden - Production` run MES version 12.0. `Dresden - Development` uses automatic approval and deployment. `Dresden - Production` requires a member of the `Process Engineer` role to manually approve and deploy the package. This arrangement demonstrates how a **Master Data Deployment Plan** can apply role-based authorization and manual execution within a sequential distribution flow. ## Before You Start Review the [[tutorials-change-package-cross-version-flow|Cross-Version Deployment]] scenario and complete the [[tutorials-change-package-prerequisites]] before starting. Confirm the following additional conditions: - The source and destination Customer Environments are registered in Customer Portal and reachable. - The Private Key Secret Name configured in the **Master Data Deployment Plan** resolves correctly in all destination environments. - The `Process Engineer` **Role** exists in Customer Portal and includes the person who will approve and deploy the `Dresden - Production` deployment item. - The `Belgas [A]` **BOM** and its dependencies are prepared in the source Customer Environment. ## Step 1: Create the Master Data Deployment Plan Create a new **Master Data Deployment Plan** with the destinations used in the [[tutorials-change-package-cross-version-flow|Cross-Version Deployment]] scenario and add `Dresden - Production` after `Dresden - Development`. 1. Sign in to Customer Portal, open the **Global Data Orchestrator**, and select **Master Data Deployment Plans**. 2. Select **New** from the action bar and enter the following values: - **Name**: `Deployment_Plan_03`. - **Error Handling Mode**: `Continue`. - **Customer**: `CMF`. 3. Select **Create**. 4. Add `Dresden - Development` and `Tijuana - Production` with automatic approval and deployment from the source destination. 5. Select :material-plus: next to the `Dresden - Development` to add `Dresden - Production` after it. ![Screenshot showing how to add a new Master Data Deployment Plan Item from a destination instance.](../../../../images/deploy_plan3_01.png) 6. Select `Dresden - Production` from the search bar, go to :core-static-more-lg:, and then press **Edit**. ![Screenshot showing the option to edit the Master Data Deployment Plan Item.](../../../../images/deploy_plan3_02.png) 7. Select `Manual` for **Approval Mode** and **Deployment Mode**. Assign `Process Engineer` as both the **Approval Role** and the **Deployment Role**. ![Screenshot showing the wizard to configure both Approval Mode and Deployment Mode.](../../../../images/deploy_plan3_03.png) 8. Select **Save** on the action bar. Select **Request Approval**, then **Set Effective** to set the **Master Data Deployment Plan** to the `Effective` state. ![Screenshot showing the final configuration of the Master Data Deployment Plan in the Effective state.](../../../../images/deploy_plan3_04.png) When a **Change Package** is published, the **Master Data Deployment Plan** will send the package to `Dresden - Production` after `Dresden - Development`. The new destination waits for a member of the `Process Engineer` role to approve the package and then to start its deployment manually. ## Step 2: Create and Publish the Change Package Follow Step 2 of the [[tutorials-change-package-cross-version-flow|Cross-Version Deployment]] scenario without repeating the detailed authoring procedure. 1. Use these values for the new **Change Package**: - **Name**: `Change_Package_03`. - **Master Data Deployment Plan**: `Deployment_Plan_03`. - **Publication Mode**: Manual. - **Contents**: the `Belgas [A]` **BOM** and its dependencies. ![Screenshot showing the settings for the new Change Package.](../../../../images/change_package3_01.png) 2. Add the `Belgas` **BOM** and its dependencies, request approval, and publish the **Change Package**. ## Step 3: Monitor, Approve, and Deploy 1. Open the **Global Data Orchestrator** and access the **Deployment Plan Instances** page. 2. Open the `Deployment_Plan_03_1` instance and confirm that the **Master Data Deployment Instance Items** for `Tijuana - Production` and `Dresden - Development` reach the `Completed` state. The item for `Dresden - Production` is in the `Waiting for Approval` state. ![Screenshot showing the current state of the destination instances.](../../../../images/deploy_plan3_05.png) 3. Sign in with an account that has the `Process Engineer` **Role** assigned. 4. Select :core-static-approve-lg: **Approve** for `Dresden - Production`, then confirm the approval. ![Screenshot showing the Approval wizard when a Role is assigned.](../../../../images/deploy_plan3_06.png) 5. Confirm that the **Master Data Deployment Instance Item** is in the `Waiting for Deployment` state. ![Screenshot highlighting the "Waiting for Deployment" state of one of the destination instances.](../../../../images/deploy_plan3_07.png) 6. Select :core-static-deploy-lg: **Deploy** for `Dresden - Production` from the action bar or the Action column. 7. Select **Load** for the **Running Mode**, then select **Deploy**. ![Screenshot showing the Deploy wizard when a Role is assigned.](../../../../images/deploy_plan3_08.png) 8. Monitor the deployment log until the item reaches the `Completed` state. ![Screenshot showing all Master Data Deployment Instances in the "Completed" state.](../../../../images/deploy_plan3_09.png) !!! info The `Dresden - Production` item cannot proceed until a member of the configured Approval Role approves it and a member of the configured Deployment Role starts the deployment. ## Step 4: Validate Dresden - Production 1. Confirm that the generated **Master Data Package** appears in `Dresden - Production`. ![Screenshot showing the generated Master Data Package in the new destination environment.](../../../../images/deploy_plan3_10.png) 2. Open the **Master Data Package** and confirm on the **Execution** tab that the load completed successfully without errors. ![Screenshot showing the successful execution of the Master Data Package in the new destination environment.](../../../../images/deploy_plan3_11.png) 3. Optionally, check the operation result under Execution Details in the **Details** tab. ![Screenshot showing the operation result of the Master Data Package in the new destination environment.](../../../../images/deploy_plan3_12.png) ## What You Learned You configured role-based manual approval and deployment for `Dresden - Production`: | **Approval mode** | **Approval role** | **Deployment mode** | **Deployment role** | **Expected result** | |---|---|---|---|---| | Manual | `Process Engineer` | Manual | `Process Engineer` | A member of the configured role approves and manually deploys the package. | Table: Expected role-based deployment behavior