What's new in adTempus 6
The following sections highlight new and changed features for adTempus version 6.
For a complete list of changes, refer to the release notes.
Backward-compatibility
You must use version 6 or later of the adTempus Console to connect to the server. Setup will upgrade the local instance by default; if you are managing the server using the Console installed on other computers you will need to upgrade those installations. The version 6 Console is backward-compatible with previous versions and can be used to manage older server installations.
If you are using Distributed Scheduling, you must update the Controller and all its Agents at the same time, as connections with an older version will fail. The order in which you upgrade the instances does not matter.
Breaking changes
Support for notifications using Jabber (XMPP) instant messaging was removed. If you are still using this capability let us know; we will be very surprised.
.NET scripting enhancements
The adTempus scripting system now supports .NET 10. Previously, scripts were limited to .NET Framework. To enable this feature you must install the .NET 10 runtime, which is not included with the installer. See the System Requirements for more information.
User scripts also now support async operations. Simply change your script to override RunAsync instead of Run to enable async capability.
PowerShell scripting enhancements
adTempus now supports PowerShell 7+ scripts (in addition to the previous support for Windows PowerShell). PowerShell must be installed separately; see the System Requirements for more information
PowerShell and Windows PowerShell scripts are now executed by the (Windows) PowerShell host (powershell.exe or pwsh.exe) rather than the adTempus script host, to ensure that scripts run within adTempus are using the same libraries, configuration, and versions as scripts run outside adTempus.
PowerShell module
A new PowerShell module supports many adTempus operations without requiring direct use of the API, including executing and terminating jobs and exporting and importing adTempus data.
Database Operation Task enhancements
The Database Operation Task now supports ODBC database connections. Previous versions supported only OLED database drivers.
When using the task to select data from a database, you can now save that data to a CSV file. Previous versions were only able to write the data to an XML file.
Web Request Task enhancements
The Web Request Task has been expanded from a simple page/file download into a general-purpose tool for calling Web services and APIs:
- Any HTTP method can be used, with query and body parameters, request headers, and a raw (JSON, XML, or text), form, JSON, or multipart body. File uploads are supported.
- Basic, Bearer token, and OAuth 2.0 client credentials authentication are supported in addition to Windows authentication
- The response can be stored in a Job Variable, response headers can be stored in Job Variables, values can be extracted into Job Variables using JSONPath or XPath, Job Variables can be created automatically from a JSON or XML response, and the response can be processed by a script
- A request can be imported from a curl command, copied as a curl command, and tested from the task properties window
Web Console improvements
The Web Console has been rewritten to run as a self-contained Windows service, running on the same computer as the adTempus server. It no longer requires manual installation in an IIS server. It is now included as an optional component in the adTempus installer rather than provided as a separate download.
Markdown support
Extended text fields such as Notes and Descriptions now support Markdown formatting. These fields now have a formatting toolbar and the capability to display a preview of rendered Markdown. This can be used instead of or in addition to the rich text (RTF) formatting already supported. The Text Formatting options in the General Server Options window determine which formats are available.
Exclusion Period enhancements
The File Trigger, Email Trigger, and Computer Monitor trigger can now be configured to not poll their targets during Exclusion Periods. Without this option, these triggers continue to poll during the Exclusion Period but job execution is deferred until the Exclusion Period ends. The new option allows you to use an Exclusion Period if, for example, there is a period when you know the mail server will not be available due to server or network considerations. Suppressing the triggers during the evaluation period allows you to avoid errors and other problems from failed triggers.
Cloud file provider enhancements
New providers supported for File Triggers and File Operation Tasks:
- SharePoint file libraries
- Google Cloud Storage
- Google Drive
For File Service Providers that use OAuth for authentication, adTempus now supports custom (user-created) application registrations instead of using the public applications created by Arcana Development. This allows OAuth authentication to be used in scenarios where organization policies prevent use of a public application registration.
Additional configuration options for email servers using OAuth
- Support added for using OAuth authentication with Google mail
- For Messaging Service Providers that use OAuth for authentication, adTempus now supports custom (user-created) application registrations instead of using the public applications created by Arcana Development. This allows OAuth authentication to be used in scenarios where organization policies prevent use of a public application registration.
- adTempus currently provides built-in configuration for connecting to Microsoft and Google mail servers using OAuth. New settings in the Messaging Service Provider allow the use of OAuth with other mail servers for which adTempus does not have built-in configuration.
Completed with Errors and Completed with Warnings response events
Version 5.1 introduced the Completed with Errors and Completed with Warnings job statuses but did not add new events to allow Responses to be triggered by these states. This version adds new events, along with options to determine whether these states should also trigger Responses that use the Job Succeeded or Job Failed events.
Trigger error handling improvements
adTempus has been enhanced to more effectively report problems with triggers (such as configuration problems, connection problems, login problems, etc.)
- The number of scenarios in which a trigger is disabled (forcing a manual requeueing of the job) have been reduced.
- When problems occur, a warning message is now reported in the Trigger Status for the job, and the job status is set to the new value of "Trigger Warning."
- For more severe problems, or when a warning condition goes unresolved after several retries, adTempus now writes an error Alert to the Job Log for the job (appears in the job history and in the Alerts view in the Console) and sets the job status to the new value of "Trigger Error." Additionally, a new "Trigger Error" Response Event now allows notification responses to be triggered to inform operators of the problem.
- When a problem prevents adTempus from continuing to evaluate the trigger, the previous behavior still applies: trigger is disabled, an error Alert is written tot he Job Log, and the "Trigger Failed" Response Event is fired.
- Email triggers now retry transient errors such as network problems and temporarily unavailable mailboxes. Trigger status and error conditions are reported more clearly, and common problems no longer cause the trigger to be disabled (requiring manual re-queueing of the job).
Trigger script improvements
Functionality has been improved for user scripts used to evaluate trigger conditions. Trigger selection scripts can now call the ReportProcessingFailure method to report script processing errors that should be communicated to the user or cause the script to be temporarily disabled, but that should not cause the trigger to be disabled until it is manually re-enabled, as is the case if a script throws an exception.
Note: Existing evaluation scripts for Email Triggers derive from base class EmailProcessingScriptBase. These need to be changed to derive from new EmailTriggerScriptBase class to gain access to this new method. Scripts do not need to be modified if they do not need to use this method.
A new server-level option ("JobManager:FailedTriggerScriptSuspensionTime") has been added to allow override of the trigger suspension time when triggers do fail with an exception. This can be used to set a temporary suspension rather than the default behavior of waiting until the trigger is manually re-enabled.
Email processing performance improvements
Due to inefficient processing, processing mailboxes with many thousands of messages previously took a long time to complete on each processing pass. Message filtering has been greatly improved to eliminate this performance issue.
Other enhancements
- A new Send keepalive commands option was added to the settings for FTP servers. This option can be used to prevent firewalls or routers from dropping control session connections during a long file transfer, which causes the transfer to fail with a timeout error.
- Export and import have been improved to better handle large amounts of data.
- Security Logins and Roles are now listed in the Export window, allowing you to export them explicitly. Previously logins and roles were only exported if they were linked to other objects being exported.
- The Alerts and Message Log Query Views have been updated to include the Group name and Queue name as optional columns (right-click a column heading for a list of available columns to display). "Go to Job" and "Edit Job" commands have been added to the context (right-click) menu in these views.
- The Job Properties window now shows the name of the Group the job belongs to.
- For File Triggers, adTempus stores data about what files have previously been seen by each trigger so that the state of the trigger can be restored after a restart of adTempus. This data was previously stored on disk, which prevented restoring the state when failing over to a backup instance, potentially resulting in missed or duplicate triggers. State data will now be stored in the database instead to avoid this problem. In situations where file triggers are monitoring targets with very large numbers of files, this state data can grow very large. In such cases, and where state preservation during failover is not needed, it may be desirable to revert to the previous behavior. This can be done by setting the advanced server option "FileTrigger:SaveStateToDatabase" to "false".
- Performance and database improvements to reduce database deadlocks.
- The Preserve timestamp on download option has been added to cloud storage providers (it was previously available on FTP and SFTP providers). This option will default to selected for all new cloud storage providers but will not be turned on for existing providers, to ensure backward compatibility. The setting is configured on the Options page of the file service provider properties window.
- The Preserve timestamp on download option has also been added to the File Transfer Task so it can be applied to individual tasks even if it is not enabled for the provider.
- New context menu commands allow Job Variables to be moved from the job level to the step level and vice versa.