Conflict Resolution
K2 Package and Deployment enables you to edit properties in the deployment package that are in conflict with the target environment.
Typically, there are three types of conflicts:
- A name conflict exists when a source item (an item to be deployed) has an identifier which is different from the identifier used by a target item (an item to be replaced). This would normally occur when the SmartObject system name is the same but the unique identifier is different.
- A version conflict exists when an item is on both the source and target, but will break compatibility with existing items.
- A missing reference conflict exists when artifacts in the package are dependent on objects that cannot be located in the target environment.
Typically, you can take three actions for resolving conflicts:
- Overwrite or deploy a new version of the artifact (if the artifact supports versioning).
- Change the system name or display name of the artifact. Note that this option is not available for some artifacts.
- Exclude the artifact from the deployment.
To Resolve a Package Conflict
- Start deploying a package.
- All items for deployment are validated and configured. (Note the Missing Reference status of the Application Approved and Denallix College Application items.)
Before deploying, resolve all conflicts and analyze again to check for warning or error icons.
Icon Description Ready: Indicates that the action selected for the deployment of the artifact has no system warnings or conflicts, and the artifact is ready to be deployed. Warning:
- The action you selected has raised a system warning. Review the action before deploying. This warning typically appears if you are going to overwrite an existing service instance or environment field. An artifact with this status can be deployed.
- A property of a dependent item is in conflict.
Error: Indicates that the action selected is in conflict with the target environment and cannot be deployed. Missing Reference: An artifact has a dependent item causing a conflict. For example, you deploy a new package which contains a form or view but no SmartObject to an environment. Due to the missing SmartObject, the form or view shows a missing reference conflict. You need to first locate and fix the SmartObject reference before you can continue with Package and Deployment. This indicates an indirect missing reference. You need to locate and fix the missing reference before you can continue with Package and Deployment. - Resolve conflicts by right-clicking the item and selecting an action from the drop down menu. Alternatively, you can right-click the item and then click the Configuremenu to resolve the issue, or exclude the item.
- Depending on whether the item is categorized or uncategorized, the menu options are as follows:
Menu Option Description Configure This option opens the conflict resolution window. Include Select this option to include an artifact in the deployment. Note that if the object is already included, this action is grayed out. Exclude Select this option remove the artifact from the deployment. Note that if the object is already excluded, this action is grayed out. Create New Version Select this action to configure the artifact to be deployed as a new object or a new version of the existing object.
When you deploy a package, right-click an artifact and select the Create New Version option from the menu. This changes the Action to Create New Version of [artifact type].
After you deploy a package to an environment where the artifacts already exists and you select the Create New Version option, the current version number increments by one. For example, the version of the SmartObject in your solution is 1.0. After selecting the Create New Version for the SmartObject, the version is 2.0. The artifact GUID and system name stay the same.
The Create New Version option is not available when you deploy a package to the environment for the first time, only when a matching artifact exists on the target environment.
Use Existing Select this action to configure the solution to use the existing artifact in the target environment. Links are created from the other items in the package to the existing artifact. This option is typically enabled if the Action is Create New Version and the item is found on the target environment. Instances where the option may not be enabled include: - If the Action is Use Existing.
- If the item is found on the target environment but has missing references, the GUID is not as expected, or it conflicts with another object.
- If the item is not found on the target environment.
Overwrite Select this action to overwrite the existing artifact with the one from the package. Analyze Analyzes the selected artifact and updates its status To see detailed analysis results for the artifact, click the Properties, Dependencies and Used By tabs in the Deploy Package window.
If you need to refresh the analysis of a single artifact, right-click on the artifact, and select Analyze.
- When you click the Configure button or right-click option, you'll see a conflict resolution window for the artifact type. In the image below, a form is selected and the conflict resolution window says Configure Form and has an Unknown SmartObject.
- To select a different SmartObject, click on the ellipsis button next the Select field box and browse to the correct SmartObject in the target environment.
- After resolving the conflicting properties, click OK.
- When you resolve all conflicts, click the Next button in the Deploy Package window.
- Click the Finish button to deploy the package.