Specifying dependent services
As a service catalog administrator or an internal service supplier administrator, you can add dependencies to new or existing services in BMC Digital Workplace Catalog.
When end users request the dependent (child) services in BMC Digital Workplace, they are prompted to also request the parent services that are mapped to these child services in BMC Digital Workplace Catalog. A dependent (child) service request can be completed only after a corresponding parent service request is completed.
The following illustration shows the options of setting up dependencies between services:
- You can map a dependent child service to a parent service.
- You can map multiple dependent child services to a parent service.
- You can map a dependent child service to multiple dependent parent services.
You cannot map a dependent service to bundles and services with multi-request questionnaires.
Example: Checking dependent services while requesting an Internet of things (IoT) device
The following diagram shows a dependency definition that requires a user to fulfill two service requests before completing the IoT device service request. In this example, the user creates an IoT logger service request, and provides details for an existing IoT storage service request.
Impact of service dependencies on actions in BMC Digital Workplace
When you add service dependencies, the following actions are changed or restricted in BMC Digital Workplace, so that the dependency works as expected:
|Action||Dependent service||Service with dependent services|
|Add to cart|
The dependent service is also added to the cart.
The services dependent on this service are also deleted. For example, an end user requests Magic Mouse and is prompted to request an Apple computer. If the end user deletes the request for the Apple computer, the request for Magic Mouse is also deleted.
Restricted availability of select service actions for BMC Digital Workplace Catalog users
Some actions are not available on services that are added as dependents, so the dependency works as expected. For example, if the catalog administrator adds an unrequestable service as a dependent, end users will not be able to request the service. Also, end users will not be able to perform these actions on services after the actions are added as dependents.
|Action||Dependent service request||Service request with dependent services|
|Unrequestable||Not available *|
|Unpublish||Not available *|
|Republish with external fulfillment or no workflow||Not available *|
* To perform this action, remove the service from the dependency mapping for all other services.
To add a service as a dependency
- In BMC Digital Workplace Catalog, go to Services > Services, and open a service.
- Next to Workflows, click Edit.
Next to Dependency Mapping, click Add Service.
From the Service Catalog list, select one or more services, and click Add.
To set up the mapping of the variables in parent and child services, click Add mapping.
Map the output variables of the parent service to the input variables of the child service you want to make dependent.
Output and input variables are taken from the service workflows:
- A workflow of a parent service must include the output variables to make a dependency valid.
- A workflow of a child service must include the input variables to make the dependency valid.
The workflows of the dependent services trigger each other by using the workflow variables.
The following illustration shows an example of the output variables from a service workflow:
The following illustration shows an example of the input variables from a service workflow:
- The total number of potential variable mappings is restricted to the number of inputs available in the service that you are editing.
Each output variable of the dependent service can be used multiple times for mapping to input variables of the current service (or other services that depend on it), but each input variable of any service can be mapped only once to any output variable.
To create input and output variables, see Adding process input variables to a workflow.
- Verify that all the required mappings between the dependent service and current service are complete.
- Click Save and Close.
To enable the auto-add feature
If you enable the auto-add feature in BMC Digital Workplace Catalog, dependent services are automatically added to new service requests when end users create them in BMC Digital Workplace. What services are considered to be dependent and need to be auto-added is defined by the service mappings in BMC Digital Workplace Catalog.
The auto-add feature is disabled by default. You can turn it on after you upgrade.
If the auto-add feature is not enabled, BMC Digital Workplace users add dependent services on an individual basis when they create service requests.
- In BMC Digital Workplace Catalog, go to Application Settings.
Turn on the Auto-add dependent items to new requests toggle.
- Click Save.
The feature is enabled globally for all services with dependencies and all versions of this services that you have in the catalog. When a user in BMC Digital Workplace requests a service with dependencies, the auto-add workflow is applied.
Auto-add workflow in BMC Digital Workplace
If the Auto-add dependent items to new requests feature is enabled in BMC Digital Workplace Catalog, the following request workflow is provided to end users in BMC Digital Workplace:
- When an end user creates a request for a service that has dependent services, the end user receives a notification about auto-add of a dependent service or several related dependent services. For example: Two dependent services have been automatically added.
The auto-added dependent services are automatically configured as follows:
Type of service Type of request A child service with no previous parent service request.
When a user requests such a service, BMC Digital Workplace automatically defines the current parent service request as a New request.
A child service with one previous parent service request.
When a user requests such a service, BMC Digital Workplace automatically defines the current parent service request as an Existing request. The previous parent service request ID is selected.
A child service with multiple previous parent service requests. No automatic configuration is applied. A user must manually define the service request as a New request or Existing request. For Existing request, a user must choose a parent service request from the multiple previous parent service requests.
The auto-add feature is applied if an end user creates a request on behalf of another user from the service profile; however, it cannot be applied if an end user submits a request on behalf of another user from the cart.
For more information about requesting services on behalf of other users, see Requesting services on behalf of other users.
- The end user is prompted to configure the dependent services, as shown in the following illustration:
The end user can modify the configuration of dependent services by clicking the Change button next to the request and selecting one of the following options:
- New request: This option enables the user to configure a dependent service request as a new request.
- Use existing: This option enables the user to choose an existing request with a previously requested dependent service and use it in the current request.
- When the end user submits the service request, a child service and all dependent parent services with the applied configurations are submitted in one request package.