Universal Controller 6.9.0.0 Release Notes

Release Notes

Universal Controller release 6.9.0.0 contains the following high-level features; for a complete list of all the included features and fixes, please refer to the Universal Controller 6.9.x Maintenance list.

Note

Users upgrading to Universal Controller 6.9.0.0 from any earlier Universal Controller release should take special note, as some changes in behavior have been introduced; specifically:

  • B-06805: Task Monitors now only match Task Instances that Execution User has Read Permission for

  • B-12009: Customers licensed for USAP and/or UPPS will need to request a new license key prior upgrading to Universal Controller 6.9 in order to continue to use the SAP and Peoplesoft tasks.


Product Architecture

Backlog

Title

Description

B-10774

Add OMS Connection Field Showing Time Stamp for Last Connected Server Address

A new Last Connected Time field has been added to display the date and timestamp the Universal Controller connected to the Last Connected Server Address.

The timestamp will be updated when the Status changes from “Disconnected“ to “Connected“.

Built-in Functions

Backlog

Title

Description

B-09458

Return a string encoded in base-64

A new built in function has been added that accepts a string and returns the input string encoded in base-64.

DescriptionReturns the value of the specified variable encoded using the Base64 encoding scheme.
Syntax${_varEncodeBase64('variableName'[, 'charset'])}
Parameters
  • variableName
    Required; Name of the variable whose value will be encoded using the Base64 encoding scheme.
  • charset
    Optional; Name of the charset; default UTF-8.
Example

Where Variable rawstring contains a value of "Test String":

${_varEncodeBase64('rawstring')} --> VGVzdCBTdHJpbmc=

B-12293

New Task Instance Output Functions

The following new functions are available to access Task Instance Output:

  • Task Instance Output By XPath

  • Sibling Task Instance Output By XPath

  • Task Instance Output By JsonPath

  • Sibling Task Instance Output By JsonPath

  • Task Instance Output By JsonPath As Array

  • Sibling Task Instance Output By JsonPath As Array

Product Branding

Backlog

Title

Description

B-11578

Rename deployed war file to "uc.war"

The installer will copy the universal-controller-N.N.N.N-build.N.war to [tomcat-dir]/webapps/uc.war instead of [tomcat-dir]/webapps/opswise.war.

This will change the default URL from http://hostname:8080/opswise to http://hostname:8080/uc

B-11579

Rename default database name for new deployments to "uc"

The Universal Controller installer will now use uc as the default database name.

The default database name is used if a database name is not specified with the --dbname option.

B-11580

Rename directories to use "uc"

The following directories are being renamed for new installations:

Pre-6.9.0.0
Installations
6.9.0.0 InstallationsDescription
opswise_images uc_images

If the legacy path $CATALINA_BASE/opswise_images exists, and path $CATALINA_BASE/uc_images does not exist, the Controller will look for the banner logo file under the legacy path $CATALINA_BASE/opswise_images; otherwise, the Controller will look for the banner logo file under path $CATALINA_BASE/uc_images.

opswise_backups uc_backups

If Data Backup/Purge Export Path Universal Controller system property is specified, it will be used. The property will remain unchanged during a maintenance update. The default value for a new installation is blank/undefined.

If the legacy path $CATALINA_BASE/opswise_backups exists, and path $CATALINA_BASE/uc_backups does not exist, the base path will be $CATALINA_BASE/opswise_backups; otherwise, the base path will be $CATALINA_BASE/uc_backups

opswise_importuc_import

For a new installation, the System Default CLI Bulk Import Path Universal Controller system property will have its default value determined by the following:

If legacy path $CATALINA_BASE/opswise_import exists, and path $CATALINA_BASE/uc_import does not exist, the path will be $CATALINA_BASE/opswise_import, otherwise, the path will be $CATALINA_BASE/uc_import. The property will remain unchanged during a maintenance update.

opswise_export uc_export

If the Export Path Universal Controller system property is blank/undefined, the base path used for List Export and Bulk Export will be determined by the following:

If legacy path $CATALINA_BASE/opswise_export exists, and path $CATALINA_BASE/uc_export does not exist, the base path will be $CATALINA_BASE/opswise_export; otherwise, the base path will be $CATALINA_BASE/uc_export. The property will remain unchanged during a maintenance update.

opswise_logs uc_logs

The logs will be created under the directory uc_logs, with the log file being uc.log and uc.dxxxx.txxxx.log.

