Application

Deploy & Import Application

Estimated reading: 14 minutes 1311 views

Application deployment in Visual Guard refers to the process of deploying security configurations, such as roles, permissions, and user profiles, to specific applications or systems within an environment. This deployment ensures that security settings are applied effectively to the target applications, enabling consistent access control and enforcing security policies.

Below are the steps of how we can deploy an application

Step 1: Right click on the application and click on Deploy application.


Step 2: Once the setup shows up click on Next


Step 3: Select the option of either Export data in a deployment configuration file or Deploy in an exisiting repository, Click Next after selection

Visual Guard offers two main ways to deploy your security data: through a configuration file or directly to another repository. The configuration file method allows you to export and import security settings, making it ideal for controlled or offline deployments. On the other hand, deploying directly to another repository provides a faster and more seamless transfer, suitable for environments connected within the same network or system.

  • Export Data in a Deployment Configuration File
  • Deploy in an Existing repository

Export Data in a Deployment Configuration File enables you to generate a deployment configuration file containing the selected deployment settings and actions. This file can be saved and reused by the Deployment Tool to execute the same deployment configuration at a later time, eliminating the need to manually recreate the deployment settings. It also helps standardize deployment processes, ensuring consistency and reducing the risk of configuration errors across different environments.

Deploy an Existing Repository enables you to apply the selected deployment actions directly to an existing Visual Guard repository. This option executes the configured changes immediately on the target repository, ensuring that security configurations, settings, and other selected objects are deployed efficiently and consistently.


Step 4: Choose the Overwrite option and Deployment mode from the dropdown list provided.

Overwrite Option: Specify the options for deploying the application.

  • Do not overwrite an existing application: The process do not overwrite the application when it already exists in target repository
  • Overwrite when deployed version is more recent than existing application: The process overwrites the application only when its version is greater thann eixsting application in target repository
  • Overwrite when deployed version is equal to the existing application: The process overwrites the application only when its version is equal to the existing application’s version in target repository
  • Overwrite when deployed version is equal or more than the existing application: The process overwrites the application only when its version is equal to or more recent than the existing application’s version in target repository
  • Always overwrite an existing application: Always overwrites an application in target repository

Deployment Mode: Select the mode you would like to move forward with.

  • Refresh
  • Replace
  • Merge

Refresh: The process uses the deployed items to replace existing items and add any new deployed items. Existing items that are not included in the deployment remain unchanged, making this mode suitable for applying incremental updates.

Check mark the point: Upgrade the minimum runtime version supported by the repository when needed. This allows the deployment process to upgrade to the minimum supported version of the visul guard runtime.

Click Next after selection

The following real-time scenarios demonstrate how Refresh mode can be used to apply specific changes to an existing application while retaining configurations that are not part of the deployment.

  • Permission Folder
  • Permission
  • Permission Set
  • Application Role
  • Shared Role
Source ApplicationTarget ApplicationRefresh Behavior (Target)
Folder existsFolder does not existCreated – The folder is created in the target application.
Folder exists and data differsFolder existsOverwritten with source – The target folder is replaced with the source folder.
Folder does not existFolder exists and belongs to the target applicationUnchanged – The existing target folder is preserved.

Summary: Refresh creates missing folders and updates existing folders from the source, but does not remove folders that exist only in the target.

Source ApplicationTarget ApplicationRefresh Behavior (Target)
Permission1, Actions={btnAdd.Visible=False,btnCancel.Visible=False}Permission1 does not existPermission1 is created with the source actions.
Permission1, Actions={btnAdd.Visible=False,btnCancel.Visible=False}Permission1, Actions={btnAdd.Visible=False,btnDelete.Visible=False}Permission1 is overwritten with the source actions. {btnAdd.Visible=False,btnCancel.Visible=False}, (lost btnDelete.Visible=False)
Permission1 does not exist in the sourcePermission1 exists in the targetPermission1 remains unchanged in the target

Summary: Refresh synchronizes Permissions from the source to the target by creating new Permissions and updating existing ones, while retaining Permissions that exist only in the target.

Source ApplicationTarget ApplicationRefresh Behavior (Target)
PermSet1 with grants {A,B} and sub-sets {X}PermSet1 does not existPermSet1 is created with grants {A,B}
PermSet1 with grants {A,B}PermSet1 exists with grants {A,C}PermSet1 is overwritten with the source configuration {A,B}. The target-only grant C is removed.
PermSet1 does not exist in the sourcePermSet1 exists in the targetPermSet1 remains unchanged in the target.

Summary: Refresh updates Permission Sets in the target repository based on the source repository. New Permission Sets are created, existing Permission Sets are overwritten with the source configuration, and Permission Sets that exist only in the target remain unchanged.

Source ApplicationTarget ApplicationRefresh Behavior (Target)
Application Role Role1 with grants {PermA} and permission sets {PS1}Role1 does not existApplication Role is created with the source grants and permission sets. Profile values are merged into the newly created role.
Application Role Role1 with grant {PermA}Role1 exists with grant {PermB}Application Role is overwritten with the source configuration {PermA}. The target-only grant PermB is removed.
Role1 does not exist in the source applicationRole1 exists in the target applicationApplication Role remains unchanged in the target.

