Terminology
Summary
- Service
- Form
- Dynamic forms
- Workflow
- Variable
- Variable List
- Parameter
- Process
- Activity
- Data source
- Drop Down
- Package
- Module
- Provider
- Field
- Webservice
- Plugin
- Shared Process
- Example Service
- Task
- Approval
- System Variable
- Grouped Activity
- Data Train
- Page
- Tags
- Roles
- Service List
- Service Catalogue
- Table
- Shared List
- Store
- Email Template
- Task Form
- Approval Form
- Order
- Zervicepoint JavaScript API
- Zervicepoint Powershell API
Service
Users find and order Services in ZervicePoint. A service consist of a Process and metadata (Catalog info) for the service. Examples of metadata for a service is Name, Description, Image and Cost as well as Tags and Pages. (In a broader sense service may refer to process + service above. For example when we talk about Service design, we mean design of both Service and Process.)
A service is executed by filling out a form. The information entered in the form is passed to a process where different process activities treats the information and execute tasks such as creating a user, install an operating system or grant access.
Form
A form is a collection of Fields to be filled out by the requester. Form fields can be grouped together and divided into sections to make it more user friendly and logical. ZervicePoint offers a form designer where forms can be created by dragging and dropping the fields to a canvas. A service always contains at least one form, the order form. But it is possible to create other forms to be used for Tasks (either Approval or Manual).
Dynamic forms
If a form contains Javascripts or dynamic drop-downs it can be called a dynamic form. A dynamic form can set and retrieve information from various datasources using Client Web Service or dynamic drop-downs. A dynamic form can transform form elements to behave differently depending on choices made in other form fields. Eg. Hide or show form fields. Combining these features can make the form extremely powerful and user friendly. It may also ensure that the data is validated before submitted to the process.
Workflow
A Workflow consist of a number of Activities that are run in order when a Service is ordered. Information is passed from the Form to the Workflow via Variables.
Variable
A variable is a container carrying information through the process. A form field bound to a variable will populate it’s value to the variable when the service is ordered. This variable can then be used as input to process activities or bound to be displayed in form fields in other forms such as the approval.
A variables value can be changed by process activities during the process. This is called overwriting a variable.
A process activity can not access information in a variable if the variable is not bound to one of the activities input parameters.
There are 6 types of variables: String, Boolean, Decimal, DateTime, File and Translation
Type | Example | Description |
---|---|---|
String | Contoso | A string of text. Typically used for TextFields and Drop downs. |
Boolean | true | True or False. Typically used with checkboxes. |
Decimal | 10 | A number. Typically used with TextFields that requires a number input. |
DateTime | 11/11/2020 | Date and time. Typically used for the Date picker. |
File | bfb879e3-64d5-4fb2-a457-3df33643cbb3 | Typically used with the File upload field. The id can be used to retrieve the uploaded file with our API (Get-ZPMedia and Get-ZPCartFile). |
Translation | Hello world. | A string of text which will change depending on the reader's culture setting. Work with translation variables |
A variable can be partly or completely masked, like a password:
The user fills out the field bound to the masked variable:
The value is then masked in the user's order history:
It is also masked in the Order Manager:
Variable List
In the variable list you can see all the variables that have been created for the service and at the bottom you have the System variables. On the far right you can click the cross to delete a variable but this is only available if the variable is not bound to any field or activity.
In the table below you can see all system variables that are available throughout the whole service.
Name | Example | Description |
---|---|---|
System.Object.Id | 6a76cf4f-6ead-44b7-ab6f-01f9608bf80b | Used only for actions in Table pages and represents the selected row. |
System.Order.Id | 102 | The order number. |
System.Order.CorrelationId | 4e9d55a3-c68f-4d06-aefc-dea94d1530c8 | Identifier representing the cart that the order belongs to. |
System.Order.OrderDate | 11/13/2019 | The date when the order was placed. |
System.Order.Cost | 100 | The cost of the order. |
System.Order.MonthlyCost | 19 | The monthly cost of the order. |
System.Order.Quantity | 2 | The quantity of the order. |
System.ServiceOwner.Email | anna.loof@contoso.com | The service owner's email address. |
System.ServiceOwner.Name | Anna Loof | The name of the service owner. |
System.ServiceOwner.Username | aloof | The user name of the service owner. |
System.Requester.Email | sam.smith@contoso.com | The email address of the requester. |
System.Requester.Name | Sam Smith | The name of the requester. |
System.Requester.Username | sasm | The user name of the requester. |
System.Receiver.Email | max.law@contoso.com | The email address of the receiver. See Set receiver |
System.Receiver.Name | Max Law | The name of the receiver. |
System.Receiver.Username | mlaw | The user name of the receiver. |
System.Process.Id | 121 | The id of the process. |
System.Service.Id | 112 | The id of the service. |
System.Service.Identifier | editUser | The identifier of the sevice. |
System.Service.Name | Edit User | The display name of the service. A translation string. |
There are additional system variables that are only available in special contexts: Task variables
Parameter
Most process activities requires input to work properly. A process activity can have one or more inputs. These inputs are called parameters.
Let say there is a Powershell function called Set-LightBulb
that changes the color of the light in the room. This is how that function is called:
Set-LightBulb –Color Red
Color
is the name of the parameter and Red
is the value we pass to it.
Process
A Process consist of one or more Forms and a Workflow.
Activity
An Activity in ZervicePoint is a building block when creating a Workflow. Activities are the things that "do the work" and make things happen in your Workflow. An Activity can be either one of the built-in activities shipped with ZervicePoint, Activities made available by buying a Plugin or a custom Activity that you have built yourself.
- Built-in: Examples are Send Email, Set State, Assign, Approval etc. Part of the core product. Runs on Process System.
- Inventoried: Examples are New-ADUser, Enable-S4BUser, Get-ZPO365User. Scripts from disk. Can be custom made or from plugins. Runs on Provisioning System.
Data source
Data sources are used in your Forms to dynamically fetch data and display it to the one ordering the Service (the Requester). The different types of data sources are Drop Downs, Webservices and Tables.
Drop Down
DropDowns are Form components. They can either be dynamic or static. There are two kinds of Drop-Downs:
- Dynamic: These are fed by Powershell scripts. Searches are done directly in the target system.
- Static: The options in static dropdowns are defined in the Zervicepoint process
Package
A Package is a collection of Activities and/or Data sources. In practice it is a configuration item with a name on the ZervicePoint server that points to a location that will be inventoried for custom Activities and Data sources.
Module
A Module is different things depending on if the Activity or Data source is created in PowerShell or .NET. For PowerShell it is the actual PowerShell module but for .NET it is the class containing the Activity/Data source.
Provider
Same as Activity.
Field
Form Fields are various data fields available for use in your forms. They can be a variety of data formats (text, checkbox, etc.)
Webservice
A Powershell script or .NET library triggered from a form in Zervicepoint. Must be triggered by a Javascript.
Plugin
A collection of Activities and Data sources often handling the same target system or API.
Shared Process
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 includes a "Setup form" which can be to a set of variables for the service created using the shared process.
Example Service
An example service is typically a service included in our zervicepoint plugins. It contains use-cases for how the plugin could be used.
Task
Activity that generates an task to one or several users. By default the workflow will not continue after the due date is passed. When the task is completed the workflow will continue. A task have a predefined set of states, several states and include additional activities within its "OnChange" event.
Approval
Activity that generates an approval task to one or several users. By default the workflow will stop after this activity if the task is not approved by the appointed approver(s) before the timeout. The workflow can contain several approval activities.
System Variable
Variable which is populated by zervicepoint. Some variables are only available in a specific activity, such as System.While.IterationCounter is only available within a While activity. Another example is System.Store.Url being available in e-mail templates.
Grouped Activity
Grouped activities are activities or activity sequences that can be inserted into process workflows and shared between multiple processes. Grouped activities typically have input parameters with static values or values bound to process variables, and output parameters bound to process variables.
Data Train
The data train typically refers to how input data from the order form, may get updated/used in the workflow and in other forms(Task/Approval).
Page
Pages are used to organize the service portal.
Tags
Tags are used to associate services with a keyword.
Roles
Roles are used for authorization to services or access control to admin web components(i.e OrderAdmin role for viewing orders).
Service List
Service List is a section that can be added to a page, in order to display services that are associated with this page.
Service Catalogue
Same thing as Service List, generally used in context of software/hardware services.
Table
Tables can be used to display a table with data from your own data source. It is also possible to add actions to each displayed row. It's a section that can be added to a page.
Shared List
Shared list can be used to store custom data within zervicepoint instead of another database.
ZP Management API PowerShell cmdlets for managing shared lists.
- Get-ZPList
- Get-ZPListItem
- New-ZPListColumn
- New-ZPListItem
- Remove-ZPList
- Remove-ZPListItem
- Set-ZPList
- Set-ZPListItem
Activites that can be used to add/update a shared list item.
- Add shared list item
- Update shared list item
Store
A Store in Zervicepoint is where the services, email templates, settings and mostly everything lives. It has it's own unique URL and can have it's own authentication methods. A Zervicepoint installation can have one or several stores with their own content.
Email Template
An Email template is a template for emails that can be used in the workflow of a service. It uses variables, indicated with {} to inject values in selected spots of the email. Email templates has language support and if the receiver has a language preference on his/hers profile in Zervicepoint and the email template has a matching translation the user will receive the email in the selected language.
Task Form
A task form is used on a Manual task activity. When the assignee opens the task the task form is shown.
Approval Form
A task form is used on a Approval activity. When the approver opens the task the approval form is shown.
Order
An order is placed when a user clicks the Place Order button. It can be tracked in the Order Manager in admin web.
Zervicepoint JavaScript API
Our Javascript API can be used to make changes in the forms. Read more about the JavaScript API here.
Zervicepoint Powershell API
Our Powershell API can be used to do almost everything that you can do in Zervicepoint. Read more about the Powershell API here.