Web Service API Paths

The following web service APIs contain opswise in the URI path. These URIs will be deprecated; however, they still will be supported for backward compatibility.

B-11581

Rename files to use "uc"

The following files are being renamed :

opswise.propertiesuc.properties
opswise.loguc.log
opswise.htmluc.html
opswise.cssuc.css

B-11582

Rename property name prefixes to "uc"

Universal Controller properties will all be prefixed with uc rather than opswise. Old opswise properties will be migrated to uc when starting up

Product Licensing

Backlog

Title

Description

B-12009Connector Licensing

A set number of each Connector (USAP & UPPS) will be configured in the License, which dictates the number of connections each Agent is allowed.

All Agents will be granted the same amount of connections as defined in the License.

Note

Customers licensed for USAP and / or UPPS will need to request a new license key prior upgrading to Universal Connector 6.9 in order to continue to use the SAP and Peoplesoft tasks.

B-12249

Agent Only Controller

With Universal Agent 6.9.0.0 and Universal Controller 6.9.0.0, customers who utilize Universal Agents with 3rd-Party Scheduling solutions can leverage Universal Controller to support centralized license management.

Recurring Task

Backlog

Title

Description

E-01455

Recurring Task

The Recurring Task is a new task type that repeatedly launches a Task or Workflow (that is. performs a for or until loop).

The Recurring Task can launch a Task or Workflow:

  • A specific number of times at a certain interval (For Loop)

  • At a certain interval within a time band (For Loop)

  • Multiple specific times (For Loop)

  • Until a condition is met (While Loop)

The Recurring Task remains in RUNNING status until the Task Monitoring Condition (First Occurrence, Last Occurrence, or All Occurrences are complete with SUCCESS, FINISHED, and/or SKIPPED) or the Recurring Task itself is Force Finished.

If a Recurring Task is used within a Workflow, the Tasks or Workflows Launched by the Recurring Task are external to the Parent Workflow and can be monitored from the Recurring Task Instance within the Workflow via the Target Task Instances tab.

Security Enhancements

Backlog

Title

Description

B-11882

Change security (authorization) properties to recommended defaults and hide them.

Variable Security Enabled=true

The property already has a default of true; however, for new installations of Universal Controller 6.9.0.0, the property will be hidden.

Virtual Resource Security Enabled=true

The property already has a default of true; however, for new installations of Universal Controller 6.9.0.0, the property will be hidden.

Strict Business Service Membership Read Constraints=true

For new installations of Universal Controller 6.9.0.0, the property will be hidden.

Strict Connection Execute Constraints=true

For new installations of Universal Controller 6.9.0.0, the property will be hidden.

Promotion Accept Bundle Create/Update Permission Required=true

For new installations of Universal Controller 6.9.0.0, the property will be hidden.

Promotion Read Permission Required=true

For new installations of Universal Controller 6.9.0.0, the property will be hidden.

B-06805

Task Monitors now only match Task Instances that Execution User has Read Permission for

Task Monitors will now verify if the Execution User has read permission for a Task before selecting a match for that Task.

Note

Customers are advised to carefully review this change in product behavior when upgrading an existing Universal Controller instance to release 6.9.0.0.

B-12078

Increase length of User’s last name (ops_user.last_name) to 255 characters

The user’s last name now supports up to 255 characters.

B-12243

Delete Permission for Agents

A new Delete permission has been added for Agents. Previously only Administrators were able to Delete Agents.

Template Workflows

Backlog

Title

Description

B-11477

Template Workflows

A new Server Operation Template Workflow List / Load allows customers to Display and Load example template workflows which can be used by customers and templates for specific automation tasks.

Triggers

Backlog

Title

Description

B-11479

Add Time Stamp for Enabled At or Disabled At for Triggers

The time that a Trigger was Enabled At or Disabled At is recorded and displayed for all triggers.

B-12000

Use mono-space font for List Qualifying Dates/Times

Displaying qualifying times now uses a mono-space font for improved clarity.

B-09930

Skip Restrictions for Triggers

UC 6.9.0.0 introduces a new trigger form section Skip Details. This section contains the Task Launch Skip Conditions and Skip Count which were previously located in the Status section and a new Skip Restriction feature.

Skip Restrictions are valid for the following Trigger types:

  • Cron Trigger

  • Time Trigger

  • Agent File Monitor Trigger

  • Task Monitor Trigger

  • Variable Monitor Trigger

  • Email Monitor Trigger

  • Application Monitor Trigger

  • Composite Trigger