Summary: Refresh updates Application Roles in the target repository based on the source application. New Application Roles are created with the source configuration, existing Application Roles are overwritten with the source configuration, and Application Roles that exist only in the target remain unchanged.

Source ApplicationTarget ApplicationRefresh Behavior (Target)
Shared Role SharedRole1 with grant {A} and permission set {X}SharedRole1 does not existShared Role is created with the source grants and permission sets, limited to items that exist in the target repository.
Shared Role SharedRole1 with grant {A}SharedRole1 exists with grant {B}Source and target grants are combined, resulting in {A,B}. Existing target grants are retained.
SharedRole1 does not exist in the sourceSharedRole1 exists in the target with App1-scoped grant {B}Shared Role remains unchanged. The existing App1-scoped grant is retained.

Summary: Refresh updates Shared Roles by combining source and target grants and permission sets. New Shared Roles are created using the applicable source configuration, while existing target-specific grants are retained. Shared Roles that are absent from the source remain unchanged.

Replace: The process removes all existing items from the target application before deploying all items from the deployed application. This mode ensures that the target application is an exact replica of the deployed configuration.

Check mark the point: Upgrade the minimum runtime version supported by the repository when needed. This allows the deployment process to upgrade to the minimum supported version of the visul guard runtime.

Click Next after selection

The following real-world scenarios demonstrate how Replace mode can be used when the target application needs to be fully updated with the configuration from the source application.

  • Permission Folder
  • Permission
  • Permission Set
  • Application Role
  • Shared Role
Source ApplicationTarget ApplicationRefresh Behavior (Target)
Folder1 existsFolder1 does not exist in the targetFolder1 is created in the target.
Folder1 exists with different dataFolder1 exists in the targetFolder1 is overwritten with the source data.
Folder1 does not exist in the sourceFolder1 exists in the target and belongs to App1Folder1 is deleted from the target.

Summary: Replace synchronizes Folders in the target repository with the source repository. Missing Folders are created, existing Folders are overwritten with the source data, and Folders that no longer exist in the source are deleted from the target.

Source ApplicationTarget ApplicationRefresh Behavior (Target)
Permission1 with actions {btnAdd.Visible=False, btnCancel.Visible=False}Permission1 does not existPermission1 is created with the source actions.
Permission1 with actions {btnAdd.Visible=False, btnCancel.Visible=False}Permission1 with actions {btnAdd.Visible=False, btnDelete.Visible=False}Permission1 is overwritten with the source actions {btnAdd.Visible=False, btnCancel.Visible=False}. The target-only action btnDelete.Visible=False is removed.
Permission1 does not exist in the source applicationPermission1 exists in the target applicationPermission1 is deleted from the target.

Summary: Replace synchronizes Permissions in the target repository with the source repository. New Permissions are created, existing Permissions are overwritten with the source configuration, and Permissions that no longer exist in the source are deleted from the target.

Source ApplicationTarget ApplicationRefresh Behavior (Target)
PermSet1 with grants {A,B} and sub-sets {X}PermSet1 does not existPermSet1 is created with the source grants and sub-sets.
PermSet1 with grants {A,B}PermSet1 exists with grants {A,C}PermSet1 is fully overwritten with the source configuration {A,B}. The target-only grant C is removed, and the sub-set list is rebuilt from the source.
PermSet1 does not exist in the source applicationPermSet1 exists in the target applicationPermSet1 is deleted from the target.

Summary: Replace synchronizes Permission Sets in the target repository with the source repository. New Permission Sets are created, existing Permission Sets are fully overwritten with the source configuration, and Permission Sets that no longer exist in the source are deleted from the target.

Source ApplicationTarget ApplicationRefresh Behavior (Target)
Application Role Role1 with grant {PermA} and permission set {PS1}Role1 does not existApplication Role is created with the source grants and permission sets.
Application Role Role1 with grant {PermA}Role1 exists with grant {PermB}Application Role is overwritten with the source configuration {PermA}. The target-only grant PermB is removed.
Role1 does not exist in the source applicationRole1 exists in the target applicationApplication Role is deleted from the target.

Summary: Replace synchronizes Application Roles in the target repository with the source application. New Application Roles are created with the source configuration, existing Application Roles are overwritten with the source configuration, and Application Roles that no longer exist in the source are deleted from the target.

Source ApplicationTarget ApplicationRefresh Behavior (Target)
Shared Role SharedRole1 with grant {A} and permission set {X}SharedRole1 does not existShared Role is created with the source grants and permission sets.
Shared Role SharedRole1 with grant {A}SharedRole1 exists with grant {B}Shared Role is synchronized with the source configuration, resulting in {A}. The target-only grant {B} is removed during the cleanup process.
SharedRole1 does not exist in the sourceSharedRole1 exists in the target with App1-scoped grant {B}App1-scoped grants and permission sets are removed from the target Shared Role. Entries associated with other applications remain unchanged.

