Administrators and configuration managers can set up project dependencies in the Business
console to make a project available in different decision services or branches.
A project in a decision service can be referenced by other decision services, or in other
branches of the same decision service. All items in the referenced project are then available to you
for use in your current decision service or branch. For example, you might want to place your BOM
and vocabulary in a separate project and reference it, so that you need to maintain only one BOM and
one vocabulary, and changes made to the BOM and vocabulary are automatically propagated to all the
projects that use them.
Before you create project dependencies, make sure that you have a clear idea of how your decision
services and branches are to be organized to share one or several projects. Take some time to assess
how any modification to a rule artifact in a shared project can impact the different branches and
decision services that share this project.
When you share a project between branches of a decision service, or in other decision services,
you must create a project dependency. You create a project dependency in the Dependencies editor of
the Business console where you specify which project and which branch of that project to
reference.
Note: You cannot share a project if you use the Decision Governance Framework.
Creating a project dependency
To create a project dependency:
- Open the main branch of your decision service.
- In the Branch pane, expand the Linked Projects
section, and click Edit dependencies. The Dependencies editor opens.
- Select your project in the Project list to see the list of its
dependencies (if any). Click the + icon to add a new dependency.
- Double-click the blank fields of the new dependency to select the decision service, project, and
branch you want to reference in your current project.
- Click Save.
- Go back to your branch with the breadcrumbs. Your shared project is indicated by the
shared icon in the Decision Artifacts tab, and a tooltip when you hover over
the project name. The tooltip is limited to five dependencies at most, but you can review the full
list in the Linked Projects section.
Note: Some operations on versioned elements have no impact on the dependencies. For example, if you
restore a snapshot that was taken before creating or editing a project dependency, or if you merge
branches that share projects, the dependencies are not modified.
Working with branches
When you create a branch in a decision service, it is populated with a new version of each
project in the parent branch. If there are shared projects in the parent branch, however, they are
not carried over to the new branch automatically. To use the shared projects, select
Propagate Shared Dependencies in the branch creation dialog when you create a
branch. This option propagates the shared projects in the new branch.
Alternatively, you can manually establish the dependencies in a new branch:
- Open your new branch.
- In the Linked Projects pane, click Edit
Dependencies. In the list of dependencies, you see your decision service and
project.
- Double-click the branch name and select main.
- Click Save.
- Go back to your branch by using the navigation breadcrumbs. The shared icon
indicates that
your common project is shared again, and in the tooltip, you can see which decision services use the
project.
When you reestablish the dependency, the shared project replaces the copy of this project that
was made when you created a branch. Make sure that you have not modified your business rules or BOM
in this copy because in this case you might lose your changes.
Note: Branch names are unique within a project. Since a project can be shared by multiple decision
services, creation of a new branch ensures that the name of the branch is not already used by one of
the dependent projects in the decision service. If necessary, this available branch can be reused as
a dependency of the new branch by selecting the check box to reuse existing branches in the branch
creation panel. This creates a shared dependency with this project.
Setting project security for shared projects
Administrators can set permissions for groups of users to access a project from the
(see Setting project security).
When you enforce security on a decision service, the security settings do not apply to shared
projects in this decision service. You must set the permissions for these shared projects
manually.
The security settings that you apply for a shared project are available to all decision services
that references this project.