Authoring Processes
A process is basically a constructed workflow that consists of activities, invocations of child processes, and logic components that can be included to complete the process. Cisco Process Orchestrator allows you to automate IT processes based on your organizational requirements using a workflow format. The Process Orchestrator also includes many predefined processes in its packaged automation packs.
Processes can be viewed from both the Operations and Definitions workspaces:
- The Operations workspace displays scheduled and running processes. This workspace displays the Activity Views, Process Views, and Target Views. These views display the execution progress of the process instances.
- The Definitions workspace displays the defined processes and provides options to edit existing processes and define new processes. From the Processes View, you can also execute processes and view the status of a process in progress.
The following sections provide information about creating and managing processes:
Working with the Definitions Workspace
The Getting Started > Definitions view displays all the components that are used in defining and executing processes. This view contains items that are used to define the various components that are included in processes.
The Results pane displays task shortcuts information in the Results pane that guides you through using the features in the Definitions workspace.
The following tasks can be performed from this view:
- View Current Processes—Displays the Processes view where users can view and manage the defined processes
- Create a New Process—Launches the Process Editor dialog box which is used to view define the properties for a new process and construct the process workflow
- View Operations—Displays the Operations workspace that shows what processes are in progress, scheduled or have been completed.
Accessing the Process Editor
Cisco Process Orchestrator simplifies process creation using a drag and drop workflow designer. The Process Editor allows you to drag activities, workflow activities (logic), or processes you want to invoke into a process definition where you want it to occur. The Process Editor dynamically accepts the new addition and shows the resulting logic.
Unlike drag-and-wire approaches common to other Process Orchestrators, the logic of the process is always clear, without having to constantly modify the layout as the process definition evolves. This makes it easier for other operators to view or edit processes that have previously been created. You can also collapse sections of the workflow that are not currently of interest.
Use the Process Editor to:
- View and modify the properties of an existing process
- Define properties
- Construct a workflow for a new process
Note The procedure to access the editor depends on the task to be performed.
To access the Process Editor:
- If you are creating a new process, choose Definitions > Processes, right-click and choose New > Process.
Note The New button on the Actions toolbar is not available if a process is highlighted in the Processes Results pane.
- If you are modifying an existing process, on the Processes Results pane, right-click the appropriate process, then choose Edit.
The Process Editor opens.
Toolbox Pane
The toolbox pane on the left side of the editor includes these views. The navigation items displayed in the toolbox depend on the view that is selected.
|
|
Activities |
The Activities view displays the list of activities that are used to construct the process workflow. The activities that display depend on the adapters that are installed. |
Processes |
The Processes view displays the list of defined processes that can be included in other processes. To add an existing process to a new process, drag and drop the appropriate process onto the workflow pane and define the criteria for execution of the process. |
Logic |
The Logic view displays the list of workflow components that support or define the workflow logic and provide control over the execution of the workflow logic. For information about configuring the logic components, see Adding Logic Components to a Process |
Favorites |
The Favorites view allows you to choose commonly used items from all the other tabs. For example, if you often use AMQP activities and some of the core activities, you can add them all to your Favorites tab. Then, instead of having to locate the activities in the activities tab, they can be quickly located in Favorites tab. Similarly, if you have favorite processes or logic items, these can also be added to the Favorites. |
Workflow Pane
The Workflow pane is a canvas located in the center portion of the Process Editor (see ). Use this area to create processes by dragging and dropping activities, other processes, and components from the toolbox onto the canvas.
Process Orchestrator ships with automation packs that contain built-in process definitions that cannot be modified. If you select one of the shipped processes, a limited version of the Process Editor displays only the workflow pane and properties pane; the Toolbox pane in the Process Editor is not displayed.
Process Pane
The Process pane is located on the right side of the editor and displays the properties for the selected process, as well as selected activity, child process, or workflow logic element properties.
Toggling the Process Editor View
In the Process Editor view, you can toggle the view between the process property pages and the activity view pages. To switch to the process properties, use one of the following options:
- Choose File > Process Properties.
- In the Workflow pane, click anywhere outside of the activities in the workflow.
Expanding the Workflow View
To expand the workflow, use one of the following options:
- Choose View > Expand OR on the toolbar, click the Expand
tool.
Collapsing the Workflow View
To collapse the activities in the Workflow pane, use one of the following options:
- Choose View > Collapse OR on the toolbar, click the Collapse
tool.
Creating a Basic Process
Before You Begin
Identify any drag-and-drop objects in the toolbox that will be required by your new process.
Step 1 Choose Definitions > Processes, right-click and choose New > Process.
Step 2 On the Process Properties pane, define the process properties.
Note Because Process Orchestrator no longer enforces uniqueness of object names, two content authors can create and ship automation packs or processes with identical names. As a result, a customer importing both automation packs will have two seemingly identical processes. To avoid confusion to the customer, use a namespace (a unique prefix) when naming objects. However, there are no technical issues with having duplicate process names.
Step 3 On the Toolbox pane, drag and drop the appropriate items onto the workflow pane (see Toolbox Pane).
Step 4 On the Properties pane, define the properties for each object selected on the workflow pane. The available property pages are determined by the selected objects.
Step 5 When all of the property pages are complete, click Save to save the process.
Exiting a Process Without Saving
If you exit a process without saving first, the Save Changes confirmation dialog displays, asking you “Do you want to save the changes to this process?”
- If the process is already locked, the Save Changes dialog will ask you if you want to unlock.
- If it is not locked, it will prompt you to lock it.
Understanding the LOCK Mechanism
There may be multiple users using different consoles connected to the same Cisco Process Orchestrator environment. Therefore, it’s possible that you can edit the same process that someone else is working on it. In such a case, either one of you could overwrite the other person’s changes. To avoid situation like that, we provide the “LOCK” feature so you can lock the process and work on it. Others won’t be able to change the process until it is unlocked.
Reverting Process Changes
This option is used when changes have been made to the process definition, but are no longer necessary. It deletes all changes made since you last saved the process. If you have saved the process and have not made any additional changes, no action will be taken.
To reverse process changes, choose File > Revert.
The process reverts back to the last saved version of the process. All new activities, components, and other changes are removed from the process definition.
Selecting the Target Type on Which a Process Acts
Process definitions control the target types on which they act. This selection supports inheritance.
Step 1 Open the process in the Process Editor (see Accessing the Process Editor).
Step 2 Click the Target tab, then click the target types on which this process can run.
Note Target group can be set at both process and activity levels. However, when an activity is set to run on a specific target group, it must be accompanied by an algorithm to limit to a particular target. Otherwise, the activity will run on any target in a group.
For example, assume that an SQL Server 2008 type provides a more specific implementations of an SQL Server Database through inheritance. All process that can run on an SQL Server Database run against a SQL Server 2008; a SQL Server 2008 “is a” SQL Server Database.
To view the processes that run on a given target type or target instance:
Step 1 Choose Definitions > Target Types, highlight a target type, right click and choose Properties.
Step 2 Click the Processes tab. The list shows the processes that can be executed against this target type.
Adding an Invocation of an Existing Child Process
Before an existing process is available in the Processes pane of the Process Editor and can be used in another process' workflow, the Started by Parent Process trigger must be defined in that existing process.
Before You Begin
- Confirm that the process you want to invoke includes the trigger, Started by Parent Process.
Step 1 Choose Toolbox > Processes, then highlight and drag the appropriate process to the Workflow pane.
Step 2 On the [Child Process Name] Properties property sheet, click the General tab and modify the general property information.
Step 3 Click the Target and Credentials tabs and modify those properties as needed.
Step 4 Click the Inputs tab in the [Variable Name] field and modify the parameters for executing the child process. If the process does not have any input variables, the page will be blank.
Step 5 Click Save to save the child process definition.
Adding Variables to a Process
You can assign variables to the process when you use something multiple times. For example, if there is a person who must always be first approver, you can create a variable with the details of the person so you don’t have to re-enter the email address in the activity properties; you simply reference the variable.
Step 1 On the Process Properties pane, click the Variable tab.
Step 2 Click New > [Variable Name] to create a variable for the process and specify the appropriate information to create the variable.
Step 3 Click OK to close the dialog box.
Working with Target Reference Variables
A target reference variable is, simply, a variable that references a target. For example, assume you have a Windows target. If you then want a variable to point to that Windows target, you would create a target reference variable.
Here’s an sample scenario: You might use a Target Reference Variable for a process that has activities (such as, “Select From SQL Server”) that need run in a different target other than the one included in the process. For example, you might create a process that runs in a “VM target” or an “Open Stack Sever Target.” But at some point in the work flow, an activity will call the “SQL Server Database Target.”
So, could run a process against a target reference variable, or an activity within the process, or optionally, you don’t have to run any process against it at all.
To create a Target Reference Variable, follow the steps below:
Step 1 Select Definitions.
Step 2 Right-click Global Variable.
Step 3 Select New > Target Reference Variable.
Step 4 Create or modify a Target Reference Variable, as needed.
Step 5 Save the variable.
Note You can now use this variable when creating a new process. See Creating a Basic Process for more information.
About the References Dialog
The References dialog is where you can view the references for the selected variable. This allows you to find all references to a particular process variable in a workflow. It locates all the references to the variable within the workflow and provides the paths to those nodes.
To access this dialog, you follow this path:
Step 1 Go to Process Properties.
Step 2 Select the Variables tab.
Step 3 Right-click on the variable you are interested in.
Step 4 Select Find References.
Step 5 Review the list of nodes that reference the associated variable, as needed.
Step 6 Click OK or Close to close this dialog.
Note To see additional information on the associated references for a particular variable, select the reference and then click the Properties button before closing this dialog.
About the References Properties Form
When you click the Properties button on the References dialog, this Reference Info dialog displays, showing you the following information for the selected variable:
– Name
– Type
– Path
To close the Reference Info dialog, click OK or Close.
Authoring Task Activities
Task activities allow the creation, manipulation, and deletion of tasks within process workflows. They allow processes to interact with task records.
There are two primary types of tasks:
- IT process records tasks include the alerts, incidents, and change requests. For more information, see IT Process Records.
- Human interaction tasks are steps in a workflow where a human needs to take action. For more information, see Human Interactions.
Authoring Task Activities
A process workflow consists of one or more activities that can be executed by the product. An activity definition contains actions and any other information required for the product to execute it.
To add an activity that creates a new task or acts on an existing task within a process workflow:
Step 1 In the Process Editor, choose Toolbox > Tasks, choose the appropriate activity, then drag and drop the activity onto the Workflow pane.
- Use IT Records activities to create workflows that handle basic IT functions. To access these activities, choose Toolbox > Tasks - IT Records > [Activity Name].
- Use user interaction activities to create workflows that handle functions that require human interaction. To access these activities, choose Toolbox > Tasks - User Interactions > [Activity Name].
Step 2 Click the General tab and enter the required information.
Step 3 Click the Automation Summary tab to define the properties specific to the activity, including:
- Automation summary style sheet—Select the type of template to be used for the automation summary.
– Table of Configuration Properties
– Situation Analysis Report (default)
- Include the following items—Select the activity or trigger/event, since events and triggers can be included into the automation summary as well, and specify the section of the automation summary to include the reporting details and whether the activity is the root cause of any issues that are detected.
– Name—Name of the activities that are included in the process
– Section—Name of the section of the automation summary where the data will be stored
– Root cause—Yes indicates the Is the root cause check box is checked
- Section—Specify the section of the automation summary template in which to export the data:
– SituationAnalysis—After a situation that requires action is identified, the state and diagnostic information is displayed in the Situation Analysis section of the automation summary.
– ContextAnalysis—After a situation is analyzed in context with other situations, the symptom and cause is displayed in the Context Analysis section of the automation summary.
- Is the root cause—List the activity or event at the top of the automation summary, or identified as the root cause of the problem.
- Last instance information only—Indicate that the automation summary must include only information for the latest execution of the activity instance.
This setting is only for activities that are inside the loop of a workflow component (While or For Each). If this setting is not selected, the automation summary will include information about all instances of activity, for all iterations of the loop.
Step 4 Click the Affects tab to specify the elements that trigger the selected target:
- This alert applies to the following target— Specify the affected target to be used in the activity.
- Process target—Use the process target as the affected target in the activity.
- Activity target—specify the affected target for a specific task activity.
– Activity target—Select the activity containing the target that will be used. Only task activities will display in the list.
– Target reference—Reference to a target of a specific type.
– Specific target group—Specify the affected target group that will be used.
To view the properties for the selected target group, click the Properties tool. To create a new target group, click New > [Target Group].
From the Choose a target using this algorithm drop-down list, specify which target will be chosen from the eligible target group members.
Target Algorithms
Choose all targets that satisfy the specified criteria—Executes the process on all targets defined by the criteria specified in the Target Selection dialog box.
Choose any target that satisfies the specified criteria—Executes the process on any targets defined by the criteria specified in the Target Selection dialog box.
Choose the target with the specified name—Executes the process on the member of the group specified in the Name to match text field.
Select SAP target with the specified System ID—SAP System runs target against the SAP System database connection
– Choose the target with the specified name—Runs the process on the member of the group whose name is specified in Name to match.
- This alert applies to the following configuration item—Specify the configuration item to be used in the activity
- Name—Name of the configuration item (IT component) to which the alert pertains. For example, the name of a database server that failed or the name of a specific job that failed.
- Type—Enter the appropriate configuration item type or select the type of ITIL configuration item (IT component) from the list which the alert describes. For example, the type of the specific application element that failed (Application Server, Database, Host, or User).
- This is a CMDB reference—Indicate that the true source of the CI is in the CMDB, so the configuration item properties reference a CMDB entry.
- Object key—ID for the specific record in the CMDB that contains the configuration item
- Object source—Name for the specific record in the CMDB that contains the target configuration item
- Affected services—IT Service affected by the alert or incident
- Affected organizations—Organizations that consume the IT service affected by the alert or incident
Step 5 Click the Assignment tab to modify individuals or groups of individuals assigned to the task and other assignment properties.
- Alert assigned to—User names assigned to the task
– Add—Click Add to launch the Select Identity dialog box to add a user name to the list.
Type the name of the assignee or to search for the assignee, click Browse to launch the Select User or Group dialog box to select the name of the person.
– Remove—Select the user name and click this button to remove the user from list.
- Alert priority—Indicates the priority of the task
- Set alert resolution due time period —Check the check box and select appropriate date the task should be completed from the drop-down calendar.
- Set alert expiration time period—Select the appropriate date the alert should expire from the drop-down calendar.
- Do not complete this activity until alert resolved—Check the check box if you do not want this activity to be complete until the alert is resolved.
Step 6 Click the Parameters tab to define parameters for a specific task.
Step 7 Click the Duplicate tab and enter the time period the alert should be resolved if the alert properties match another alert.
Step 8 Click the Categories tab to:
– Assign a category to the task or change existing category assignments.
– Check the Task should inherit process categories check box to inherit the categories assigned to the process.
Step 9 Click the External tab to specify the external incident management system information to support the synchronization between Process Orchestrator and the system that the customer is using.
Step 10 Click the Web Form tab to apply a specific XSL transformation to the task XML. XSLT transformation is used to convert XML text to the HTML web pages used by the Web Console (see Chapter9, “Performing Basic Console Tasks”)
Step 11 Enter the information in the remaining tabs as necessary, then click OK to complete the task definition.
Step 12 Click Save to save the activity definition.
The following table summarizes the available task activities.
Table 5-1 Summary of Task Activities
|
|
Assign Task |
Modify the list of assignees for a task. On this activity, tasks can be assigned to a user or group of users. Users can also remove current assignees from tasks. |
Correlate Alert |
Watch for alerts raised before or after a process starts and that are related to data from the process, such as its trigger, input parameters, activity outputs, or other elements referenced from the process workflow. See Defining the Correlate Alert Activity. |
Create Alert |
Create alerts to reflect potential problems that a user may want to investigate and possibly diagnose the problem. |
Find [Task] |
Find tasks that were created in the product and that match the specified criteria. See Viewing Find [Activity] Results. |
Publish Task to Event Log |
Retrieve task information and publish it to the Cisco Process Orchestrator Tasks event log on the Process Orchestrator server. |
Update [Task] |
Update the properties for a specific task. The properties for the tasks can be updated using their respective activities in the Toolbox pane. To update the properties for a specific task, specify the task ID and select the property to update within the task. |
Wait for Task to Enter State |
Wait for a task to match a specific state before the activity continues. If the task reaches a completed state without matching, or if the duration expires without matching a specified status, then the activity succeeds without matching. See Viewing Wait for Task to Enter State Results. |
Defining the Correlate Alert Activity
Use the Correlate Alerts activity to check whether an alert occurred within a certain amount of time.
Step 1 In the Process Editor Toolbox, choose Tasks - IT records > Correlate Alerts and drag and drop the activity onto the Workflow pane.
Step 2 Click the General tab and enter the appropriate information.
Step 3 Click the Alerts Criteria tab and enter the following information:
- Correlate alerts that occur within—Enter a value and select the time unit to indicate the length of time to wait before or after the process start time.
– Time unit – Enter the start time value in minutes or seconds
– Event occurrence – Determine whether the process start time is before or after the alert occurs
- Number of alerts to correlate—Select one of the following options to specify which alerts to wait for before the process continues:
– All alerts in the above time frame – Select this option to wait for all alerts that match the specified criteria before the process continues.
– Number of alerts – Select this option to wait for the specified number of alerts to occur before the process continues. Enter the number of alerts to wait for in the text field.
Step 4 Enter the information in the remaining tabs as necessary, then click Save to complete the activity definition.
Task Properties That Task Activities Manipulate
The following table summarizes the types of changes you can make to task properties within a task activity in your process workflow.
Table 5-2 Summary of Common Actions Against Tasks That Can be Defined in a Process
|
|
Modifying automation summary properties |
Define the properties used to capture relevant diagnostic and state information about the process execution. On the activity property page, click the Automation Summary tab. This tab is available only in these activities:
- Create Alert
- Update Alert
- Create Change Request
- Update Change Request
- Create Incident
- Update Incident
|
Adding an assignee to a task |
Change the assignee or other assignment properties for the activity. On the activity property page, click the Assignment tab. |
Assigning duplicate criteria for a task |
Define the criteria to indicate that the alert is a duplicate. If the alert is a duplicate, the new alert is automatically resolved as a duplicate and linked to the original alert as a related task. On the activity property page, click the Duplicate tab. This tab is available only in these activities:
- Create Alert
- Update Alert
|
Removing an assigned duplicate property |
Remove a task property from the duplicate criteria. On the activity property page, click the Duplicate tab, then click Remove. One field will always remain. The Remove button removes the last property added to the list. For example, you cannot remove Parameter 4 without removing Parameter 5 from the list. To keep Parameter 5, update Parameter 4 with the information from Parameter 5, then click Remove to remove Parameter 5 from the list. |
Adding a related alert |
Assign alerts that the incident originated from. On the activity property page, click the Related tab, click Add then, enter the Alert ID or click the Reference tool to search for the alert property to add to the list. |
Debugging Task Activities
The actions in this section demonstrate things you can do when viewing an activity that created a task or that manages tasks. For example, you might do them when you want to view a process workflow that actually ran and look at a specific task-related activity in the workflow.
Viewing Correlated Alert Results
When the Correlate Alerts activity is launched, the alerts that were found by the activity are displayed from the Operations Workspace activity instance view.
Step 1 Choose Operations > Activity Views.
Step 2 Highlight the Correlate Alerts activity instance, right-click and choose Properties.
Step 3 Click the Correlated Alerts display-only tab to view the alerts collected by the Correlate Alerts activity.
Viewing Find [Activity] Results
Use the following steps to review the results of the query generated by the Find Alerts, Find Change Requests, and Find Incidents activities.
Step 1 On the Operations workspace, click the Activity Views folder.
Step 2 Highlight the Find [Activity] activity instance, right-click and choose Properties.
Step 3 Click the Results display-only tab to view the list of alerts, change requests, and incidents queried by the Find activity.
Viewing Wait for Task to Enter State Results
When the Wait for Task to Enter State activity is launched, the matching tasks that were found by the activity are displayed from the Operations Workspace activity instance view.
Step 1 On the Operations workspace, click the Activity Views folder.
Step 2 Highlight the Wait for Task to Enter State activity instance, right-click and choose Properties.
Step 3 Click the Result display-only tab to view the status values matched by the Wait for Task to Enter State activity.
The following information is displayed:
|
|
Result |
Values for the task state
- Unknown—Indicates activity is running or has failed to complete
- Timed Out—Activity timed out without matching
- Task Completed Without Matching—Task has reached a completing state that was not a state that was not included we were attempting to match on.
- Matched—Status was matched by the task
|
Matching Status |
Indicates the status that was matched |
Publishing Automation Summaries
An automation summary is a collection of data that summarizes the actions taken and data retrieved during the execution of the process. To publish an automation summary:
Step 1 Add a Create Automation Summary activity to the process workflow.
Step 2 Configure which activities from earlier in the workflow to publish in which sections of the document.
Technically, automation summaries are XML files that are published on a share or web server. The path or URL is then available to be linked from anywhere. This architecture makes them available for integration into virtually any context.
Automation Summaries are a key integration tool. For example, they can be placed in incidents in the Service Desk to reveal the analysis of the automation that was performed, or they can show how an incident was resolved.
Adding Logic Components to a Process
Insert process logic components into a process to support or configure the process logic and provide control over the process execution.
The following table summarizes the types of logic components and when to use them.
Table 5-3 Summary of Logic Components
|
|
Completed |
Signal the completion of an activity and terminate the process. The component ends the workflow and sets the state of the workflow to Succeeded, Failed (Completed), or Failed (Not Completed). |
Condition |
Execute one of the defined Condition Branches in a process. It checks conditions for each of the branches, in order from left to right, and executes the first Condition Branch whose condition is true. |
Condition Branch |
Create a branch in the process and execute the branch only if the specified condition is met. |
For Each |
Add the activities to the process that should be executed one time for each item in the target source. |
Parallel |
Run two or more branches of a process simultaneously. The component consists of two or more sequential block components that execute their activities in parallel. |
Queue |
Create queues, which are like the lines going through Customs at an international airport. You can set the maximum allowed entries and maximum allowed in queue independently for each queue you set up. See Queue Resources for additional information. |
Sequence |
Run activities in a block in a sequential order. |
Start Point |
Indicate points within a process workflow (in addition to the top of the process workflow) at which you can start the process. You will always be able to start the process from the beginning. However, if a process contains a Start Point component, then you can start the process from the location of the Start Point within the process. To do so, from the Confirm Start Process dialog and check Start from start point. Then select your start point from drop down list. |
While |
Execute a sequence of child activities (contained in the While Block) that repeats as long as the specified condition is true. |
To add logic components to a process:
Step 1 In the Process Editor, choose Toolbox > Logic, then highlight and drag the appropriate logic component to the Workflow pane.
Step 2 On the component property pages, define the properties.
Step 3 Click Save .
Adding Process and Global Variables
The variables feature provides a storage area for information that is used on a regular basis to avoid having to specify the same information in several places. Data stored in a variable can be altered to affect process execution behavior.
The following sections describe how you can use variables in Process Orchestrator for a variety of purposes.
Activity Configuration
One of the most common uses of variables is to define activity configurations. Any field in an activity can refer to a variable value rather than an explicit value. For example, you can use a variable to:
- Specify the target as the machine where an event occurred
- Specify the start date of the process’ operations window as a parameter to an operating system command
- Specify a condition, such as a file that should not exist after a job is initially triggered by the arrival of that file where a prior activity should have deleted the file
Process Control Components
Processes can use variables to define the control components. For example, you can use a variable to define:
- A Conditional activity to look at the exit code of a prior activity
- A While Loop activity to loop until a query fails or loop for a number of times corresponding to a number of objects pulled from a query
Process Parameters
Variables can be parameterized so that a process definition can be vague enough to be reused in multiple places and the specifics can remain undefined so that they can be defined by the person or process that invokes the process or activity.
For example, a process called notify server owner might use a variable server for the name of the server that has a problem. The process retrieves the email address of the owner of the server and sends an email.
This process might be called from multiple places; a step in a server maintenance job fails, so the maintenance job populates the Server variable and invokes the notify server owner process. Another process might notify the server owner when a backup completes.
Formulas as Variable Values
You can specify a formula anywhere a variable value is used. For example, an operating system command's parameter might be formed from concatenating two variables' values or from parsing the output of a prior command.
Variables are used to store or pass a value between executions of a process or between steps within a single process.
Common Use of Variables
The most common types of variables in Cisco Process Orchestrator are name variables and process or activity property variables.
Named Variables
The most common use of variables is a name that has a changeable value. For example, you can use a global variable to store information used in processes such as:
- Locations of files and directories
- Email addresses
- Order numbers
- User names
Process or Activity Property Variables
- In a process or activity definition, you can refer to the process properties or the properties of a prior activity in the process. In this scenario, the properties of the process or activity may also refer to associated objects.
- One of the most common uses of variables is to define activity configuration. Any field in an activity with a Reference tool can refer to a variable value rather than an explicit value.
Status Tracking
Another common use of variables is to track state. For instance, you can use variables as a loop counters to store the number of times a loop has executed and know the current loop iteration running.
Summary Variables
You can also use a variable to build up a 'summary' message. For each thing event happens, you can append 'what just happened' to the variable. At the end of a process, the result will be the contents of this variable as an entire summary of the process.
Creating a Boolean Global Variable
Use the Boolean global variable to indicate the set of elements that should be true or false. The variable information is stored as a reference value that is used for multiple objects.
Variables are used to store or pass a value between executions of a process or between steps within a single process.
Step 1 Choose Definitions > Global Variables, right-click and choose New > Boolean Variable.
Step 2 On the General Information panel, specify the appropriate information, and click Next.
Step 3 On the Variable Value panel, specify whether the value should be interpreted as true or false and click Next.
Step 4 Click Finish to complete the procedure.
Creating a Hidden String Global Variable
Hidden variables are used to specify protected secrets (such as HR information or security information, such as a password) when they are outside of the use cases of runtime users. For example, you might need to pass a password to a script. Runtime users in Process Orchestrator are fully protected, so no process can retrieve the password from any runtime user. Hidden strings provide an alternative for these use cases. Another example is a password that must be passed to a web service invocation.
When values for hidden variables are entered or displayed, their values are obscured. When they are stored, their values are encrypted so that they cannot be compromised by UI or database access.
A common use case is when a password is required to access some service. Typically there will be a target that is associated with the connection, such as a web service. Using service-oriented orchestration principles, you can either:
- Extend the existing target type to add a “password” property of a hidden text type.
- Create a new specialized target type that inherits from the target type and create a “password” property on the new target type.
For example, say that you use a web target to connect to a Cisco Prime Network Services Controller REST API, and that the API requires a password. You could create a new “Cisco Prime Network Services Controller” target type which inherits from web target, then add a hidden text target property “password” on that type. You can then securely store passwords only for Prime Network Services Controller connections and not for all web services in general.
Caution
In some cases, hidden strings can be passed outside Process Orchestrator. For example, a hidden text variable might be passed to a Windows script or a web service invocation. The variable value is passed in clear text outside the tool.
Care must be taken in this regard. For example, if someone put a network sniffer on the web service call and you used HTTP rather than HTTPS for the call, the sniffer would be able to see the value. Process Orchestrator protects the value of the variable within the product itself and its logs, but it is the responsibility of the author and their IT department to protect these secrets outside of the product.
Step 1 Choose Definitions > Global Variables, right-click and choose New > Hidden String Variable.
Step 2 On the General Information panel, specify the appropriate information, and click Next.
Step 3 On the Variable Value panel, specify the security-sensitive string text for the value, and click Next.
Step 4 Click Finish to complete the procedure.
Creating a Numeric Global Variable
Use the Numeric global variable to define a variable containing a single whole or decimal number (positive and negative).
Variables can be used as a reference value used for multiple objects. They can also be used to store or pass a value between executions of a process or between steps within a single process.
Step 1 Choose Definitions > Global Variables, right-click and choose New > Numeric Variable.
Step 2 On the General Information panel, specify the appropriate information, and click Next.
Step 3 On the Variable Value panel, specify the numeric value, and click Next.
Step 4 Click Finish to complete the procedure.
Creating a String Global Variable
Use the String global variable to define a variable containing a string of text.
Variables can be used as a reference value used for multiple objects. They can also be used to store or pass a value between executions of a process or between steps within a single process.
Step 1 Choose Definitions > Global Variables, right-click and choose New > String Variable.
Step 2 On the General Information panel, specify the appropriate information, and click Next.
Step 3 On the Variable Value panel, specify the string value, and click Next.
Note Check the Multiline check box to expand the text box and add more lines to the string.
Step 4 Click Finish to complete the procedure.
Creating a Table Global Variable
Use the Table global variable to define a table format that is used to store a set of records. Use the Table tab to define the table columns and rows.
The variable information is stored as a reference value that can be used for multiple objects. Variables are used to store or pass a value between executions of a process or between steps within a single process.
Step 1 Choose Definitions > Global Variables, right-click and choose New > Table Variable.
Step 2 On the General Information panel, specify the appropriate information, and click Next.
Step 3 On the Variable Value tab, define the values to be included in the cells of a table as well as add new rows and columns for the table, and click Next.
Note The table must contain at least one column before a row can be added.
- Rows—Click to modify the number of rows to be included in the table.
- Add—Adds a new row to the table
- Remove—Removes selected rows from table. The Remove option is enabled when the user selects one or more rows within the data table.
- Columns—Click to modify the columns to be included in the table.
– Add—Launches the Table Columns Properties dialog box to allow the user to define the name and data type for the new column.
– Edit—Allows the user to modify the name for the new column. The Edit option is enabled when the user has one column or one cell in the table selected.
– Remove—Removes the selected columns from the table. The Remove option is enabled when the user selects one or more columns within the table.
Step 4 Click Finish to complete the procedure.
Creating an Identity Global Variable
Use the Identity global variable to store the value of a user identity.
Variables can be used as a reference value used for multiple objects. They can also be used to store or pass a value between executions of a process or between steps within a single process.
Step 1 Choose Definitions > Global Variables, right-click and choose New > Identity Variable.
Step 2 On the General Information panel, specify the appropriate information, and click Next.
Step 3 On the Variable Value panel, specify the user or group identity for the value, and click Next.
Step 4 Click Finish to complete the procedure.
Creating a Copy of a Global Variable
The copy option is used when the user wants to leverage an existing global variable to define a new global variable using existing properties. If the original global variable allows overrides, then the copied variable will all also allow global variables.
Step 1 Choose Definitions > Global Variables, highlight the appropriate global variable, right-click and choose Copy.
Step 2 On the Results pane, right-click and choose Paste.
A copy of the global variable is pasted into the Results pane.
Step 3 To rename the copied global variable or other properties, right-click and choose Properties.
Step 4 Modify the global variable name, as appropriate, and click OK to close the dialog box.
Adding Targets and Target Groups
When you create a process, you must specify where you want the process to run. You can also specify that the process runs on a specific target or target group.
Note When you move process definitions from environment to environment using automation packs, the specific targets will be different in the new environment. Therefore, if you plan to export your process in an automation pack, you will want to avoid references to specific targets. Instead, use a target group in your process definition, and place the environment-specific targets in that target group. Use direct target references only in environment-specific processes.
The target group can be defined once and reused in several processes. For example, you might have a database maintenance process that is scheduled to run every month on all database servers. Instead of scheduling the process multiple times to run on each database server, you can create a target group that includes all the database servers and schedule the process to run on all the servers at the same time.
If you choose to execute the process on a target group, you can further specify to run the process on all objects that are included in the target group, or run the process on a specific object within the target group.
Use Definitions > Target Groups to view the defined target groups. From this view, you can create new target groups, modify the properties of a target group, and delete target groups.
Viewing Members of a Target Group
Viewing members of a target group is important when debugging processes and environments.
Step 1 Choose Definitions > Target Groups, select the target group, right click and display properties for that group.
Step 2 Click the Members tab.
Step 3 Examine or view the targets considered to be part of the group by Process Orchestrator.
.
Creating a Target Group
You can create several types of target groups:
- A target type group specifies the type of target to be included in a target group as well as additional property-based criteria for a selecting target.
- A virtual target group contains a collection of any type of target or target group that has been defined.
- The Active Directory group types, Active Directory Group and Active Directory Organizational Unit (OU), are supplied by the Active Directory adapter. Membership in these group types is determined dynamically.
Step 1 Choose Definitions > Target Groups, right-click and choose New > [Target Group Type].
Step 2 In the New [Target Group Type] Properties dialog, enter the appropriate information for that group type.
Step 3 Click OK to create the new target group.
Using a Target Group in Your Process
To use a target group in your process, define the target selection criteria.
Step 1 In the Process Editor, click the Target tab, click Execute on this target group, then click “... ”.
Step 2 From the Select Target Group dialog, select one or more target groups, then click OK.
Step 3 You can choose to run the process on:
- All targets in this group
- All targets that satisfy the specified criteria
- Any target that satisfies the specified criteria
- A target with a specified name
Step 4 Enter the criteria as necessary.
Adding Conditions
The conditions assigned to an object within a process specify when an action is to be taken based on an evaluation of conditions that have been defined.
You can access condition property pages from many places, including the Process Editor and the Task Rules dialog box. Using these property pages, you can add basic or compound conditions to an object:
Adding Basic Conditions to an Object
Use the Basic panel to create simple conditions using variables to match to operator criteria. When you edit a condition using the Basic panel, you are actually creating a compound condition where every subcondition is ANDed together. If there are no conditions, the condition will either be 'TRUE' or 'FALSE' based on the user selection. If there are conditions, the condition is evaluated to either TRUE or FALSE.
Step 1 In the Process Editor, choose Toolbox > Logic, then drag a Condition or a Condition Branch into the workflow panel.
Step 2 On the [Object] property page or dialog box, click the Conditions tab.
Step 3 Under Conditions, click the True/False link to determine when the object should execute against the specified conditions.
- Click True to indicate the conditions should always be satisfied before the object executes.
A single condition is listed by default and is set to True. If no other conditions are specified, this condition will remain and cannot be deleted by the user.
- Click False to indicate the object can execute if the conditions are never satisfied.
Step 4 Click the appropriate button to modify the condition properties used to execute the object.
- Click New to add a Properties pane to the condition.
- Click Delete to remove the last Properties section in the list of properties.
Step 5 Update the following properties for each condition:
- Text field—Data for this field cannot be manually entered. Click the Reference tool to select a property variable to use as a condition.
- Operator—Select the operator to be used to evaluate the variable expression. The displayed operators depend on the selected property.
- Value—Enter value for the property.
Step 6 Click OK to save the object.
Creating a Time Condition
The Time Condition is used to used to define conditions that evaluates to true on the days in the specified calendar and between the specified start and end time. Time conditions can be assigned to a calendar, process, activity, and a process trigger.
Use the following steps to create a time condition based on a defined calendar.
Step 1 On the Conditions tab, click New > Time Condition.
Step 2 In the Time Condition properties, modify the following properties.
- Start Time—Time the condition should begin. Enter or click the scroll button to modify the time.
- End Time—Time the condition should end. Enter or click the scroll button to modify the time.
Step 3 To modify the properties in the Time Condition dialog box, click anywhere on the line of properties.
Step 4 In the Time Condition dialog box, complete the following information, as necessary:
- Calendar—Name of the calendar that should trigger the process.
- Time Zone—Select the time zone that should be used for the condition
- Start Time—Time the condition should begin. Enter or click the scroll button to modify the time.
- End Time—Time the condition should end. Enter or click the scroll button to modify the time.
- Condition—Display-only. Properties used to define the time condition
Step 5 Click OK to add the condition to the Conditions tab.
Creating a Component Licensed Condition
Use the Component Licensed Condition to be used to verify whether a product component is licensed. This condition can then determine the next step in the execution of the process. to be used as the condition under which the variable should evaluate as true.
Use the following steps to create a time condition based on a defined calendar.
Step 1 On the Conditions tab, click New > Component Licensed Condition.
Step 2 In the Component Licensed Condition properties, modify the following properties.
- Text field—Enter the license ID for the appropriate component.
- Value—Click the option to be used to evaluate the licensing expression.
Step 3 Complete the following information, as necessary:
- Component Id—Enter the license ID for the component to be evaluated in the condition.
- Comparison—From the drop-down list, choose the option to be used to evaluate the licensing expression.
– is licensed
– is not licensed
Creating a Variable Condition
The Variable Condition is used to specify a variable based on a variable expression to be used as the condition under which the variable should evaluate as true.
Step 1 On the Conditions tab, click New > Variable Condition.
Step 2 In the Variable Condition properties, modify the following properties.
- Text field—Data for this field cannot be manually entered.
- Operator—Select the operator to be used to evaluate the variable expression. The displayed operators depend on the selected property.
- Value—Enter value for the property.
The Variable Condition dialog box displays.
Step 3 Complete the following information, as necessary:
- Comparison Operator—From the drop-down list, choose the comparison operator to use for comparing the value of the selected variable and the expression.
Comparison Operators
– contains—Iterates through the contents of the collection and determines if the specified item exists (if this is a string collection, this is case-insensitive)
– contains (case-sensitive)—Iterates through the contents of the collection and determines if the specified item exists (same as above, but a case-insensitive version)
– contains only—Iterates through the contents of the collection and determines if the only item in the collection is the specified item (if this is a string collection, this is case-insensitive)
– contains only (case-sensitive)—Iterates through the contents of the collection and determines if the only item in the collection is the specified item (same as above, but a case-insensitive version)
– does not match wildcard—Determines if the item does not match all items in the wildcard example
– is empty—Determines if there are items in the collection or not
– equals—Determines if the left side equals the right side (if this is a string comparison, this is case-insensitive)
– not equals—Determines if the left side does not equal the right side
– matches regular expression—Determines if the left side matches the regular expression specified on the right side.
– matches wildcard—Determines if the left side matches the wildcard specified on the right side
– equals (case-sensitive)—Determines if the left side equals the right (this is the case-sensitive version of Equals for string)
– less than [<]—Determines if a value is less than another value
– more than [>]—Determines if a value is greater than another value
– equal [=]—Determines if a value is equal to another value
– not equal [>]—Determines if a value is not equal to another value
– greater than or equal [>=]—Determines if a value is greater than or equal to another value
– less than or equal [<=]—Determines if a value is less than or equal to another value
- Expression—Enter the expression to be evaluated against the boolean type variable to determine whether the condition is true.
The information in this field is case-sensitive and must be lowercase.
Adding Advanced Conditions to an Object
Use the Advanced panel to create a Cisco Process Orchestrator-based condition. You can define the properties of the conditions within the Advanced panel, or within the Properties dialog box.
When you edit a condition using the Advanced panel, the compound conditions are explicitly shown. This allows you to create complex conditional logic with the ability to nest any type of condition inside of a compound condition. To add a child compound condition in the advanced editor, choose New > Compound Condition.
The conditions specified on the Basic panel can also be configured on the Advanced panel because they transition to simple Process Orchestrator-level variable conditions.
Step 1 In the Process Editor, choose Toolbox > Logic, then drag a Condition or a Condition Branch into the workflow panel.
Step 2 On the [Object] property page or dialog box, click the Conditions tab, then click Advanced.
If there are no conditions, the condition will either be 'TRUE' or 'FALSE' based on the user selection. If there are conditions, the condition is evaluated to either TRUE or FALSE.
Step 3 Click the appropriate button to modify the condition properties used to execute the object.
- Click New to add a Properties pane to the condition.
- Click Properties, then click anywhere around the appropriate condition. After the area around the condition is highlighted, click Properties to launch the condition properties dialog box.
Condition properties can be modified on the tab or within the conditions properties dialog box.
- Click Delete to remove the last Properties section in the list of properties.
Step 4 After the first condition is added, choose the appropriate operator (AND or OR). The operator is set to AND by default.
Step 5 Click OK to save the object.
Deleting a Condition
A condition can have subconditions, and anywhere there is a condition you can delete a subcondition. Multiple condition equations can be included in a condition. Conditions are deleted only from the object upon which they reside.
Deleting Conditions from Task Rules
Use the following steps when deleting a condition from a task rule. If you delete the task rule, that automatically deletes the condition.
Step 1 Choose Definitions > Task Rule, highlight an existing task rule, right-click and click Properties.
Step 2 Click the Conditions tab, highlight the appropriate condition, then click Delete.
Step 3 Click OK to save your changes.
Deleting Conditions from Triggers
Use the following steps when deleting a condition from a trigger. Delete the trigger from the process properties automatically deletes the condition.
Step 1 In the Process Editor, choose Toolbox > Processes, highlight the process, and choose Process > Edit.
Step 2 In the Process Properties pane, click the Triggers tab, highlight the appropriate the trigger, and click Properties.
Step 3 Click the Conditions tab, highlight the appropriate condition, then click Delete.
Step 4 Click OK to save the changes made to the trigger.
Step 5 Click Save to save your changes.
Deleting Conditions from a Logic Component
Use the following steps to delete a condition from a logic component such as a Condition Branch or a While Block. If you delete the logic component from the Workflow pane, that automatically deletes the condition.
Step 1 In the Process Editor, choose Workflow, then the relevant logic component.
Step 2 Choose one of the following:
- Right-click and choose Delete to remove the logic component and all associated conditions.
- Click the logic component’s, highlight the appropriate condition, then click Delete.
Step 3 Click Save to save your changes.
Deleting Archive Conditions
Use the following steps when deleting a condition from an archive. If you choose another archive option from the process properties, that automatically deletes the condition.
Step 1 In the Process Editor, choose Toolbox > Processes, highlight the process, and choose Process > Edit.
Step 2 In the Process Properties pane, click the Options tab.
Step 3 In the Archival section, choose one of the following:
- Click Archive based on condition, click “... ”, then use the Archive Condition dialog to delete the appropriate condition or subcondition.
- Check another Archival option and the condition will not be used; you do not need to “delete” it.
Step 4 Click Save to save your changes.
Adding Target Types
Target types provide a way to define a service or other IT element that is not represented by any target type provided by an adapter. All new targets are created based upon an existing target type.
Step 1 Choose Definitions > Target Types, right-click and choose New > Type.
Step 2 In the General panel, enter the basic properties for the new type, then click Next.
Step 3 On the Properties pane, specify the new properties for this type, then click Next.
Step 4 On the Relationships pane, specify the new relationships for this type, then click Next.
Step 5 On the Processes tab, specify the processes that are in the application, then click Next.
Step 6 Click Finish to create the new type.
Related Topics
Target Types
Managing Processes
The following topics describe how to manage processes:
Modifying Process Properties
Process definitions are modified in the Process Editor. With the appropriate rights from the Definitions view, the Process Editor is launched when accessing the process properties. Users with the appropriate rights can also modify processes in the top panel of any of the Process Views in the Operations View.
When user rights are restricted, the Process Viewer is launched with the properties displaying a display-only view.
Step 1 Choose Definitions > Processes, highlight the appropriate process, right-click and choose Edit.
Even when a process comes from an automation pack, some aspects of that process can still be updated. For example, you can:
- Disable/enable existing triggers
- Add additional triggers
- Disable/enable the process
- Change options (such as archive/resume options)
Note If you have been adding activities while editing a process, your focus will often be on an activity, so you will actually be seeing properties of the activity. To return to editing process properties, click in the white space outside of any activity.
Step 2 Select the appropriate process property tab and modify the fields as necessary.
Step 3 Click Save to save your changes.
Modifying Activity Definition Properties
Activities can only be modified in the Process Editor; modifying a process does not automatically modify an activity. Activity definitions are included in the workflow of a process definition, so the activity properties must be modified separately from the process properties.
Step 1 Choose Definitions > Process, highlight the appropriate process, right-click and choose Edit.
Step 2 On the Process Editor Workflow pane, choose the appropriate activity and modify the activity properties as necessary.
Step 3 Click Save, then click Exit to close the Process Editor.
Managing Process Workflow Revisions
Whenever you modify the workflow of a process definition in the Process Editor, a new revision is created for the process so that the historical versions are preserved. This allows users to easily restore a previous version or simply refer to the process definitions that were displayed at a certain point in the past. Using the Manage Workflow Revisions dialog box, you can:
- View the number of revisions made for the selected workflow during the specified created time
- Open a single or multiple read-only editors to view the changes made to the revisions; Opening multiple read-only editors at the same time helps you to compare the changes made to different versions
- Restore previous versions
Invalid references are checked before restoring the previous versions. For example, if you have a variable referenced in revision “A” and then deleted in revision “C”, an error message is displayed when you try to revert to revision “A”.
Note If you are not the author of the automation pack, all the revisions made prior to importing or applying a patch on the automation pack are displayed in Grey. You cannot restore these versions. However, you can view the changes by opening the ready-only editors. If you are the author, however, you can restore to any earlier revision, even ones made before the patch import or patch apply.
Viewing Workflow Revisions
Step 1 Choose Definitions > Process.
Step 2 Highlight the appropriate process, then right-click and choose Workflow Revisions.
Step 3 To view changes made to a specific version, select the version and click View.
Note You can view more than one version at the same time.
Restoring a Workflow Revision
Step 1 Choose Definitions > Process.
Step 2 Highlight the appropriate process.
Step 3 Right-click and choose Workflow Revisions.
Step 4 To restore a previous version, select the version and click Restore.
Note Process properties are not restored. Process properties include process name, any defined variables, and triggers, and so on. Only the workflow itself is restored.
Starting a Process
You can manually start a process displayed on a Process View or the Process Editor under these conditions:
Only one process can be manually started at a time.
Note When a process is started manually, all conditions and triggers included in the process definition will be overridden.
Step 1 Choose one of the following:
- From a process view, highlight the appropriate process, right-click and choose Start Process.
- From the Process Editor, highlight the appropriate process, then choose File > Start or click Start
in the toolbar.
Step 2 The Confirm Start Process dialog box displays.
- If the process has any input variables, verify the variables associated with the process in the Parameters table. To update the variable, highlight the variable and click Edit to modify the value.
- To start a process from a specific starting point, check the Start from start point check box and then select the appropriate starting point from the drop-down list. The first activity after the specified starting point will run first.
- To specify a target that is different from the default process target, check the Override target (Target name) check box and select a target from the drop-down list.
- To create a new target for this process, click New. For additional information on targets, see Defining a Target.
Step 3 Click OK to confirm.
Step 4 The Start Process Results dialog box displays the progress of the process. To view the process workflow, double-click the process instance.
Step 5 Click Close to return to the console.
Canceling a Process
If you have the appropriate rights, you can manually cancel any process that is currently running. To cancel a process, choose the A ctivity View Results, highlight the appropriate process, right-click and choose Cancel.
Executing and Archiving Process Instances
The Process Orchestrator provides settings that control:
- Whether the server saves the process state after the process completes.
- Whether the process is restartable in case of a server restart or failover.
Both the archival and resume options affect performance (how much data is saved into the database and how often). However, only the resume option controls whether the process is restartable. If the process is set to “archive” but “not resume”, it will save the data to the database but will not restart when the server restarts.
To specify the archival and resume settings for an existing process:
Step 1 In the Process Editor, choose Toolbox > Processes, highlight the process, and choose Process > Edit.
Step 2 In the process properties dialog, click the Options tab.
Step 3 In the Execution section, if you want the server to resume the process that is running when server restarts or fails over, click Resume execution if interrupted.
Step 4 In the Archival section, choose one of the archival options:
- Never archive any instances—The process instance is not stored upon completion
- Only archive failed instances—Only the failed process instances are stored upon completion
- Archive all completed instances—The process is stored upon completion
- Archive process instances (skip activity instances) only—Removes the activity instances from archival and stores the process instance upon completion
- Archive based on condition—The process instance is stored upon completion based on the selected condition. For example, ([Global Variables.Archive All Processes] = true)
- Cascade the setting to child process instances - The archival setting of a parent process is cascaded to the child processes
For example, if you have Run Antivirus Checks as the parent process, and then Check for Weekly Antivirus scan as the child process, the archival setting applied for the Run Antivirus Checks process is passed to the Check for Weekly Antivirus child process irrespective of the archival setting selected for this child process. Assume that Check for Weekly Antivirus scan process has a child process which in turn has another child process, the archival setting is applied to all the child processes irrespective of their respective archival settings.
Step 5 Click Save to save your changes.
Related Topics
Creating Processes as a Team
Multiple users might be working together to develop processes that they plan to group into an automation pack. The Process Locking feature is designed to enforce limits on access to a process. You can lock one or more processes from the Process Orchestrator console. Process Locking also includes these features:
- The UI provides a filter for the process definition view to view processes locked by me, or processes locked by someone else.
The columns for these views show whether a process is locked, who has the lock, and since what date / time the lock has been held.
– Are read-only to other users.
– Cannot be enabled or disabled by other users.
– Can be added or removed from automation packs by other users because this action does not modify the configuration of the process itself.
– That are locked by another user can be unlocked if you have Break Lock permissions (see Editing Locked Processes).
During the editing process:
- If User A attempts to edit a process that is currently locked by User B, User A receives a warning message and the process displays in Read-only mode.
- If User A is editing a process, which is then locked by User B, User A receives an error message when attempting to save the process.
- User A cannot delete a process that is currently locked by User B.
- A confirmation dialog displays if you close the Process Orchestrator and there are still locked processes remaining.
- The category membership of a locked process cannot be edited by other users.
Team content development is :
- A way for users to lock processes when they are developing content along with other process authors
- A new environment-wide setting which forces users to lock processes when editing them
Team content development is not :
- Locking other object types
- Source control or versioning support
- Being notified in real-time that someone has locked a process that the user is editing
Enabling Team Process Authoring
The Environment Properties dialog box contains an option to enable/disable team process authoring on a server. If enabled, it:
- Locks and unlocks processes for editing
- Provides a server-wide setting that causes Edit process to become equivalent to Locking a process for editing
- Warns users when they attempt to close the console and still have processes locked for editing
Step 1 Choose File > Environment Properties.
Step 2 Check the Enable team development check box to enable team process authoring on this server, then click OK.
Viewing Process Views by Lock Status
To view locked processes, choose Definitions > Processes, choose Filter by Lock, then choose one of the options from the drop-down list.
Editing Locked Processes
Use the Process Locking feature to edit locked processes:
|
|
Lock a process |
Enforce limits on access to a process. Locked processes are read-only to other users. Choose Definitions > Processes, highlight the appropriate process, right-click and choose Lock. |
Unlock a process |
If you have locked a process, you can unlock that process from the Process Orchestrator console. Choose Definitions > Processes, highlight the appropriate process, right-click and choose Unlock. If the process is locked by someone else, a message displays indicating that the process is locked by another user. |
Break a lock |
If a process is locked by another user, and if you have Break Lock permissions, you can unlock that process. Choose Definitions > Processes, highlight the appropriate process, right-click and choose Advanced > Break Lock. |
Scheduling Processes
When defining a process, you can specify when the process will execute. You can execute a process based on a schedule. A schedule specifies one or more times of day, and is combined with a calendar that specifies which days the schedule should initiate the process.
The following topics include how to define a calendar, how to use calendars to define a schedule for a process, and how to use calendars in a condition:
Authoring a Calendar
Calendars are reusable for schedules within many processes. For example, you can define a calendar for Saturdays. When defining a process that you want to run on Saturdays, you reference the Saturday calendar. Other examples include a calendar that includes weekends and company holidays when IT might perform scheduled maintenance, or the last week of a fiscal quarter when IT might exclude non-essential automation or deny change requests.
The calendars feature defines the calendar to be associated with a schedule, time, or condition. This feature simplifies:
- Reusing calendar definitions across processes
- Building complex calendars from other calendars
- Viewing the processes that run based on a specific calendar
Creating a New Calendar
Cisco Process Orchestrator ships with some predefined calendars for the most commonly-used scenarios. However, you can create your own calendar or copy and modify the predefined calendars based on your organizational requirements.
Use the Definitions > Calendars view to display the defined calendars.
- Date List—Specify an explicit list of dates. The processes to which this calendar definition is assigned will execute on the specified dates in the calendar. You might want to use this type of calendar for processes that run on specific days of a specific month.
- Group—Specify a collection of other defined calendar types, such as inclusion of date list or a recurring calendar within the group calendar definition. The group calendar can contain defined recurring calendars, other group calendars, and date list calendars. You select the calendars to include or exclude in the group calendar definition.
You can also add dates to or exclude dates from a group calendar.
- Recurring—Specify a starting date for the subsequent dates and recurrence frequency. You can specify the calendar to repeat on a daily, weekly, monthly, or yearly basis.
Step 1 Choose Definitions > Calendars, right-click and choose New > [Calendar Type].
Step 2 On the [Calendar Type] property pages, define the properties.
For example, if you want to define a recurring process that runs on the fifth day of each month, enter these values:
- Recurrence Pattern: Monthly
- Start date: (select a day of the month)
- Monthly Recurrence: Every 1 months
- On the following day(s): 5
Step 3 Click the Preview tab to display the list of dates that are included in the calendar. The calendar highlighting the dates displays on the right side of the page.
Step 4 Click OK to close the dialog box.
Creating a Recurring Calendar
A recurring calendar has a specified start date, time period, and duration for when the process repeats execution.
Use the Daily Recurrence calendar to specify the start and end date for a recurring calendar and the number of days.
You can specify the calendar to repeat on a daily, weekly, monthly, or yearly basis.
Note Use commas to separate multiple dates.
Related Topics
Creating a Daily Calendar
The Daily Recurring calendar specifies the start and end date for a daily recurring calendar and the number of days in the daily recurrence cycle.
Step 1 Choose Definitions > Calendars, right-click and choose New > Recurring Calendar.
Step 2 Click the General tab and enter the required information.
Step 3 Choose Recurrence > Recurrence Pattern > Daily.
Step 4 Select one of the following options to indicate how often the recurrence repeats:
- Every [ ] day(s)—Enter the number of days the recurrence is to repeat.
For example, to have the recurrence repeat every other day, enter 2 in the text field.
- For every [ ] day period, on the day(s)—Enter the number of days the recurrence cycle is to repeat or click Select to select the specific days within the day period from the Select Days dialog box.
For example, to have the recurrence to repeat every 7 days on the first and last day of this time period, enter 7 in the text field and then click Select to select Day 1 and Day 7 on the Select Days dialog box.
Creating a Weekly Calendar
Use the Weekly Recurrence calendar to specify the start and end date for a weekly recurring calendar and the number of weeks in the recurrence cycle.
Step 1 Choose Definitions > Calendars, right-click and choose New > Recurring Calendar.
Step 2 Click the General tab and enter the required information.
Step 3 Choose Recurrence > Recurrence Pattern > Weekly.
Step 4 Enter the number of weeks of the recurrence cycle.
Step 5 Check the check boxes for the day(s) of the week the recurrence should occur.
For example, to have the recurrence repeat every week on Monday and Friday, enter 1 in the text field and check the Monday and Friday check boxes.
Creating a Monthly Calendar
Use the Monthly Recurrence calendar to specify the start and end date for a monthly recurring calendar, and how often it repeats.
Step 1 Choose Definitions > Calendars, right-click and choose New > Recurring Calendar.
Step 2 Click the General tab and enter the required information.
Step 3 Choose Recurrence > Recurrence Pattern > Monthly.
Step 4 Enter the number of months in the recurrence cycle.
Step 5 Use one of the following methods:
- On the following day(s)—Select this option to specify which day(s) the recurrence is to repeat.
– In the text field, enter the appropriate numeric date(s) of the month.
– Click Select to select the days from the Select Days dialog box.
For example, to have the recurrence repeat every day within the month, enter 1-31 or on the Select Days dialog box, select Day 1 through Day 31.
- For the specified week(s)—Select this option to specify which week(s) and day(s) of the week the recurrence is to repeat.
– In the text field, enter which weeks the recurrence is to repeat.
– Click Select to select the days from the Select Days dialog box.
– Under On the following day(s), check the check boxes for the days of the week the recurrence should occur.
For example, to have the recurrence repeat every week within the month, enter 1-4 or on the Select Weeks dialog box, select Week 1 through Week 4.
Creating a Yearly Calendar
Use the Yearly Recurrence calendar to specify the start and end date for a yearly recurring calendar and how often it repeats.
Step 1 Choose Definitions > Calendars, right-click and choose New > Recurring Calendar.
Step 2 Click the General tab and enter the required information.
Step 3 Choose Recurrence > Recurrence Pattern > Yearly.
Step 4 Click Select to select the months from the Select Months dialog box.
For example, to have the recurrence repeat every month within the year, enter 1-12 or in the Select Months dialog box, select Month 1 through Month 12.
Step 5 Use one of the following methods to specify the days within the selected months the recurrence should repeat:
- On the following day(s)—Select this option to specify which days of the months the recurrence is to repeat.
– In the text field, enter the appropriate numeric dates.
– Click Select to select the days from the Select Days dialog box.
For example, to have the recurrence repeat every day within the month, enter 1-31 or in the Select Days dialog box, select Day 1 through Day 31.
- On the following month(s)—Select this option to specify which weeks and days of the month the recurrence is to repeat.
– From the first drop-down list, select the appropriate week of the month (First, Second, Third, Fourth, Fifth, Last).
– From the second drop-down list, select the appropriate day of the week.
For example, to have the recurrence repeat the first Monday of every month that is specified, select First and Monday.
Scheduling a Process Based on a Calendar
Step 1 In the Process Editor, choose Toolbox > Processes, highlight the name of the process you want to schedule, then choose Process > Edit.
Step 2 In the Process Properties pane, click the Triggers tab, then choose New > Schedule from the drop-down list.
Step 3 In the Schedule Properties dialog, choose an existing calendar from the Calendar drop-down list, or click New to create a new calendar (see Authoring a Calendar).
Step 4 Define any additional required properties. For example:
- To define a recurring process that runs every 5 minutes, enter the Start Time ( when the process should run on the days included in the selected calendar), the Number of times to run the process, and the Time Interval.
- To schedule a process to run based on an equation evaluated at run time, see Scheduling a Process to Run Only Under Certain Conditions.
Step 5 Click OK, then click Save to save your changes.
Scheduling a Process to Run Only Under Certain Conditions
Using the Conditions tab in the Properties dialog, you can schedule a process to run based on an equation evaluated at run time. The process will be run only if the specified conditions are met.
Step 1 In the Process Editor, choose Toolbox > Processes, highlight the name of the process you want to schedule, then choose Process > Edit.
Step 2 In the Process Properties pane, click the Triggers tab, then choose New > Schedule from the drop-down list.
Step 3 Click the Conditions tab.
- Use the Basic panel to create a simple variable condition using a variable to match to operator criteria. For example, you can insert a variable reference based on a schedule value such as the schedule name or the local time. Or click Show advanced properties to see addition variable references.
- Use the Advanced panel to create a more complex condition. You can define the properties of the conditions within the Advanced panel, as well as within the Properties dialog box.
For more information about using conditions, see Adding Conditions.
Step 4 Define any additional required properties, then click OK.
Step 5 Click Save to save your changes.
Using a Calendar in a Condition
Calendars are “time” conditions that evaluate to true on the days in the specified calendar and between the specified start and end time. For more information about conditions, see Adding Conditions.
Step 1 In the Process Editor, you can:
- Add a condition to a process by choosing Toolbox > Logic, then drag a Condition or a Condition Branch into the workflow panel.
- Edit an existing process by choosing Toolbox > Processes, highlight the name of the process, then choose Process > Edit.
Step 2 In the Properties panel, click Advanced > New > Time Condition.
Step 3 Choose one of the calendars from the drop down list and adjust the start and end times as needed.
Step 4 Click Save to save your changes.