Summary: Replace synchronizes Shared Roles with the source configuration while respecting application-specific scope. New Shared Roles are created with the source configuration, existing Shared Roles are updated to retain only the source-defined grants and permission sets, and source-absent application-specific entries are removed from the target.

Merge: The process uses the deployed items to replace existing items, add new deployed items, and preserve all other existing items. This mode is ideal for updating specific configurations while retaining any custom or previously configured items in the target application. new deployed items and preserve all other existing items.

Check mark the point: Upgrade the minimum runtime version supported by the repository when needed. This allows the deployment process to upgrade to the minimum supported version of the visul guard runtime.

Click Next after selection

The following real-time scenarios demonstrate how Merge mode can be used to deploy new or updated configurations while preserving other existing configurations in the target application.

  • Permission Folder
  • Permission
  • Permission Set
  • Application Role
  • Shared Role
Source ApplicationTarget ApplicationRefresh Behavior (Target)
Folder1 existsFolder1 does not exist in the targetFolder1 is created in the target
Folder1 exists with different dataFolder1 exists in the targetFolder1 is overwritten with the source data
Folder1 does not exist in the sourceFolder1 exists in the target and belongs to App1Folder1 remains unchanged in the target

Summary: Merge updates Folders in the target repository using the source configuration. Missing Folders are created, while existing Folders are overwritten with the source data. Folders that are not present in the source remain unchanged in the target.

Source ApplicationTarget ApplicationRefresh Behavior (Target)
Permission1 with actions {btnAdd.Visible=False, btnCancel.Visible=False}Permission1 does not existPermission1 is created with the source actions.
Permission1 with actions {btnAdd.Visible=False, btnCancel.Visible=False}Permission1 with actions {btnAdd.Visible=False, btnDelete.Visible=False}Actions are combined, resulting in {btnAdd.Visible=False, btnCancel.Visible=False, btnDelete.Visible=False}. Existing target actions are retained and source actions are added.
Permission1 does not exist in the source applicationPermission1 exists in the target applicationPermission1 remains unchanged in the target.

Summary: Merge combines Permission configurations from the source and target repositories. New Permissions are created, while existing Permissions retain their target actions and incorporate actions from the source. Permissions that exist only in the target remain unchanged.

Source ApplicationTarget ApplicationRefresh Behavior (Target)
PermSet1 with grants {A,B} and sub-sets {X}PermSet1 does not existPermSet1 is created with grants {A,B} and sub-sets {X}
PermSet1 with grants {A,B}PermSet1 exists with grants {A,C}Grants are combined, resulting in {A,B,C}. Existing target grant C is retained and source grant B is added
PermSet1 does not exist in the source applicationPermSet1 exists in the target applicationPermSet1 remains unchanged in the target

Summary: Merge combines Permission Set configurations from the source and target repositories. New Permission Sets are created with the source configuration, while existing Permission Sets retain their target grants and incorporate grants from the source. Permission Sets that exist only in the target remain unchanged.

Source ApplicationTarget ApplicationRefresh Behavior (Target)
Application Role Role1 with grant {PermA} and permission set {PS1}Role1 does not existApplication Role is created with the source grants and permission sets.
Application Role Role1 with grant {PermA}Role1 exists with grant {PermB}Grants are combined, resulting in {PermA, PermB}. The existing target grant PermB is retained and source grant PermA is added.
Role1 does not exist in the source applicationRole1 exists in the target applicationApplication Role remains unchanged in the target.

Summary: Merge combines Application Role configurations from the source and target repositories. New Application Roles are created with the source configuration, while existing Application Roles retain their target grants and incorporate grants from the source. Application Roles that exist only in the target remain unchanged.

Source ApplicationTarget ApplicationRefresh Behavior (Target)
Shared Role SharedRole1 with grant {A} and permission set {X}SharedRole1 does not existShared Role is created with the source grants and permission sets.
Shared Role SharedRole1 with grant {A}SharedRole1 exists with grant {B}Grants are combined, resulting in {A,B}. Existing target grant {B} is retained and source grant {A} is added.
SharedRole1 does not exist in the sourceSharedRole1 exists in the target with App1-scoped grant {B}Shared Role remains unchanged in the target.

Summary: Merge combines Shared Role configurations from the source and target repositories. New Shared Roles are created with the source configuration, while existing Shared Roles retain their target grants and incorporate grants from the source. Shared Roles that exist only in the target remain unchanged.


Step 5: Click on the Finish button to complete the deployment.

Note: You will be asked to provide a path to where the configuration file should be saved.


Import Application Configuration Files

Importing deployment configuration files refers to the process of loading external files containing predefined settings and configurations related to the deployment of software or applications. These files typically include details such as environment-specific configurations, deployment targets, versioning information, and other parameters necessary for deploying the software effectively. Importing deployment configuration files streamlines the deployment process by providing a standardized way to configure deployment settings, ensuring consistency and accuracy across different environments and deployment scenarios.


To import the configuration files follow the below steps

Step 1:  Login to the repository and click on Import deployment configuration file.

Step 2: Select the path of where your configuration files are saved by clicking on the 3 dots and click OK


Step 3: Once the configuration is successfull you will receive a popup notifying the same