Skip Restrictions allow users to prevent a trigger from “firing” in the following ways:

  1. Before a specific date (and optionally a specific time).



  2. After a specific date (and optionally a specific time).



  3. Span, here you can specify a skip after date (and optionally time) and a skip before date (and optionally time). This option can be used to either prevent the trigger from “firing” between two dates / times, or only allow the trigger to “fire” between two dates and times.

    In the above example the trigger will “fire” between 09:00 on July 13th 2020 and 00:00 on November 1st 2020.

    In the above example the trigger will NOT “fire” between 09:00 on July 1st 2020 and 00:00 on August 31st 2020.

  4. On a specific date or a list of specific dates.


Users can use Skip Restrictions in combination with Skip Count, in this case the Skip Count will NOT be decremented when the trigger is already being skipped via a Skip Restriction.


When listing qualifying times in this case you will clearly see when and why the trigger is skipped.


B-11912

Increase the Retention Duration limit to 366 Days

When using the Purge by Retention Duration feature in Triggers customers can now specify a Retention Duration of up to 366 days.

B-10600

Keep Temp Trigger Option

Customers now have an option for Temporary Triggers to not automatically delete.

The new Keep Trigger field species that the temporary trigger should be Disabled, rather than Deleted, after the Next Scheduled Time.

  • If True, the temporary trigger will be Disabled after firing.
  • If False, the temporary trigger will be deleted after firing.

The default value is False.

Universal Template/Task Enhancements

Backlog

Title

Description

B-10807

Universal Template : Choice Field, Allow Multiple Choices

Universal Templates now support the option to allow Choice Fields to be Multiple Choice.

Universal Template Choice Field Definition Screen:

Multiple Choice Field Example:

The values selected in the Multiple Choice field are returned to the Universal Template script as a comma separated string.

B-12266

New “Built-In” Universal Templates

The following new Universal Templates are available via the List / Load Built-in Universal Templates Server Operation:

UAC – Docker ImageUniversal Task to manage Docker Images, Build, Remove, Pull, Push, and Tag functions.
UAC – Docker ContainerUniversal Task to manage Docker Containers, Run, Create, Start, Stop and Remove Functions.
UAC – Docker ComposeUniversal Task for Docker Compose Functions, Build, Up, Down, Start, Stop Functions.
UAC – PowershellUniversal Task to Run Powershell Scripts.
UAC – KubernetesKubernetes List (Get), Create,  Delete and Replace Functions.
UAC – UA InstallInstall UA via SSH Server, Download UA install.
UAC – Remote ControllerRun Task or Workflow on a Remote Universal Controller.
UAC – UC ReportRun UC report and deliver output to a specified server and file location.

.

User Experience

Backlog

Title

Description

B-04103

Copy Groups Function

From the Administration Security Groups menu users now have a right click option to copy an existing Group definition to create a new Group definition.

The Group copy function allows the user to specify which elements of the existing Group are used to create the new Group. By default all of the exiting Groups elements are copied, during the copy the user can specify the new Group’s name and whether to exclude (not copy) Group Roles, Group Members, and or Group Permissions.

B-11475

Move Task Exit processing options to new section

For all applicable tasks the Exit and Result processing options have been move to a new Result Processing Details section of the task definition and instance forms.


B-12363

Change Task Instance Virtual Resource "Currently in Use By" Label to "Currently Using"

The previous label Currently in Use By was misleading, this has been replaced by Currently Using.

B-11863

Move “Copy of” to the end of object names as “ – Copy”

In order to keep objects created via the copy function next to the object being copied in the definition list views the suggested name has been changed from Copy of object to object - Copy.

Web Service API

Backlog

Title

Description

B-11428

Web Service API : List Audit Records

A new Web Service API has been introduced to allow users to Filter and List Universal Controller Audit records.

B-11429

Web Service API : List Tasks per Agent Name

The Web Service to List Task Definitions ‘resources/task/list’ now allows an Agent Name to be used as a query parameter in order to list Tasks that have a specific Agent in the Task Definition.

B-11407

Web Service API : Logs List and Download

A new Web Service API has been introduced to allow users to Filter and List Universal Controller Logs, as well as Download specific Logs as a zip file.

B-11878

Web Service API : Concurrent Request Limit

