Component dependencies, deletion, and removal¶
Introduction¶
Viewing a component's dependencies lists the other project components that the component is dependent on. If other components are dependent on the component, those dependencies must be removed before a component can be deleted.
Viewing dependencies of and deletion of workflows and operations is covered on these pages:
- Workflows: Workflow dependencies and deletion
- Operations: Operation dependencies, deletion, and removal
Viewing dependencies for other project components, such as activities, transformations, scripts, schemas, project variables, global variables, email notifications, and schedules, is also available. Each of these components can also be deleted or removed from an operation using the same method, except for global variables, which are deleted by deleting the portion of a script where they are defined.
Definitions¶
It is important to understand the terminology when discussing dependencies. Two distinct phrases are used: dependent on and dependency of. In these examples, Component A is dependent on Component B. Component B is a dependency of Component A:
- Dependent on: If a component is dependent on another component, it needs that component in order to function properly. A component that is dependent on another component cannot stand alone without that component. When Component A needs Component B in order to execute successfully, Component A is dependent on Component B. Another way to say this is that Component A depends on Component B.
- Dependency of: If a component is a dependency of another component, it is needed by the first component in order for the first component to function properly. A component that is a dependency of another component is the component that is needed by another. When Component A needs Component B in order to execute successfully, Component B is a dependency of Component A.
View dependencies¶
Component dependencies can be viewed either through the View Dependencies option in the component actions menus or through a visual indicator in the project pane's Components tab.
View dependencies using component actions menus¶
The View Dependencies option is accessible from these locations:
- The project pane's Workflows tab (see Component actions menu in Project pane Workflows tab).
- The project pane's Components tab (see Component actions menu in Project pane Components tab).
On selecting View Dependencies, the dependency view opens in the project pane's Workflows tab:
In dependency view, the name of the selected component appears below the search and filter areas.
The component name is followed by a list of Dependencies that the component is dependent on. This list is organized by categories such as Workflow, Operation, and Activity. These categories vary depending on the type of component being viewed. For global variables, the categories are further classified under Read or Write to indicate the access type of a particular variable reference:
Each category can be expanded or collapsed using the disclosure triangles.
Only dependencies of the component that are a single level deep are displayed. For example, when viewing dependencies of the transformation "Magento Product Response," while the listed activity "GET Magento Products" is a dependency of the transformation, other components that are a dependency of the activity are not displayed. Neither are components that are dependent on the transformation displayed (that is, other components that the component itself is a dependency of are not listed).
To close out of dependency view, click the close icon.
View dependencies using a visual indicator¶
When selecting a component either in the project pane's Components tab or on the design canvas (while viewing the Components tab), a dependency icon is displayed next to the name of a component that is a dependency of the selected component:
A selected component is displayed with a selection icon and a gray background.
Delete a component¶
The Delete option to permanently delete an individual component is accessible from these locations:
- The project pane's Workflows tab (see Component actions menu in Project pane Workflows tab).
- The project pane's Components tab (see Component actions menu in Project pane Components tab).
The Delete Unused option to permanently delete unused components in bulk is accessible from this location:
- The project pane's Components tab (see Components tab actions menu in Project pane Components tab).
Delete¶
On selecting Delete, if there are other project components that are dependent on the component being deleted, those components are listed:
Note that the text in this message incorrectly states that dependencies of the component being deleted are listed. This is not true, and in fact any other components that are dependent on the component are actually what is actually listed. Click Continue to return to the project designer without any action taking place.
To make it so the component can be deleted, you must modify the project so that the component is not dependent on these other components. For example, if activity Component B needs transformation Component A to function properly, first remove transformation Component A from the operation and then try again to delete the activity Component B.
If there are no other components that have the component being deleted as a dependency of any component, a message ask you to confirm you want to delete the component:
Delete unused¶
On selecting Delete Unused, each operation to be deleted is listed:
Deselect any component you don't want to permanently delete, then click Delete.
Remove a component¶
The Remove option to remove a component from all operations is accessible from these locations:
- The project pane's Workflows tab (see Component actions menu in Project pane Workflows tab).
- The project pane's Components tab (see Component actions menu in Project pane Components tab).
- The design canvas (see Component actions menu in Design canvas).
On selecting Remove on a specific instance of an activity, script, transformation, or email notification (in the project pane's Workflows tab or the design canvas), that specific instance of the component is removed. On selecting Remove from the project pane's Components tab, all instances of the component are removed as operation steps from all operations. Any other references to the components, such as within scripts, transformations, or configuration settings, are unaffected.
Removing components used as steps in an operation is allowed regardless of dependencies, as these components are not deleted from the project and are still available from the project pane's Components tab.
However, depending on the dependencies that exist, on removing the component from the operation, this may cause the operation or other components used as steps within the operation to become invalid. That is, removing components from an operation does not affect dependencies.
Removing all of the steps of an operation does not delete the operation from the project. If you do remove all of the steps in an operation, the operation disappears from project pane's Workflows tab and is shown on the design canvas as an empty operation:
An empty operation remains available as a component in the Components tab and is listed as a component when deploying the project. As an empty operation is invalid, it cannot be deployed. To delete an operation whose steps have been removed, do so from the operation menu that is accessible from the Components tab or the design canvas.