Shared Process

Overview

A shared process is a process that can be shared by multiple services. When a shared process is updated, the changes will instantly reflect in all services based on that shared process. It is advisable to use a shared process when there is a set of services that performs the same thing except for smaller deviations in the workflow (and in some cases in the forms). Creating a new shared process involves the same steps as for a new blank process, with the addition that a shared process can also have something called a Setup Form. The setup form is shown in the service creation wizard when creating a new service based on the shared process and is used for collecting data that can be fed into the process.

AdminWebSharedProcess

Image illustrating two services sharing the same process. The workflow settings in the service can affect the workflow in the shared process. E.g. the workflow setting "Group_Photoshop" in a service tells the workflow in the shared process to add the selected Computer to that AD Group.

Shared Process settings

Creating a shared process is very similar to creating a process for a service, but there are some settings that are configured per service and some that are generic for all services based on the shared process.

Catalog Setting Adminweb section(where you edit setting)
Cost Service
Monthly Cost Service
Tag Service
Page Service
Hide in service catalog Service
Recommended Service
Hide image gallery Service
Owner Service
Visible for roles Service
Allow user to change orders quantity Shared Process
Allow shopping cart Shared Process
Use custom text for order button Shared Process
Hide submit button Shared Process

Tip

It can be useful to add a description and how-to details in a shared process to help another administrator in their decision of whether they can use an existing shared process for a service or not.

Setup Form

The setup forms shares variables with the process, what setup form allows you to do is to generate "default" values for variables which are set when saving and publishing the shared process.

You can currently use the following form elements

  • Text field
  • Drop down list
  • Checkbox
  • Text block

Tip

You can use a dynamic data source from the drop down list.

Example - Create a Software Group Shared Process

In this example we will create a shared process which will include a form where you can search for a Active Directory user from a dynamic drop down.

Create a shared process and configure the order form

We add a dynamic data source to a drop down list and bind it to a variable called Identity.

Configure Setup Form

In the setup form we add a dynamic data source to a drop down list and bind it to a variable called ADGroup.

Configure Workflow

In the workflow we create a variable called ZPActivityStatus, this is because the status result of Add-ZPADGroupMember output the key ZPActivityStatus. Then we add the activity Add-ZPADGroupMember to the workflow and bind the parameters for Identity and Group to the variables we created.

Create service based on shared process

We create a service called "Software Group A" and select the AD group called "gg-SoftwareGroup-A" from the dynamic drop down.

Now we have a service that will add a AD user as a group member of the software group selected when creating the service. It is now easy for a administrator to add additional services based on the same process. You might want to have several services with different icons depending on what type of application, but the process of adding a user to a AD group is just the same.

Example - Approval based on checkbox in shared process

There are cases where you which to make your shared process more dynamic, it could be that sometimes a service should require an approval from the users manager.

Setup form

Process Setup

Workflow

If the created service has checked the checkbox to true, it will perform the "Approval" activity.

Tutorial

Software License Shared Process