Administrators can implement application and user-level concurrent request limits to control how many web service API requests can be in progress at the same time via the following new Universal Controller system properties:

  • Web Service Application Concurrent Request Limit

  • Web Service User Concurrent Request Limit

B-11877

Web Service API : Resource/Load Limit

Administrators can specify a threshold for prohibiting access to the RESTful Web Service API based on a percentage of allocated memory in use via the following new Universal Controller system property:

  • Web Service Memory Utilization Threshold

B-05083

Web Service API - Create / Read / Update / Delete / List Bundle

A new Web Service APU has been introduced to allow users to List, Read, Create, Delete and Modify Bundle definitions.

B-12328

Web Service API : Trigger List new query parameters

Customers can use the API functions to List Triggers based on their Description and / or Referenced Tasks.

For example:

{

   "name": "*time*",
   "enabled": true,
   "type": "Time",
   "tasks": "Sleep 0, Sleep 60",
   "description": "manual1"
}

B-12484

Web Service API : Bundle Report

A new Web Service API has been introduced that returns the result of a “Bundle Report” against a specific Bundle.

Workload Analytics

Backlog

Title

Description

B-10814

Alerting Options for Projected End Time

If a customer has configured to allow critical path calculations, via the Critical Path Calculations Permitted system property, then a new feature to report on task instances that are projected to be late, or invoke an Action when a task instance is projected to be late, will be available. The Projected End Time for a given Task Instance is only Calculated for Tasks executed via Workflows that have the Calculate Critical Path option checked.

To indicate a task instance is projected to be late, a new read-only Projected Late field will be displayed under the Time Options section of the Task Instance form (all types), as shown below.

Only task instances with a Late Start Time, Late Start Duration, or Late Finish Time time option can be Projected Late, therefore, if such conditions are not specified, the Projected Late field will not appear on the Task Instance form.

Note

Late Finish Duration and Late Finish Average Duration time options are only applied from the time the task instance is started, and are concerned only with the specific instance running longer than the specified duration, relative to the start time.

Whether the task instance starts an hour late, or an hour early, based on predecessor and other dependencies, will have no impact on the task instance finishing late, and therefore, is not applicable with respect to late projections.

To configure an Action to be invoked when a task instance is projected to be late, a new On Projected Late criteria will be displayed under the Action Criteria section of the Action form (all types), as shown below.

B-03425

Task Instance "Launch Source" field

To allow for more granular information about how a Task Instance was launched a new Launch Source field has been introduced:

Launch Source (launch_source) - An enumeration of launch sources.

Scheduled Trigger

If the instance was directly launched by a scheduled trigger, the Trigger (trigger_id) column is assigned the UUID of the scheduled trigger.

Trigger Monitor

If the instance is a monitor associated with monitor trigger, the Trigger (trigger_id) column is assigned the UUID of the monitor trigger.

Trigger Now / User Interface

If the instance was directly launched by a Trigger Now command, the Trigger (trigger_id) column is assigned the UUID of the trigger.

Trigger Now / System Operation

If the instance was directly launched by a Trigger Now command, the Trigger (trigger_id) column is assigned the UUID of the trigger and the Source Instance (source_instance) column will be assigned the UUID of the instance invoking the System Operation.

Trigger Now / Web Service

If the instance was directly launched by a Trigger Now command, the Trigger (trigger_id) column is assigned the UUID of the trigger.

Trigger Now / Command Line

If the instance was directly launched by a Trigger Now command, the Trigger (trigger_id) column is assigned the UUID of the trigger.

Workflow

If the instance was launched by a workflow, the Workflow (workflow_id) column is assigned the UUID of the workflow instance.

Likewise, the Source Instance (source_instance) column will also be assigned the UUID of the workflow instance.

Launch Task / User Interface

If the instance was directly launched by the Launch Task command, the Source Instance (source_instance) column will be null.

Launch Task / System Operation

If the instance was directly launched by the Launch Task command, the Source Instance (source_instance) column will be assigned the UUID of the instance invoking the System Operation.

Launch Task / Web Service

If the instance was directly launched by the Launch Task command, the Source Instance (source_instance) column will be null.

Launch Task / Command Line

If the instance was directly launched by the Launch Task command, the Source Instance (source_instance) column will be null.

Recurring

If the instance was directly launched by a Recurring Task Instance, the Source Instance (source_instance) column will be assigned the UUID of the Recurring Task Instance.