Project Dependencies
  • 26 Sep 2024
  • 6 Minutes to read
  • Dark
    Light

Project Dependencies

  • Dark
    Light

Article summary

Overview

To develop a process, users must create several Designer Elements that work together to achieve the process's objective. These elements may or may not be part of a single Project. Thus, Dependencies represent the relationships between Projects where one relies on another to function correctly.

The Dependencies Dashboard in a Project is a location for managing and configuring Project dependencies, ensuring a streamlined approach to project development and integration. This dashboard helps developers create project-level dependencies, enhancing the overall project capabilities and promoting a more cohesive development process.

What changed from v8 to v9

Parameter

Version 8

Version 9

Declaring dependency

Users could declare a manual dependency on individual entities within the portal.

Users cannot declare a dependency on individual entities.

Users can only declare the entire project as dependent on other projects.

Circular dependency

Users could create circular dependencies, such as when entities in Project A depend on Project B and B's entities can be used in A.

Circular dependency is not supported. For instance, if Project A depends on Project B, Project B cannot depend on Project A in return.

However, users can create Project C and declare it as a dependency for both Project A and Project B to use common entities.

Import/Export

Users had the control to export the dependencies of the project.

Users cannot control the dependencies being exported from a project.

While importing a project, it is important to have the dependent projects in the portal; otherwise, it will not allow the project to be imported.

Upgrading to v9

Legacy Projects with dependencies after Project Conversion will show validation issues. These issues can be tracked in the Issues report located at the Project Info Dashboard. These issues can be resolved after giving the Project its appropriate dependencies. However, users may be unable to clear all the validation issues on the projects with circular dependencies, which might create issues while using Import/Export actions.

For example:

You have three legacy projects: A, B, and C. They're interdependent circularly: A depends on B and C, B depends on A and C, and C depends on A and B.

After upgrading to version 9, users must convert them to new Projects. However, converting the project will give two validations on each project as the dependency is yet to be declared.

Assuming, following is the pattern you start declaring the dependency:

  • Project A: Depends on B and C (clears all the validations)

  • Project B: Depends only on C since A already depends on B (clears only one validation)

  • Project C: Cannot declare dependency since A and B already depend on C (no validations are cleared)

Note:

Validations due to missing dependencies will not have an impact on workflows.

Avoid Validation Issues:

To avoid these validation issues, it is recommended to re-organize the Projects to remove the circular dependency.


Dependencies Dashboard

The Dependencies Dashboard is divided into two distinct sections, "[Current Project] Depends On" and "Depends On [Current Project]."

On the left, the "[Current Project] Depends On" segment showcases the list of projects that the current project relies on. On the right, the "Depends On [Current Project]" section displays the projects dependent on the current project.

From this dashboard, add Project Dependencies by selecting "MANAGE." This action leads to the "Manage Dependencies" dialog, which lists all the projects within the instance and enables users to designate the current project's dependencies.


Manage Dependencies

To effectively view and manage dependent projects, users can select any of the projects listed in the "Depends On" section. This selection opens a dialog providing essential information about the project, such as the project name, description, the number of entities within the project, and the health score. Furthermore, the dialog includes a "Used Entities" tab, which offers a comprehensive view of all the entities within the project utilizing an entity from the current project. Users can navigate to the dependent project by selecting "OPEN" within this dialog. If no entities are utilized by the dependent project, the dependency can be easily removed by selecting "REMOVE DEPENDENCY."

Add a Project Dependency or Enable a Module

The Manage button allows users to add or remove dependencies between projects and modules. Select the projects and/or modules to create a dependency and click Confirm. This will allow us to use the resources from those projects/modules in the current project.

Project Dependencies do not confer Module Dependencies. If Project A has a dependency to the FHIR module it has access to FHIR steps. If Project B has a dependency on Project A, it does not get access to those same FHIR steps. Project B needs its own dependency to FHIR.

Dependency Info

Once a dependency is declared, users can hover their mouse over the count button, which shows the number of entities used in the project. To access detailed information, select a dependency to open a dialog that displays the project name, description, total entity count, and project health. An additional tab called Used Entities displays entities from that project that are currently being used in the dependent project. Users can open the project and remove the dependencies from this dialog.

Removing a Dependency

Remove a dependency from the Manage dialog on the Dependencies Dashboard; this will remove projects that the current project is dependent on; if a dependency already exists, it will be available in the "Current Project Relies On" column; select the dependency to remove and select Remove Dependency in the dialog. Remove dependent projects by selecting the project under the Depends on Current Project column and selecting Remove Dependency. The Remove Dependency action will only be available if no linked elements exist. Additionally, deleting a relied-upon project is prohibited until all elements the dependent project utilizes are removed.

Unable to remove a dependency?

Removing a dependency is not allowed if any entities from the dependent projects are being used in the current project.


Utilizing Dependencies

Elements available to use in dependent projects: All Designer Elements, Data Structures, and Project Constants.

When integrating linked elements from another project into a Flow, the Create or Pick dialog organizes accessible elements into two distinct tabs: Current Project and Dependencies. The Current Project tab presents all available elements within the current project, while the Dependencies tab displays items accessible from the project upon which the current project relies. For instance, if Project B relies on Project A, the Dependencies tab will hold elements from Project A.

Furthermore, this dialog incorporates a Recent tab, consolidating all recently modified elements within the project or dependent project. When utilizing linked elements, the project icon will appear as the step icon, signifying the origin of the Flow, Rule, Form, Report, or other components from a different project.

How to Add Dependent Items

Description

Directly from the toolbox

All the dependent items will be available in the Toolbox under their specific designer entity type. For example, Flows are located at Designer Entities → Flows → Dependent Projects → Flow Name.

From the “Pick Existing” dialog

When Run Sub Flow, Show Form, Run Rule steps, etc., are dragged into the workflows, select Pick or Create entities in the Properties Panel. Pick Existing dialog appears. Switch the tab to Dependencies. Select the Project from the drop-down menu and pick the entity you wish to add.


Feature Changes

Description

Version

Release Date

Developer Task

Project Dependencies no longer transfer access to Module steps.

9.3

September 2024

[DT-042461]



Was this article helpful?

What's Next